Commit Graph

560 Commits

Author SHA1 Message Date
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
4b50278ac9 Add temporary fallback for BeginStandbyList insertion 2026-01-05 19:41:46 +01:00
154ca7be35 Allow PFN insertion at the beginning of standby list 2026-01-05 19:36:12 +01:00
3a087766cc Optimize system PTE deallocation by avoiding immediate and expensive TLB flush 2026-01-05 16:59:35 +01:00
410286d012 Replace ULONG with PFN_COUNT in system PTE variables 2026-01-05 16:48:26 +01:00
e66baa0da0 Fix deadlock by reducing lock scope 2026-01-05 01:28:09 +01:00
46576398a2 Add missing semicolon 2026-01-05 01:22:41 +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
9f359c10ed Clean up paging code 2026-01-03 23:39:02 +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
0159262ee0 Add explicit default initialization for MM::Colors::ModifiedPages list 2026-01-01 20:59:31 +01:00
f653b9f79c Properly handle bad physical pages 2026-01-01 20:51:30 +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
00702bfb23 Remove redundant check for invisible memory regions 2025-12-30 13:10:32 +01:00
dbda6bbb29 Initialize PTE template dynamically to resolve build warnings 2025-12-29 23:49:29 +01:00
aced62e790 Prevent initialization of invisible memory ranges 2025-12-29 19:27:30 +01:00
53116b86a3 Improve formatting 2025-12-29 19:19:45 +01:00
d8fc223140 Adjust thread initialization to match new stack allocator signature 2025-12-29 19:16:13 +01:00
f4c49e2f25 Simplify stack page count calculation 2025-12-29 19:14:49 +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
49e97fb8b4 Reserve space for color tables to fix invalid memory access 2025-12-29 13:17:41 +01:00
7cb3d1764b Initialize paged pool sizing logic 2025-12-29 10:28:12 +01:00
200e9132b1 Minor style fixes in MM includes 2025-12-28 23:51:34 +01:00
d891088b1a Update PTE support to use safe write accessors 2025-12-28 23:39:08 +01:00
04599161da Refactor memory clearing calls and cleanup code style 2025-12-28 23:36:20 +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