bjorn3
8aa08e1e3d
Unconditionally enable serial_debug on arm64 and riscv64
2025-09-12 18:59:48 +02:00
bjorn3
520453f779
Move x86 serial port assignment to the init function
2025-09-12 18:46:11 +02:00
bjorn3
31cbb3b361
Remove duplicate serial port initialization on x86
2025-09-12 18:41:42 +02:00
bjorn3
7a4dd1a1a9
Use SerialKind on x86
2025-09-12 18:40:21 +02:00
bjorn3
f0eea47896
Fix compilation with lpss_debug feature enabled
2025-09-12 18:33:16 +02:00
bjorn3
f9a4178898
Always enable graphical_debug
...
We already gracefully handle a missing framebuffer.
2025-09-11 21:41:30 +02:00
bjorn3
38188b0640
Expand a macro invocation
2025-09-10 18:45:13 +02:00
bjorn3
1268472103
Move arch::x86_64::cpuid into arch::x86_shared::cpuid
2025-09-10 18:35:36 +02:00
bjorn3
ad6c6c5e41
Share external interrupt handlers between x86 and x86_64
2025-09-10 18:31:28 +02:00
bjorn3
5e6d681fcb
Share exception interrupt handlers between x86 and x86_64
2025-09-10 18:25:22 +02:00
bjorn3
a3700fa446
Remove the unsafe block from the inner function in interrupt!()
2025-09-10 18:00:02 +02: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
f05be85966
Use cfg!() rather than #[cfg] for controlling multi_core
2025-09-07 12:02:16 +02:00
Wildan Mubarok
1ff46c8482
Fix Linter CI
2025-08-04 06:34:31 -06:00
Jeremy Soller
af7591bc26
Clarify vector number in IPI
2025-08-03 20:56:18 -06:00
Jeremy Soller
5d06ad4e6a
Ensure that APIC ID is uses for all IPIs, enable multi_core feature
2025-08-03 20:53:58 -06:00
bjorn3
751803553f
Unify paging between x86 and x86_64
2025-06-28 20:09:16 +02:00
bjorn3
ba66388ca7
Unify rmm.rs between x86 and x86_64
2025-06-28 20:03:06 +02:00
bjorn3
219dedda32
Unify start.rs between x86 and x86_64
2025-06-28 19:57:52 +02:00
bjorn3
1864f12913
Make the HPET debug logs more compact
2025-06-28 19:37:56 +02:00
Jeremy Soller
0140e2a382
Fix compilation of emergency_stop on x86
2025-04-11 20:55:56 -06:00
4lDO2
92fcb4472b
Use more reliable triple fault for emerg..._reset.
2025-03-31 14:58:05 +02:00
4lDO2
3ae117b812
Outsource x86 RTC handling to rtcd.
2025-03-30 15:28:25 +02:00
bjorn3
23fd308745
Reduce verbosity of debug logs during booting
...
A bunch of things are now printed a bit more compactly or without
interleaving of logs on a single line. Also a bunch of not that useful
logs are no longer printed by default at all.
2025-03-15 20:52:06 +01:00
4lDO2
f044ffb03b
Remove stable #![feature] and most x86_64 static mut.
2025-02-21 14:16:58 +01:00
Andrey Turkin
9fe8f759af
Fix formatting and a warning
2024-11-06 12:13:13 +03:00
Jeremy Soller
99fbdf426c
Fix assumption that CPU ID must equal APIC ID
2024-11-04 14:46:46 -07:00
Jeremy Soller
4db9673e2a
Support SPCR and clean up device memory allocation
2024-10-31 10:53:58 -06:00
IncompententPirate
fc5d246b30
remove wrapper functions
2024-09-26 22:34:55 +00:00
Andrey Turkin
14eb140f7a
Refactor panic stack walking
2024-09-26 19:22:21 +03:00
Andrey Turkin
755694494b
Factor KernelMapper out of arch
...
Same implementation on all the platforms. Also remove mutable Deref as it allowed circumventing RO check
2024-09-25 21:51:39 +03:00
Kamil Koczurek
548fd63264
tsc: calculate elapsed ticks using saturating_sub
...
RDTSC readouts might not actually be monotonically increasing due to
desynchronization between CPU cores, so checked_sub was causing a kernel
panic.
2024-09-10 14:16:38 +02:00
4lDO2
652cdc7ef2
Replace repr(packed) with repr(C, packed).
2024-09-08 20:56:50 +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
Jacob Lorentzon
643d7400db
Implement paravirtualized KVM TSC support
2024-09-03 21:20:06 +00:00
bjorn3
8f186a692f
Allow writing messages to debug: without preserving them in sys:log
...
This would allow logd to write all received log messages to debug:
without causing an infinite loop when it at the same time reads all
messages in sys:log.
2024-07-25 12:49:43 +02:00
bjorn3
dc36d18812
Remove unnecessary discard of return value in debug::Writer
2024-07-22 14:15:20 +02:00
4lDO2
d94baa2712
Run rustfmt.
2024-07-15 17:50:18 +02:00
4lDO2
f3532f4549
Fix static mut ref warnings.
2024-07-15 17:48:46 +02:00
4lDO2
5e7db80285
Fix a bunch of warnings.
2024-07-15 17:48:45 +02:00
Jeremy Soller
5b5b2dbc97
Debug messages during device init
2024-04-13 09:34:00 -06:00
4lDO2
9253e16240
Fix kernel stack sizes, other arches.
2024-03-25 16:29:07 +01:00
4lDO2
b5523df187
Only support power-of-two frame allocations.
2024-03-24 14:40:15 +01:00
4lDO2
1b3e024f7d
Fix profiling code.
2024-03-23 15:52:18 +01:00
4lDO2
0e8c187a50
WIP: Implement more of deallocate_p2frame.
2024-03-22 13:21:52 +01:00
Jeremy Soller
8f09b4aa06
Do not use HPET on i686
2024-03-19 20:44:47 -06:00
4lDO2
4862977fa5
Optimize syscall fast path without tracing.
2024-03-18 20:38:11 +01:00
4lDO2
8e19da338b
Fix kstop and kreset.
2024-03-16 17:49:31 +01:00
4lDO2
1f8d7bc67c
Always check shootdown reqs when locking addrsp.
2024-03-04 19:03:01 +01:00