|
|
202b98a3fd
|
Rephrase comments for consistency
|
2026-03-25 15:03:33 +01:00 |
|
|
|
b323956f4b
|
Add bounds checking and implement reclamation for large expansion pool allocations
|
2026-03-25 15:03:33 +01:00 |
|
|
|
6e992f3005
|
Set PTE frame for non-paged pool allocations
|
2026-03-25 15:03:33 +01:00 |
|
|
|
d1a4b378b1
|
Precommit page map to allocate memory
|
2026-03-25 15:03:33 +01:00 |
|
|
|
3ca3a86c0f
|
Fix memory map size tracking and memory leak
|
2026-03-25 15:03:33 +01:00 |
|
|
|
8ee50255bb
|
Fix memory corruption caused by UEFI memory map size changes during allocation
|
2026-03-25 15:03:33 +01:00 |
|
|
|
f1b9d57bf7
|
Strip MM_POOL_PROTECTED flag to maintain NT compatibility and ensure correct pool tracking hash lookups
|
2026-03-25 15:03:33 +01:00 |
|
|
|
f18c9ca5b4
|
Add expansion table and overflow handling for pool tag tracking
|
2026-03-25 15:03:33 +01:00 |
|
|
|
5fa948d57e
|
Update pool tracking statistics when resizing big allocations table
|
2026-03-25 15:03:33 +01:00 |
|
|
|
6577876285
|
Unify naming convention for pool tracking structures
|
2026-03-25 15:03:33 +01:00 |
|
|
|
caf0287135
|
Implement pool allocations and frees tracking
|
2026-03-25 15:03:33 +01:00 |
|
|
|
95a3b5d7e2
|
Refactor big allocation tracker to use Tag
|
2026-03-25 15:03:33 +01:00 |
|
|
|
579ac1d90e
|
Remove temporary hack and allocate processor structures from non-paged pool
|
2026-03-25 15:03:33 +01:00 |
|
|
|
4015b4b2f3
|
Implement core pool allocation and deallocation logic
|
2026-03-25 15:03:33 +01:00 |
|
|
|
0375a08ca5
|
Add definitions for pool management structures
|
2026-03-25 15:03:33 +01:00 |
|
|
|
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 |
|