Jeremy Soller
229a5de6ff
Remove INIT_THREAD
2025-09-19 20:30:26 -06:00
bjorn3
30bbafdfa4
Use the object crate for panic backtraces
...
This increases the kernel image size by about 16kb, but in return
significantly simplifies things.
2025-09-13 21:34:02 +02:00
bjorn3
5a6117b5ae
Replace the log crate with a custom logging system
...
This avoids the need to explicitly set a logger early during boot, which
reduces the amount of moving parts that could go wrong slightly. And it
cuts the kernel image size by 13kb.
2025-09-13 18:55:16 +02:00
bjorn3
786c9eabcb
Share print! and println! between architectures
2025-09-10 18:40:30 +02:00
bjorn3
35a0f2d440
Remove usage of array_chunks
...
It has been removed in newer rustc versions
2025-09-10 18:00:02 +02:00
Elle Rhumsaa
cec902e6be
main: refactor unsafe block for C offsets
...
Uses the `&raw const` syntax to convert the pointer location of static
offsets from C.
2025-09-10 14:55:36 +00:00
bjorn3
fe1c2f460e
Fix a bunch of errors and warnings after moving to the 2024 edition
2025-09-10 16:44:36 +02:00
bjorn3
cea93f7647
cargo fix --edition & rustfmt
...
Or to be precise:
RUST_TARGET_PATH=$(pwd)/targets cargo fix --edition \
--target targets/x86_64-unknown-kernel.json \
--target targets/i686-unknown-kernel.json \
--target targets/aarch64-unknown-kernel.json \
--target targets/riscv64-unknown-kernel.json \
-Zbuild-std=core,alloc --allow-dirty --bin kernel
cargo fmt
2025-09-10 16:44:36 +02:00
bjorn3
e42fc3811f
Fix compiling with profiling feature enabled
2025-09-07 13:20:19 +02:00
bjorn3
b5822ac118
Mostly use cfg!() rather than #[cfg] for controlling sys_stat
...
This only adds 48 bytes overhead per cpu core in the PerCpuBlock struct.
Also fixes compilation with sys_stat enabled on x86_64.
2025-09-07 12:27:04 +02:00
bjorn3
869a664172
Remove allow(unexpected_cfgs)
2025-09-06 17:06:31 +02:00
bjorn3
e77257bb6e
Remove unused core_intrinsics feature gate
2025-06-28 19:37:56 +02:00
4lDO2
1e3e961b78
Simplify context debug names.
2025-04-19 16:30:49 +02:00
4lDO2
2e6122bc7e
Allow procmgr to recognize unhandled exceptions.
2025-04-19 16:30:48 +02:00
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