]>
Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: PAE paging + NX bit support
- src/arch/x86/boot.S: complete rewrite for PAE 3-level page tables
PDPT (4 entries) + 4 PDs (512 entries each) + 8 PTs covering 16MB
CR4.PAE enabled before paging, recursive mapping via PD[3][508-511]
- src/arch/x86/vmm.c: complete rewrite for 64-bit PAE entries
New recursive mapping accessors (PD at 0xFFFFC000, PT at 0xFF800000)
NX bit support (bit 63), VMM_FLAG_NX added
All address space ops updated: create, clone, destroy, CoW, fault handler
- src/arch/x86/ap_trampoline.S: enable CR4.PAE before paging for APs
- src/arch/x86/elf.c: updated page table check to PAE 64-bit entries
- src/arch/x86/uaccess.c: updated page present/writable checks for PAE
- include/vmm.h: added VMM_FLAG_NX define
- cppcheck clean, 19/19 smoke tests pass