Commit Graph

1367 Commits

Author SHA1 Message Date
930c9d3193 Replace NULL with NULLPTR 2026-03-19 20:03:26 +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
3d7fe25471 Update panic invocations with detailed error context 2026-03-16 16:00:21 +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
22f9525e92 Fix critical memory corruption bug caused by overwriting active page tables marked as free memory 2026-03-15 22:34:58 +01:00
80092a299e Ensure correct PTE value assignment via accessors 2026-03-15 20:31:33 +01:00
42525e5993 Unify PTE type definitions across architectures 2026-03-15 20:23:44 +01:00
d263f17831 Refactor panic calls in memory manager 2026-03-13 19:44:29 +01:00
6175413db2 Merge branch 'master' into memmgr 2026-03-13 19:43:01 +01:00
428928c7e1 Simplify panic interface by using C++ overloading 2026-03-13 19:42:03 +01:00
7d2b41a044 Calculate virtual address per page when initializing PFN entries 2026-03-13 19:35:29 +01:00
5fe0740c2e Initialize system PTE pool for non-paged expansion pool 2026-03-10 23:09:40 +01:00
35eac9d34c Make MM::Pte::InitializeSystemPtePool public 2026-03-10 23:01:50 +01:00
5a78512561 Correct PTE mapping logic during multiple page allocation 2026-03-05 17:47:03 +01:00
b7a92ccce4 Implement memory deallocation and coalescing for non-paged pool 2026-03-05 10:08:54 +01:00
8d2dfa6f62 Set up owner pointers for all pages during pool initialization 2026-03-04 22:44:45 +01:00
5a9b7c0258 Implement canonical address validation routine 2026-03-04 14:15:33 +01:00
5368fe2e8d Remove redundant static initialization of LowestPhysicalPage 2026-03-03 22:42:55 +01:00
3e1f57f67c Improve type safety of physical page boundaries initialization 2026-03-03 08:51:22 +01:00
44f27fad28 Correct physical memory range detection 2026-03-03 08:22:31 +01:00
ae8ac1eacb Fix uninitialized PTE pages causing memory corruption 2026-03-03 06:44:40 +01:00
a72bfd3902 Add MIN and MAX helper macros 2026-02-26 20:12:28 +01:00
7bdd0dfe2c Implement basic non-paged pool allocator 2026-02-26 20:10:03 +01:00
5778a761b5 Initialize paged pool after PFN database setup 2026-02-26 16:42:18 +01:00
d7d125dd50 Initialize paged pool alongside non-paged pool 2026-02-26 13:54:10 +01:00
511dd15c0c Implement page allocation interface 2026-02-26 13:42:58 +01:00
278def3081 Correct comment phrasing 2026-02-26 10:57:19 +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
44fa2ca13a Merge branch 'master' into memmgr 2026-02-25 13:08:48 +01:00
7a44901064 Add definition for guarded PTE flag and remove hardcoded value 2026-02-25 12:14:26 +01:00
7144242613 Maintain sequence counter 2026-02-24 17:40:45 +01:00
7e62919c6b Rework singly linked list API 2026-02-24 14:49:56 +01:00
a136f21f4b Merge branch 'master' into memmgr 2026-02-23 09:31:53 +01:00
2bbc21b667 Implement singly linked list support 2026-02-22 12:25:51 +01:00
70d758ec5b Improve comments 2026-02-22 12:21:43 +01:00
d1553ff84a Add SHA-1 hashing support 2026-02-19 18:49:29 +01:00
94a8917c5c Revert RTL::LinkedList::RemoveEntryList() routine signature and extend RTL::LinkedList API 2026-02-16 15:43:00 +01:00
f7b7b61ea4 Add interface to retrieve page map level (PML) 2026-02-11 20:23:24 +01:00
2af94a1c3b Use RTL::LinkedList::ListEmpty() routine to check if list is empty after removal 2026-02-11 19:15:57 +01:00
4b5188260f Fix build 2026-02-11 17:43:07 +01:00
47ec89a85e Forgotten to change signature in bootloader 2026-02-10 18:26:50 +01:00
edb40dd62b Change RTL::LinkedList::RemoveEntryList() routine signature 2026-02-10 18:24:26 +01:00
e2da6220f2 Fix PFN calculation truncation for memory above 4GB to prevent memory descriptor aliasing on PAE systems 2026-02-09 23:17:58 +01:00
53f7945771 Reorder initialization sequence and flush TLB 2026-02-07 20:37:23 +01:00
9a5ef6fc00 Map PDE and PTE ranges for i686 non-paged pool 2026-02-07 20:01:17 +01:00
fa64507350 Refactor EFI memory mapping to support distinct mapping strategies 2026-02-07 00:42:03 +01:00