Finding 2 (putc/getc) fixed via shim.c backfill (previous commit). With both Finding 1 (-U_FORTIFY_SOURCE) and Finding 2 fixed, amd64 links clean at -O2 -- rigorously confirmed zero new warnings by diffing normalized warning text between -O0 and -O2 builds (empty diff, ~3040 pre-existing warnings in vendored code unchanged). New Finding 3, not fixed, now blocking: amd64 boot stalls for minutes inside calibrate_tsc_with_pmtimer() (timer.c:560-589) at -O2 -- a mainline busy-wait loop reading the ACPI PM Timer via genuinely-volatile inl() until 1000 real ticks elapse, bounded by a 5M-iteration timeout. A one-shot diagnostic probe (reverted after capture) caught exactly one checkpoint in 55 seconds of observation, then nothing -- not yet root-caused whether this is the 5M-iteration timeout itself taking several minutes to exhaust under -O2, or a genuine non-terminating condition. Makefile.starkernel reverted to -O0 again; nothing broken landed in history. Routine artifacts from this session's boot attempts included. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
StarKernel UEFI Loader
Loading kernel from ESP...
[CKPT 001] Entered efi_main - ConOut live
RAW SERIAL UP
[CKPT 002] Serial (COM1) initialized
Monolithic build - kernel linked directly
Collecting boot information...
CmdLine: parsed OK
[CKPT 004] Command line parsed
[CKPT 005] Kernel stack allocation decided
[CKPT 006] Boot info collected (ACPI table located)
GOP: linear framebuffer found
[CKPT 007] GOP: linear framebuffer found
[CKPT 008] About to enter ExitBootServices retry loop
EBS...
EBS OK
Calling kernel_main (monolithic)...
_____ _ _ __ _
/ ____| | | |/ / | |
| (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| |
\___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ |
____) | || (_| | | | . \ __/ | | | | | __/ |
|_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_|
LithosAnanke v1.5.4
Architecture: amd64
Build: Aug 11 2026 11:04:10
UEFI BootServices: EXITED
=== StarKernel Boot Information ===
Memory map entries: 117
Total memory: 1023 MB
Usable memory: 967 MB
===================================
PMM initialized.
PMM statistics:
Total pages: 248988
Free pages : 247465
Used pages : 1523
Total MB : 972
Free MB : 966
Used MB : 5
VMM initialized (mapped RAM, CR3 switched)
VMM initialized (mapped RAM, CR3 switched)
VMM self-test: mapped OK at 0xffff800000000000
VMM self-test complete.
IDT installed.
APIC: init...
APIC: IA32_APIC_BASE MSR=0x00000000fee00900
APIC: stale-ISR drain: 0 EOI(s) issued
APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear)
APIC: init done
I/O APIC: init...
I/O APIC: base=0xfec00000, gsi_base=0, overrides=5
override: source=00 gsi=2 flags=0x0000
override: source=05 gsi=5 flags=0x000d
override: source=09 gsi=9 flags=0x000d
override: source=0a gsi=10 flags=0x000d
override: source=0b gsi=11 flags=0x000d
i8042: keyboard ACKed enable-scanning
i8042: IRQ1 enabled in controller config byte
I/O APIC: keyboard IRQ1 routed (masked)
Timer: init...
Timer: init start
Timer: PM_TMR_BLK discovered from FADT at port 1544
Timer: VM mode detected (hypervisor present).
Timer: HPET calibration disabled (VM-exit MMIO would poison timing).
Timer: WARNING: invariant TSC not present under hypervisor.
Timer: continuing in RELATIVE mode (no determinism guarantees).
Timer: RDTSCP not present; using RDTSC (less serialized).
Timer: CPUID frequency unavailable; trying PM Timer...