Commit Graph

88 Commits

Author SHA1 Message Date
4292d89185 Add expansion table and overflow handling for pool tag tracking 2026-03-24 08:13:05 +01:00
3c52b88802 Unify naming convention for pool tracking structures 2026-03-23 20:12:18 +01:00
944d5b5c0a Implement pool allocations and frees tracking 2026-03-23 18:54:18 +01:00
b97babb2bf Remove temporary hack and allocate processor structures from non-paged pool 2026-03-22 23:40:15 +01:00
d85e313c15 Implement core pool allocation and deallocation logic 2026-03-21 20:35:02 +01:00
f862871a1f Implement RAII guard for memory pool synchronization 2026-03-19 19:59:40 +01:00
afb20a1796 Decouple pool initialization and validation from allocation logic 2026-03-18 20:31:06 +01:00
876923e107 Track valid physical memory pages using a PFN bitmap 2026-03-17 00:05:33 +01:00
184ce5735e Add runlevel verification to memory pool allocations 2026-03-16 15:33:36 +01:00
76d99dc9db Introduce pool allocation and free routines 2026-03-16 13:54:42 +01:00
42525e5993 Unify PTE type definitions across architectures 2026-03-15 20:23:44 +01:00
35eac9d34c Make MM::Pte::InitializeSystemPtePool public 2026-03-10 23:01:50 +01:00
b7a92ccce4 Implement memory deallocation and coalescing for non-paged pool 2026-03-05 10:08:54 +01:00
5a9b7c0258 Implement canonical address validation routine 2026-03-04 14:15:33 +01:00
7bdd0dfe2c Implement basic non-paged pool allocator 2026-02-26 20:10:03 +01:00
511dd15c0c Implement page allocation interface 2026-02-26 13:42:58 +01:00
0658e98436 Expose the number of available physical pages 2026-02-25 20:25:50 +01:00
bfdb7bc476 Refactor PFN linking logic 2026-02-25 19:27:53 +01:00
f7b7b61ea4 Add interface to retrieve page map level (PML) 2026-02-11 20:23:24 +01:00
b51f21f55c Introduce page directory initialization helper 2026-02-06 00:20:01 +01:00
6a7bc64ac7 Overhaul kernel memory layout initialization and pool sizing 2026-01-30 14:47:13 +01:00
5e3fb7a5a3 Move PFN database size tracking to memory layout 2026-01-29 22:26:31 +01:00
72f34c8286 Add private helper declaration 2026-01-29 20:10:48 +01:00
7f6114f8e5 Add skeleton for memory pool allocator 2026-01-29 20:00:09 +01:00
fd29cf55ef Fix incorrect header guard comment 2026-01-29 19:49:54 +01:00
46c24e653e Add routine to retrieve installed memory size 2026-01-15 19:09:10 +01:00
c3607ea943 Add missing annotations 2026-01-14 22:48:25 +01:00
587b85d0a4 Annotate input parameters 2026-01-13 15:39:16 +01:00
bd1a3605d2 Add logic to insert pages at the head of standby list 2026-01-05 23:12:58 +01:00
154ca7be35 Allow PFN insertion at the beginning of standby list 2026-01-05 19:36:12 +01:00
410286d012 Replace ULONG with PFN_COUNT in system PTE variables 2026-01-05 16:48:26 +01:00
cb6efc648f Implement kernel stack deallocation and physical page freeing logic 2026-01-05 01:20:21 +01:00
0a43a93f41 Add mechanism to free system PTEs and merge adjacent clusters 2026-01-04 21:11:33 +01:00
455349f2d7 Remove dead code from paging and PTE management 2026-01-03 23:27:24 +01:00
5e5b4a8392 Initialize system PTEs with arch-specific list terminator 2026-01-03 21:11:29 +01:00
329143b4f6 Abstract PTE list terminator into paging layer 2026-01-03 21:03:14 +01:00
cc76ea40ee Add support for transitioning PTE to invalid state 2026-01-03 00:41:56 +01:00
7bcd78fdf3 Implement generic PFN list linking function 2026-01-01 20:40:45 +01:00
c080f74714 Introduce helper functions for querying the software prototype and transition bits of PTE 2026-01-01 19:40:23 +01:00
5ff0cad094 Introduce per-page-color modified page lists 2026-01-01 16:54:26 +01:00
dbda6bbb29 Initialize PTE template dynamically to resolve build warnings 2025-12-29 23:49:29 +01:00
4c7c914a1c Implement kernel stack allocation logic 2025-12-29 19:10:25 +01:00
4a00179af2 Implement logic to link physical pages to PTEs 2025-12-29 18:31:16 +01:00
0d2d41dcda Introduce page fault handling infrastructure 2025-12-29 14:53:43 +01:00
200e9132b1 Minor style fixes in MM includes 2025-12-28 23:51:34 +01:00
0880a0f344 Implement PFN database initialization and memory descriptor processing 2025-12-28 23:25:07 +01:00
4593a89a9b Expose PFN database lookup via GetPfnEntry 2025-12-28 21:18:17 +01:00
b7c004528a Implement tracking of available physical pages 2025-12-23 22:13:09 +01:00
5012c8dc37 Initialize system PTE pools and implement reservation routines 2025-12-23 20:16:08 +01:00
1e3917882c Initialize system page tables and configure kernel mappings 2025-12-23 18:03:02 +01:00