4lDO2
f40ec48b3e
Send event on thread death.
2025-04-19 16:30:46 +02:00
4lDO2
a78d36f7f2
Reach init in userspace.
2025-04-19 16:30:46 +02:00
4lDO2
8883818501
Make kernel compile.
2025-04-19 16:30:45 +02:00
4lDO2
1d5f8fd46d
Move proc code to userspace.
2025-04-19 16:30:42 +02:00
Vincent Berthier
2da88c18c0
Add the sys:stat scheme
2025-02-22 14:27:10 +00:00
4lDO2
f044ffb03b
Remove stable #![feature] and most x86_64 static mut.
2025-02-21 14:16:58 +01:00
Andrey Turkin
7db6667e6b
Better parsing of IRQ specifications in DTB
...
Fixes Raspberry 3B+ DTB parsing (as generated by Qemu)
2024-12-18 21:11:46 +03:00
Andrey Turkin
7b1d135057
Use redoxer for CI jobs
2024-11-01 06:51:13 +03:00
Jeremy Soller
4dd6a26742
Make it possible to compile acpi system on any arch
2024-10-30 11:43:21 -06:00
Andrey Turkin
1921c6814b
Initial RISC-V implementation
...
Has no IRQ handling yet
2024-10-20 16:24:21 +03:00
Andrey Turkin
55041e2eeb
Use a custom config flag to conditionally compile DTB-specific areas
...
Would be great if we could use a feature instead, but Cargo can't do target-specific defaults features
2024-10-19 21:03:43 +03:00
Andrey Turkin
0a6a90415a
Refactor initial memory paging
2024-10-19 08:44:46 +03:00
4lDO2
8d4ee26ff1
Fix profiling && + toggle support via debug scheme.
2024-10-07 10:20:51 +02:00
Andrey Turkin
14eb140f7a
Refactor panic stack walking
2024-09-26 19:22:21 +03:00
4lDO2
539dc5a24e
Remove SYS_UMASK.
2024-09-25 19:55:39 +02:00
4lDO2
54b1fbe453
Implement queued signals.
...
This currently needs to be done in the kernel for synchronization
reasons, but it's possible all delivery parts can later be moved to
userspace.
2024-09-24 19:18:22 +02:00
4lDO2
ef499f81fc
Support compiling for host, allowing unit tests.
2024-09-17 19:24:23 +02:00
4lDO2
97f60de4ef
WIP: Add getdents opaque_id
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
Andrey Turkin
d2ebc7ff05
Wholesale fix of warnings
...
Pretty straightforward changes. This commit tries to avoid making any non-trivial fixes.
2024-09-04 10:55:01 +03:00
4lDO2
80fe891c6e
WIP: Replace ContextId with direct Arcs.
2024-07-15 18:08:42 +02:00
4lDO2
89d532a267
Fix half of proc scheme errors.
2024-07-15 18:08:42 +02:00
4lDO2
8f452b0b0f
WIP: continue the process transition
2024-07-15 18:08:41 +02:00
4lDO2
0da2fce64a
Separate context and process IDs.
2024-07-15 18:08:41 +02:00
4lDO2
d94baa2712
Run rustfmt.
2024-07-15 17:50:18 +02:00
4lDO2
5e7db80285
Fix a bunch of warnings.
2024-07-15 17:48:45 +02:00
4lDO2
ae8e13525f
Remove is_pending flag, read word directly instead.
2024-07-15 17:20:57 +02:00
4lDO2
7d5b2e6c21
Prevent infinite userspace crash loops.
2024-07-15 17:20:55 +02:00
4lDO2
639ba74a7e
Fix kernel compilation.
2024-07-15 17:20:55 +02:00
4lDO2
295cc820e6
WIP: userspace signal handling
2024-07-15 17:20:55 +02:00
Jacob Lorentzon
bf0fc66ac1
Improved scheme protocol.
2024-06-14 11:31:51 +00:00
Jeremy Soller
3ad6427e28
Disable AP if it has the same ID as BSP
2024-04-13 10:01:36 -06:00
4lDO2
66eb3361d3
Use saved regs instead of costly context.syscall.
2024-03-19 11:33:55 +01:00
4lDO2
4a3dc2dadd
Fix the SIGKILL fd leak bug.
2024-03-16 17:49:32 +01:00
4lDO2
8e19da338b
Fix kstop and kreset.
2024-03-16 17:49:31 +01:00
4lDO2
776a140212
Fix rax being overwritten, and compile on i686.
2024-03-16 17:49:31 +01:00
4lDO2
239bd317e9
Fix signal ordering wrt syscall return.
2024-03-16 17:49:31 +01:00
4lDO2
5336cbd9e5
Improve signal interfaces and implementation.
2024-03-16 17:49:30 +01:00
bjorn3
d5e1188b8e
Remove doc feature
2024-03-15 09:55:27 +01:00
bjorn3
ecbc2b7e8d
Directly read the bootstrap entry point from the initfs header
2024-03-11 14:26:08 +01:00
4lDO2
0c6c857012
Improve LogicalCpu{Id,Set}, make set atomic.
...
Technically there should be an atomic and nonatomic set type, but perf
should be the same, as the nonatomic one would only be used when setting
the sched_affinity.
2024-03-04 19:02:56 +01:00
Jeremy Soller
45f1c4e29e
Add rustfmt from relibc and apply it with cargo fmt
2024-01-17 13:52:01 -07:00
4lDO2
529c491fa0
Allow disabling profiling at compile time.
2023-12-17 00:49:28 +01:00
4lDO2
fac0e783ef
Refactor profiling code.
2023-12-17 00:49:28 +01:00
4lDO2
14abf0cbc6
Exclude kmain from profile.
2023-12-17 00:49:27 +01:00
4lDO2
f973bc4128
Profiling
2023-12-17 00:49:24 +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
4lDO2
f6002e839d
Centralize global scheme constructors.
2023-12-13 11:08:11 +01:00
4lDO2
10e86ea89d
Hardcode global scheme IDs.
2023-12-13 11:08:11 +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