Commit Graph
91 Commits
Author SHA1 Message Date
harraiken 9cfc22e1f3 Reserve space for color tables to fix invalid memory access 2026-03-25 15:03:33 +01:00
harraiken 47606faded Initialize paged pool sizing logic 2026-03-25 15:03:33 +01:00
harraiken 330c9e3eaf Update PTE support to use safe write accessors 2026-03-25 15:03:33 +01:00
harraiken 2854f77159 Refactor memory clearing calls and cleanup code style 2026-03-25 15:03:33 +01:00
harraiken 75dfcec5a6 Implement PFN database initialization and memory descriptor processing 2026-03-25 15:03:33 +01:00
harraiken f33fa0fdaf Expose PFN database lookup via GetPfnEntry 2026-03-25 15:03:33 +01:00
harraiken cdad8ffe2c Implement tracking of available physical pages 2026-03-25 15:03:33 +01:00
harraiken 425780de69 Initialize system PTE pools and implement reservation routines 2026-03-25 15:03:33 +01:00
harraiken 446d9af325 Initialize system page tables and configure kernel mappings 2026-03-25 15:03:33 +01:00
harraiken 4192e93157 Introduce page coloring support to memory manager 2026-03-25 15:03:33 +01:00
harraiken b32c66110b Add storage for PFN database size 2026-03-25 15:03:33 +01:00
harraiken a4b36827e4 Bring up i686 page table initialization 2026-03-25 15:03:33 +01:00
harraiken e8512e9f45 Fix physical page count overflow by using 64-bit type 2026-03-25 15:03:33 +01:00
harraiken 0448217c06 Fix PTE free list sentinel handling 2026-03-25 15:03:33 +01:00
harraiken eb621e0264 Extend PTE helpers with raw read and write support 2026-03-25 15:03:33 +01:00
harraiken ed769e023f Respect architecture-specific PTE layouts and write PTEs via PML-aware helpers 2026-03-25 15:03:33 +01:00
harraiken 08b095d47c Make PPE mapping architecture-specific 2026-03-25 15:03:33 +01:00
harraiken 244af13500 Clarify page table entry offset semantics 2026-03-25 15:03:33 +01:00
harraiken e6d2574bf9 Fix paging abstraction for PDE/PTE virtual address calculation 2026-03-25 15:03:33 +01:00
harraiken 6f9e537e86 Implement initial virtual memory layout setup 2026-03-25 15:03:33 +01:00
harraiken be6ad1658f Update SelfMapAddress 2026-03-25 15:03:33 +01:00
harraiken a45cd95b6f Call page table initialization 2026-03-25 15:03:33 +01:00
harraiken 3c5bb52152 Add virtual address validation and system PTE helpers 2026-03-25 15:03:33 +01:00
harraiken 3a311a0497 Move memory layout initialization to architecture-specific code 2026-03-25 15:03:33 +01:00
harraiken 140b25ff76 Architecture-specific system PTE limits 2026-03-25 15:03:33 +01:00
harraiken c760016ee5 Extend memory layout 2026-03-25 15:03:33 +01:00
harraiken d8b2af8f1e Split PTE implementation per architecture 2026-03-25 15:03:33 +01:00
harraiken 28fc0ab435 Compute PTE count per page from entry size 2026-03-25 15:03:33 +01:00
harraiken 329c22ae82 Implement early page table mapping routines 2026-03-25 15:03:33 +01:00
harraiken d27954091a Add bootstrap physical page allocator 2026-03-25 15:03:33 +01:00
harraiken df9028d425 Introduce kernel virtual memory layout 2026-03-25 15:03:33 +01:00
harraiken 540c4df13e Compute PFN database size during MM initialization 2026-03-25 15:03:33 +01:00
harraiken 0a2fb7ae38 Tidy up memory type verification helpers 2026-03-25 15:03:33 +01:00
harraiken 6f824c55bb Harden PFN initialization and expose page count 2026-03-25 15:03:33 +01:00
harraiken f371b305ad Make memory type verification helpers accessible to PFN 2026-03-25 15:03:33 +01:00
harraiken 24e20f3d8f Extract PFN management into separate module 2026-03-25 15:03:33 +01:00
harraiken c7bfc028b6 Refactor memory manager initialization into MM::Manager 2026-03-25 15:03:33 +01:00
harraiken 9492ba09a6 Fix GetP5eAddress return type 2026-03-25 15:03:33 +01:00
harraiken 9d27778e4c Add architecture-specific GetPteDistance 2026-03-25 15:03:33 +01:00
harraiken 0796164cf8 Refactor XPA detection API 2026-03-25 15:03:33 +01:00
harraiken 2f4d26b432 Fix incorrect pointer types 2026-03-25 15:03:33 +01:00
harraiken 1996024e96 Split paging interface into arch-specific code 2026-03-25 15:03:33 +01:00
harraiken 42a96ae5c3 Implement virtual address resolvers for all page map levels and add XPA status accessor 2026-03-25 15:03:33 +01:00
harraiken f9a057db2d Add MM::PageMap::GetXpaStatus() for querying PML level 2026-03-25 15:03:33 +01:00
harraiken f210c9e334 Refactor PageMap to enable architecture-specific VA translation 2026-03-25 15:03:33 +01:00
harraiken e831902363 Fix class name 2026-03-25 15:03:33 +01:00
harraiken f247726ee9 Add GetPageFrameNumber() to PTE interfaces 2026-03-25 15:03:33 +01:00
harraiken 34586d8fa1 Replace writable flag with AttributesMask in PTE setup 2026-03-25 15:03:33 +01:00
harraiken d752de20f6 Unify PTE pointer types across MM subsystem 2026-03-25 15:03:33 +01:00
harraiken 8e48153852 Add input qualifiers to page map interface definitions 2026-03-25 15:03:33 +01:00