git.cappig.dev / apheleiaOS.git master

6a95b272f949398003f35904db967c280a39570b master
cappig <[email protected]> ยท 4 months ago
Harden x86 FP setup and isolate FP build flags

* Enable FXSAVE/FXRSTOR-backed FPU context handling with alignment-safe helpers and CR4 OSXMMEXCPT setup; require SSE/FXSR on x86_32

* Move no-SSE/no-MMX compilation flags out of global CC_BASE into x86 kernel/boot/UEFI build rules

* Guard kernel allocator and scheduler startup critical sections with IRQ save/restore to avoid early races

* Add a QEMU snapshot toggle (default on) and keep user FP flags local to user build config
10 files changed, 146 insertions, 11 deletions
kernel/arch/x86/arch.c +106 -3
kernel/arch/x86/asm.h +1 -0
kernel/arch/x86/boot/bios/build.mk +6 -0
kernel/arch/x86/boot/uefi/build.mk +7 -0
kernel/arch/x86/build/build.mk +7 -2
kernel/arch/x86/mm/heap.c +6 -0
kernel/sched/scheduler.c +3 -0
makefile +0 -3
user/build.mk +5 -3
utils/qemu.mk +5 -0