Jacob Lorentzon
bf0fc66ac1
Improved scheme protocol.
2024-06-14 11:31:51 +00:00
4lDO2
66eb3361d3
Use saved regs instead of costly context.syscall.
2024-03-19 11:33:55 +01:00
bjorn3
e1f4bf4356
Misc arm device tree fixes
2024-03-17 19:28:58 +01:00
4lDO2
5ff26ca967
Remove paste dependency completely.
2024-03-16 17:49:31 +01:00
bjorn3
d5e1188b8e
Remove doc feature
2024-03-15 09:55:27 +01:00
4lDO2
fa3e2a24d4
Optimize TLB flushing.
2024-03-04 19:03:01 +01:00
4lDO2
79381249a2
Implement a TLB shootdown draft.
2024-03-04 19:03:00 +01:00
bjorn3
782ec87f27
Fix UB in the locking code of context switching
...
The spin crate considers it UB to call force_write_unlock while there is
a threads trying to obtain a read lock on the same rwlock.
This also switches to the spinning_lot crate for the context rwlock as
it has support for a write guard keeping a reference to the rwlock using
an Arc instead of a reference.
2024-02-25 17:07:41 +01:00
Ron Williams
9331452bdb
Use RedoxPath::as_parts. redox-path from crates.io
2024-02-09 15:05:45 +00:00
bjorn3
fa58f5887e
The kernel now works fine without optimizations
...
It is relatively slow without optimizations, but it is still usable.
2024-01-24 14:15:09 +01:00
Jeremy Soller
87ee68998c
Handle new path format
2024-01-18 12:35:32 -07:00
4lDO2
529c491fa0
Allow disabling profiling at compile time.
2023-12-17 00:49:28 +01:00
bjorn3
2d065083df
Use HashMap instead of BTreeMap where possible
...
This shrinks the kernel from 905840 bytes to 862408 bytes.
2023-12-13 19:55:20 +01:00
bjorn3
a7165f822f
Switch from the memoffset crate to the offset_of feature
...
The memoffset crate requires const_refs_to_cell to work in const
contexts. This feature has some known issues around it's semantics. The
offset_of feature however is currently on track for stabilization.
2023-12-12 20:21:31 +00:00
bjorn3
d819277d56
Make rustc directly invoke the linker
2023-10-03 09:53:37 +02:00
bjorn3
b9299224ea
Move debuginfo option to Cargo.toml
2023-10-03 09:39:14 +02:00
4lDO2
ed3d2d7832
Allow disabling overwrite-based optimizations.
2023-09-14 16:44:12 +02:00
4lDO2
f028b77412
Use config.toml instead of x86_* Cargo feature.
2023-09-12 21:19:06 +02:00
4lDO2
c210e59a75
Add a config.toml to the kernel.
2023-09-12 21:13:58 +02:00
Jeremy Soller
a4d0960b3f
Update redox syscall
2023-09-08 11:16:53 -06:00
4lDO2
56f88e80c2
Usercopy migration
2023-07-06 13:03:21 +00:00
bjorn3
8c0be73224
Build the kernel with panic=abort
...
This reduces the kernel size and avoids the need to define the
eh_personality lang item.
2023-07-04 19:14:36 +02:00
Jeremy Soller
07ed93225e
0.3.4: Update syscall to matching version
2022-08-31 16:15:25 -06:00
Jeremy Soller
bb12da2b68
Update syscall
2022-08-24 08:53:37 -06:00
Jeremy Soller
cc6c974c91
Bump kernel to 0.3.0 to match syscall
2022-07-29 18:18:27 -06:00
Jeremy Soller
e99cbcf5d2
Fixes for compiling aarch64
2022-07-29 18:06:53 -06:00
Jeremy Soller
8db4596f73
Use x86 crate on i686 as well
2022-07-28 08:22:26 -06:00
4lDO2
1cdd462244
Move the initfs scheme to userspace.
2022-07-27 10:52:22 +02:00
4lDO2
6e5015dcab
WIP: Add necessary interfaces for setuid/setgid.
2022-07-27 10:51:45 +02:00
4lDO2
15b029de36
Fix everything all the way to booting to desktop.
2022-07-27 10:51:45 +02:00
Jeremy Soller
65bbd50416
Update kernel version to match syscall version
2022-04-26 08:28:05 -06:00
Jeremy Soller
6f83a0800a
Set graphical_debug by default
2022-04-25 08:47:10 -06:00
4lDO2
df37b1f634
External initfs
2022-04-11 21:09:08 +00:00
4lDO2
6255bea143
Update to latest toolchain.
...
Multi-core is slightly broken when using the latest version of spin
(0.9.2). I believe this is because Once used to do SeqCst loads/stores
everywhere, which might have made any possible data race much harder to
come by.
2022-03-12 17:10:36 +01:00
Jeremy Soller
ae3bdea4bc
Update raw-cpuid
2022-03-01 18:12:06 -07:00
Jeremy Soller
1aae949fc4
Support for getting live disk from bootloader
2022-02-10 15:49:34 -07:00
Jeremy Soller
61279db991
Remove no_threaded_syscalls feature
2021-10-27 20:48:16 -06:00
Jeremy Soller
9ea278997c
Disable threaded syscalls until threaded allocation issues are solved
2021-10-20 20:05:47 -06:00
4lDO2
d7a1c6255b
Fix possible race condition in paranoid ISRs.
...
Additionally, because it turned out to be infeasible to rely on
link-time constants in global_asm! code, I have also converted the
interrupt handlers to naked fns. This removes the proc-macro-reliant
"paste" dependency, but inserts a tiny ud2 at the end of every ISR.
2021-08-06 17:34:56 +02:00
4lDO2
0968e4f87e
Support fsgsbase at compile time.
2021-07-31 10:12:59 +02:00
4lDO2
3e5cf387d5
Use offset_of! in context::arch::switch_to.
...
This is definitely better than hardcoding the offsets!
2021-06-21 10:16:41 +02:00
4lDO2
1cf5f5ea22
Update dependencies to work with latest nightly.
2021-06-17 22:42:54 +02:00
4lDO2
2dc899dc3b
Update paste and align interrupt handlers.
2021-06-17 22:42:50 +02:00
Jeremy Soller
28d1d7e847
Update version to 0.2.8
2021-05-05 21:21:57 -06:00
Jeremy Soller
11a3315255
Re-enable acpi feature and gate it for x86_64 only
2021-05-04 08:33:00 -06:00
Jeremy Soller
d331f72f2a
Use UTF-8 for all paths
2021-04-28 20:06:07 -06:00
Robin Randhawa
02c37d3fae
WIP: aarch64 rebase
2021-01-15 05:54:42 -07:00
Jeremy Soller
ccddabadf7
Make x86 specific dependencies, x86 specific
2021-01-09 20:12:59 -07:00
Jeremy Soller
f5ac405db6
Support for RMM
2020-11-27 16:49:39 +00:00
Wren Turkal
03e60f7da6
Add log crate and add a generic logger.
...
This is the first step of integrating the log crate as the main way to
log messages from the kernel.
Also, reexport all log macros. This module should eventually be the
only logging API used in the kernel.
Signed-off-by: Wren Turkal <wt@penguintechs.org >
2020-08-08 20:48:41 -07:00