R Aadarsh
bfbbec47a9
Create seperate free lists for each NUMA memory regions
2026-07-08 21:33:02 +05:30
R Aadarsh
4106dcbbfa
Gate behind a feature flag
2026-06-21 14:03:49 +05:30
R Aadarsh
63d1171ffb
Initial commit
2026-06-21 14:03:49 +05:30
bjorn3
91ab8301f2
Fix warnings after updating rustc
...
Couple of features got stabilized, cpuid was made safe and there is a
new lint for function item to integer casts.
2026-05-27 20:53:10 +02:00
bjorn3
2405a7ebb3
Move kmain and kmain_ap to startup/mod.rs
2026-04-12 18:41:00 +02:00
bjorn3
572bb4ce1f
Avoid re-exporting arch specific modules in the crate root
2026-04-12 18:25:52 +02:00
bjorn3
2e784dfe46
Remove unused feature gate
2026-04-09 15:23:34 -06:00
Speedy_Lex
ee1260363c
Fix many clippy lints
2026-04-08 19:40:41 +01:00
bjorn3
b7456d5bcc
Avoid PHYS_OFFSET in dtb/serial.rs
2026-04-04 21:53:34 +02:00
bjorn3
bbb9d98570
Unconditionally compile part of the DTB code
2026-04-04 14:01:19 +02:00
bjorn3
f339467372
Remove dead_code lint allow for ACPI
2026-04-04 13:50:48 +02:00
bjorn3
62f220b1b9
Use cfg! rather than #[cfg] for ACPI enabling
2026-04-04 13:49:07 +02:00
bjorn3
3cbce1b9ac
Move BSP_READY and AP_READY to platform-independent code
2026-04-02 20:29:36 +02:00
bjorn3
49eb21ce0e
Use KERNEL_OFFSET from linker script
2026-04-02 20:29:36 +02:00
bjorn3
980f1c6af8
Remove unused and deduplicate identical arch specific consts
2026-04-02 20:29:36 +02:00
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