Jeremy Soller
b6a5245556
Require passing loopback test for hard-coded serial
2025-09-23 11:33:37 -06:00
bjorn3
3a47c3becc
Move most HPET logs to the trace log level
...
This significantly reduces the amount of boot logs produced by the
kernel by default on x86. With this the full kernel boot logs now fit on
a single screen on my system.
2025-09-20 15:21:54 +02:00
bjorn3
4884d749af
Make PercpuBlock const constructable
2025-09-15 19:00:03 +02:00
bjorn3
711ea9a4ed
Move system76_ec::init() into serial::init()
2025-09-13 18:55:16 +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
6ae6f571c7
Use cfg!() rather than #[cfg] for configuring lpss_debug
2025-09-12 19:36:17 +02:00
bjorn3
92e5397efa
Introduce SerialKind::NotPresent
2025-09-12 19:36:17 +02:00
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
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
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
1864f12913
Make the HPET debug logs more compact
2025-06-28 19:37:56 +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
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
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
Jeremy Soller
8f09b4aa06
Do not use HPET on i686
2024-03-19 20:44:47 -06:00
4lDO2
3a592b9079
Use regular non-NMI IPIs for TLB shootdown.
2024-03-04 19:03:00 +01:00
4lDO2
b5efaceb51
Fix more synchronization.
2024-03-04 19:03:00 +01:00
bjorn3
f92b4c9608
Unify cpuid between x86 and x86_64 and don't return an Option
...
Systems without cpuid support aren't supported anyway.
2024-02-25 15:07:31 +01:00
Jeremy Soller
39c20720ee
Fix compilation on x86_64
2024-02-16 22:05:57 -07:00
Jeremy Soller
e4eb4031bd
Fix APIC offsets for x86 32-bit
2024-02-16 22:02:47 -07:00
Jeremy Soller
6c6fc18f8e
Format
2024-02-16 21:40:42 -07:00
bjorn3
785975089b
Dedup the last remaining piece of code in the driver module between x86 and x86_64
2024-01-25 13:34:04 +00:00
bjorn3
0d86348e41
Dedup the apic code between x86 and x86_64
2024-01-25 13:34:04 +00:00
bjorn3
0d092d7921
Dedup code for most x86 and x86_64 device drivers
2024-01-25 13:34:04 +00:00