auronandace
28ba26cc2b
move lints to Cargo.toml file
2026-02-20 15:59:27 +00:00
Anhad Singh
fc60dcced0
misc(main): add feature btree_cursors
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-21 00:59:24 +11:00
bjorn3
858b712df5
Use naked_asm!() instead of global_asm!() where possible
2026-02-09 22:28:38 +01:00
bjorn3
2f8a3b3d67
Remove unused SchemeNamespace type
2026-02-06 22:05:42 +01:00
bjorn3
f334e760bb
Remove ens field from Context
...
It is no longer used due to the capability rework.
2026-02-06 22:00:18 +01:00
Pascal Reich
a919d2626b
Inline Documentation Fixes
2026-01-10 16:19:34 -07:00
bjorn3
62a572a0f0
Use compiler-builtins for the memcpy family of functions
2025-12-14 16:38:04 +01:00
Jeremy Soller
27465b6132
Make CPU announcements debug level
2025-11-23 07:41:09 -07:00
Jeremy Soller
91b835d29f
Reduce logging significantly
2025-11-01 20:24:11 -06:00
bjorn3
65273ea898
Replace all Arc::try_new with Arc::new
...
The global allocator panics when out of memory rather than returning an
errors. In addition there are plenty of other places where we don't
handle allocation failure anyway. At some point in the future we should
systematically handle out of memory conditions, but until then let's not
pretend we do and get rid of the usage of the unstable allocator_api
feature that is unlikely to get stabilized any time soon.
2025-10-26 12:44:52 -06:00
bjorn3
0f7b16d89d
Partially use cfg!() rather than #[cfg] for controlling the profiling module
...
This only adds a pointer worth of overhead per cpu core in the
PerCpuBlock struct.
Also fix a bunch of unsafe_op_in_unsafe_fn warnings in the profiling
code.
2025-10-26 18:27:29 +01:00
bjorn3
3652b693ba
Remove usage of iterator_try_collect
2025-10-25 11:34:55 -06:00
bjorn3
164c890830
Remove thread_local feature gate
...
We use the PerCpuBlock instead of ELF TLS
2025-10-25 11:34:55 -06:00
bjorn3
cb718f767a
Remove a bunch of unused __*_start/end symbols
2025-10-25 19:20:01 +02:00
Speedy_Lex
0931a7f49f
Resolve a huge portion of the clippy lints
2025-10-06 06:30:23 -06:00
Speedy_Lex
d38002969c
Fixes for rust update
2025-10-04 00:55:26 +02:00
Jeremy Soller
5dc6f7c3ba
lock ordering
2025-09-22 07:48:48 -06:00
bjorn3
3db8bf878e
Remove workaround for Meteor Lake having an AP with hardware cpu id 0
2025-09-20 15:33:08 +02:00
bjorn3
f58bcd584e
Separate logical and hardware cpu ids
2025-09-20 15:33:08 +02:00
bjorn3
99b626845d
Cleanup after removing INIT_THREAD
2025-09-20 15:21:38 +02:00
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