4lDO2
d498eefb2f
Disable userspace feature in redox-syscall.
...
This prevents the kernel from being able to accidentally call itself
using the syscall instruction.
2024-09-17 19:24:26 +02:00
4lDO2
97ea7ea6ec
Disable syscall debug
2024-09-12 10:29:11 +02:00
4lDO2
e3e05ebca8
Fix root scheme order by using indexmap (tmp).
2024-09-11 22:09:29 +02:00
4lDO2
339271b4d7
Add getdents syscall, and switch schemes to it.
2024-09-11 22:09:26 +02:00
4lDO2
9673fa26b6
Expand Cargo features to separate lines.
...
This is much more diff- and by extension rebase-friendly.
2024-09-08 00:09:49 +02:00
Jacob Lorentzon
643d7400db
Implement paravirtualized KVM TSC support
2024-09-03 21:20:06 +00:00
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