Commit Graph

1371 Commits

Author SHA1 Message Date
d55a8219e3 Revert e2eff2b836 2026-03-25 15:03:33 +01:00
8a35727e43 Fix DebugPrint definition 2026-03-25 15:03:33 +01:00
322fea763b Replace NULL with NULLPTR 2026-03-25 15:03:33 +01:00
77e487495b Implement RAII guard for memory pool synchronization 2026-03-25 15:03:33 +01:00
7b3f4bb35a Decouple pool initialization and validation from allocation logic 2026-03-25 15:03:33 +01:00
427c7ae810 Track valid physical memory pages using a PFN bitmap 2026-03-25 15:03:33 +01:00
c575352f90 Update panic invocations with detailed error context 2026-03-25 15:03:33 +01:00
d8a430ee42 Add runlevel verification to memory pool allocations 2026-03-25 15:03:33 +01:00
2e5c259a5a Introduce pool allocation and free routines 2026-03-25 15:03:33 +01:00
66df8fddda Fix critical memory corruption bug caused by overwriting active page tables marked as free memory 2026-03-25 15:03:33 +01:00
4f16957016 Ensure correct PTE value assignment via accessors 2026-03-25 15:03:33 +01:00
e1b9664ec0 Unify PTE type definitions across architectures 2026-03-25 15:03:33 +01:00
60d8844afe Refactor panic calls in memory manager 2026-03-25 15:03:33 +01:00
d39ddabd04 Calculate virtual address per page when initializing PFN entries 2026-03-25 15:03:33 +01:00
6044dbaac9 Initialize system PTE pool for non-paged expansion pool 2026-03-25 15:03:33 +01:00
3d2be65545 Make MM::Pte::InitializeSystemPtePool public 2026-03-25 15:03:33 +01:00
caff02383c Correct PTE mapping logic during multiple page allocation 2026-03-25 15:03:33 +01:00
58bc1839f5 Implement memory deallocation and coalescing for non-paged pool 2026-03-25 15:03:33 +01:00
72b3fe8209 Set up owner pointers for all pages during pool initialization 2026-03-25 15:03:33 +01:00
a1899fd1fa Implement canonical address validation routine 2026-03-25 15:03:33 +01:00
5748e73853 Remove redundant static initialization of LowestPhysicalPage 2026-03-25 15:03:33 +01:00
792157eab1 Improve type safety of physical page boundaries initialization 2026-03-25 15:03:33 +01:00
14276179a7 Correct physical memory range detection 2026-03-25 15:03:33 +01:00
71684314c7 Fix uninitialized PTE pages causing memory corruption 2026-03-25 15:03:33 +01:00
b959e1908f Add MIN and MAX helper macros 2026-03-25 15:03:33 +01:00
5cca5970b1 Implement basic non-paged pool allocator 2026-03-25 15:03:33 +01:00
6c6b1f6a52 Initialize paged pool after PFN database setup 2026-03-25 15:03:33 +01:00
706aca6e20 Initialize paged pool alongside non-paged pool 2026-03-25 15:03:33 +01:00
cd60cd7b1a Implement page allocation interface 2026-03-25 15:03:33 +01:00
a6b050ddf2 Correct comment phrasing 2026-03-25 15:03:33 +01:00
398de5cb5b Expose the number of available physical pages 2026-03-25 15:03:33 +01:00
37d70c449c Refactor PFN linking logic 2026-03-25 15:03:33 +01:00
50654a28b5 Add definition for guarded PTE flag and remove hardcoded value 2026-03-25 15:03:33 +01:00
1f8d2a0370 Add interface to retrieve page map level (PML) 2026-03-25 15:03:33 +01:00
bd9af3bb5c Fix PFN calculation truncation for memory above 4GB to prevent memory descriptor aliasing on PAE systems 2026-03-25 15:03:33 +01:00
c303694384 Reorder initialization sequence and flush TLB 2026-03-25 15:03:33 +01:00
4de76886ee Map PDE and PTE ranges for i686 non-paged pool 2026-03-25 15:03:33 +01:00
52355698a9 Refactor EFI memory mapping to support distinct mapping strategies 2026-03-25 15:03:33 +01:00
420a66629b Fix boot image size alignment calculation 2026-03-25 15:03:33 +01:00
59f851f22c Minor style fixes 2026-03-25 15:03:33 +01:00
58ed35b0e4 Deduplicate PFN descriptor processing logic across architectures 2026-03-25 15:03:33 +01:00
dc2c24e83e Fix stale comment 2026-03-25 15:03:33 +01:00
932e951d4b Ensure paging hierarchy exists before processing memory descriptors 2026-03-25 15:03:33 +01:00
b7f85909cb Introduce page directory initialization helper 2026-03-25 15:03:33 +01:00
ca661d1201 Remove explicit identity mapping for internal page tables 2026-03-25 15:03:33 +01:00
1be5732789 Fix coding style 2026-03-25 15:03:33 +01:00
e08af6bfd3 Map and zero entire PFN database upfront 2026-03-25 15:03:33 +01:00
78fac504b7 Refactor PFN database initialization loop on i686 2026-03-25 15:03:33 +01:00
157c48ce7f Fix missing assignment of PointerPte 2026-03-25 15:03:33 +01:00
3b397aca92 Refactor PFN initialization to ensure proper page table setup 2026-03-25 15:03:33 +01:00