Commit Graph

639 Commits

Author SHA1 Message Date
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
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
aa7d9bb417 Centralize memory layout dumping 2026-03-25 15:03:33 +01:00
21fb192790 Handle non-paged pool overflow 2026-03-25 15:03:33 +01:00
a4f5211a96 Remove redundant PFN database alignment 2026-03-25 15:03:33 +01:00
9da11d827e Overhaul kernel memory layout initialization and pool sizing 2026-03-25 15:03:33 +01:00
bcd3032fe3 Enable non-paged pool setup 2026-03-25 15:03:33 +01:00
d8792cc9db Fix PFN database size calculation call sites 2026-03-25 15:03:33 +01:00
a2335900ad Move PFN database size tracking to memory layout 2026-03-25 15:03:33 +01:00
94320928bc Refactor memory layout structure 2026-03-25 15:03:33 +01:00
17e096f18c Add private helper declaration 2026-03-25 15:03:33 +01:00
66300103e1 Calculate aligned boot image size from loader parameters 2026-03-25 15:03:33 +01:00
8d05099d7b Add skeleton for memory pool allocator 2026-03-25 15:03:33 +01:00
488736512f Fix incorrect header guard comment 2026-03-25 15:03:33 +01:00
a326fea9af Limit system PTE space mapping to calculated pool size 2026-03-25 15:03:33 +01:00
8554c634df Fix broken PPE check on i686 2026-03-25 15:03:33 +01:00
8577d23e47 Add routine to retrieve installed memory size 2026-03-25 15:03:33 +01:00
bc85eb3c12 Add missing annotations 2026-03-25 15:03:33 +01:00
52c119885c Standardize ValidPte setup across architectures 2026-03-25 15:03:33 +01:00
efe7f28675 Correctly initialize PFN entries for pre-mapped KSEG0 based memory 2026-03-25 15:03:33 +01:00
c29afe477c Annotate input parameters 2026-03-25 15:03:33 +01:00
0ee46924a7 Prevent adding referenced pages to the free list 2026-03-25 15:03:33 +01:00
3384556543 Correctly setup PFN database for ROM and in-use pages 2026-03-25 15:03:33 +01:00
3b8359042b Ensure every page in a bad memory region is marked as bad 2026-03-25 15:03:33 +01:00
c8fa998e38 Make memory descriptor processing architecture-dependent 2026-03-25 15:03:33 +01:00
807b0a736f Add logic to insert pages at the head of standby list 2026-03-25 15:03:33 +01:00
cb61566e8b Add temporary fallback for BeginStandbyList insertion 2026-03-25 15:03:33 +01:00
41eed4c7ad Allow PFN insertion at the beginning of standby list 2026-03-25 15:03:33 +01:00
042d0fa03a Optimize system PTE deallocation by avoiding immediate and expensive TLB flush 2026-03-25 15:03:33 +01:00
6accbfd2ae Replace ULONG with PFN_COUNT in system PTE variables 2026-03-25 15:03:33 +01:00
ec27cb7f76 Fix deadlock by reducing lock scope 2026-03-25 15:03:33 +01:00
bfa5cddb57 Add missing semicolon 2026-03-25 15:03:33 +01:00
f8cdcc3f75 Implement kernel stack deallocation and physical page freeing logic 2026-03-25 15:03:33 +01:00
602e837e11 Add mechanism to free system PTEs and merge adjacent clusters 2026-03-25 15:03:33 +01:00
0ca04a7dfe Clean up paging code 2026-03-25 15:03:33 +01:00
3270f920dd Remove dead code from paging and PTE management 2026-03-25 15:03:33 +01:00
4f6e8bc07a Initialize system PTEs with arch-specific list terminator 2026-03-25 15:03:33 +01:00
4aa841650a Abstract PTE list terminator into paging layer 2026-03-25 15:03:33 +01:00
c5ea9e4489 Add support for transitioning PTE to invalid state 2026-03-25 15:03:33 +01:00
c6041b02ae Add explicit default initialization for MM::Colors::ModifiedPages list 2026-03-25 15:03:33 +01:00
0153b2fb33 Properly handle bad physical pages 2026-03-25 15:03:33 +01:00
e0bcac3722 Implement generic PFN list linking function 2026-03-25 15:03:33 +01:00
466b0c8eab Introduce helper functions for querying the software prototype and transition bits of PTE 2026-03-25 15:03:33 +01:00
374f404324 Introduce per-page-color modified page lists 2026-03-25 15:03:33 +01:00
6308fd048b Remove redundant check for invisible memory regions 2026-03-25 15:03:33 +01:00
4963ff5367 Initialize PTE template dynamically to resolve build warnings 2026-03-25 15:03:33 +01:00