Commit Graph

594 Commits

Author SHA1 Message Date
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
edb40dd62b Change RTL::LinkedList::RemoveEntryList() routine signature 2026-02-10 18:24:26 +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
80ea0b49d0 Fix boot image size alignment calculation 2026-02-07 00:30:41 +01:00
2e0e085acb Minor style fixes 2026-02-06 20:52:59 +01:00
0ce2741e18 Deduplicate PFN descriptor processing logic across architectures 2026-02-06 09:08:59 +01:00
a46f30045a Fix stale comment 2026-02-06 08:51:23 +01:00
0763a9522b Ensure paging hierarchy exists before processing memory descriptors 2026-02-06 08:40:24 +01:00
b51f21f55c Introduce page directory initialization helper 2026-02-06 00:20:01 +01:00
bc391d6e1e Map and zero entire PFN database upfront 2026-02-03 22:32:10 +01:00
7b6e284d39 Refactor PFN database initialization loop on i686 2026-02-03 22:28:17 +01:00
fae72f5326 Fix missing assignment of PointerPte 2026-02-03 20:17:28 +01:00
eb0957dbd4 Refactor PFN initialization to ensure proper page table setup 2026-02-02 19:06:14 +01:00
b16dbb19f8 Centralize memory layout dumping 2026-01-30 18:47:46 +01:00
19f5307be6 Handle non-paged pool overflow 2026-01-30 18:38:54 +01:00
825de8b471 Remove redundant PFN database alignment 2026-01-30 17:46:20 +01:00
6a7bc64ac7 Overhaul kernel memory layout initialization and pool sizing 2026-01-30 14:47:13 +01:00
726fd84241 Enable non-paged pool setup 2026-01-29 22:34:44 +01:00
54e75c9345 Fix PFN database size calculation call sites 2026-01-29 22:29:02 +01:00
5e3fb7a5a3 Move PFN database size tracking to memory layout 2026-01-29 22:26:31 +01:00
58669d3074 Refactor memory layout structure 2026-01-29 22:10:26 +01:00
72f34c8286 Add private helper declaration 2026-01-29 20:10:48 +01:00
a7820ff568 Calculate aligned boot image size from loader parameters 2026-01-29 20:08:27 +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
446ce920ec Limit system PTE space mapping to calculated pool size 2026-01-27 16:56:40 +01:00
d3edfef53b Fix broken PPE check on i686 2026-01-19 11:16:59 +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
7da6bcc75e Standardize ValidPte setup across architectures 2026-01-14 22:42:14 +01:00
0f38d39705 Correctly initialize PFN entries for pre-mapped KSEG0 based memory 2026-01-14 17:44:50 +01:00
587b85d0a4 Annotate input parameters 2026-01-13 15:39:16 +01:00
b91c79e090 Prevent adding referenced pages to the free list 2026-01-06 15:01:05 +01:00
bee91d0c71 Correctly setup PFN database for ROM and in-use pages 2026-01-06 14:49:30 +01:00
36e53bfc8c Ensure every page in a bad memory region is marked as bad 2026-01-06 14:05:09 +01:00
9027632c4f Make memory descriptor processing architecture-dependent 2026-01-05 23:39:42 +01:00
bd1a3605d2 Add logic to insert pages at the head of standby list 2026-01-05 23:12:58 +01:00