Commit Graph
1287 Commits
Author SHA1 Message Date
harraiken 31b0e4f441 Ensure contiguous virtual memory mapping
Builds / ExectOS (amd64, release) (push) Successful in 24s
Builds / ExectOS (i686, release) (push) Successful in 25s
Builds / ExectOS (i686, debug) (push) Successful in 37s
Builds / ExectOS (amd64, debug) (push) Successful in 40s
2026-01-23 20:55:56 +01:00
harraiken b5f220a2ae Correctly advance virtual address after mapping non-free regions
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 47s
Builds / ExectOS (amd64, debug) (push) Successful in 50s
2026-01-23 20:52:45 +01:00
harraiken 0b1b76e9df Rollback bootloader memory management changes
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (i686, release) (push) Successful in 34s
Builds / ExectOS (i686, debug) (push) Successful in 43s
Builds / ExectOS (amd64, debug) (push) Successful in 44s
2026-01-20 16:04:07 +01:00
harraiken d3edfef53b Fix broken PPE check on i686
Builds / ExectOS (amd64, debug) (push) Successful in 40s
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Successful in 1m6s
Builds / ExectOS (amd64, release) (push) Successful in 1m9s
2026-01-19 11:16:59 +01:00
harraiken 46c24e653e Add routine to retrieve installed memory size
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (amd64, release) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 43s
2026-01-15 19:09:10 +01:00
harraiken c3607ea943 Add missing annotations
Builds / ExectOS (amd64, release) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Successful in 38s
2026-01-14 22:48:25 +01:00
harraiken 7da6bcc75e Standardize ValidPte setup across architectures
Builds / ExectOS (amd64, release) (push) Successful in 24s
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (amd64, debug) (push) Successful in 40s
2026-01-14 22:42:14 +01:00
harraiken 0f38d39705 Correctly initialize PFN entries for pre-mapped KSEG0 based memory
Builds / ExectOS (amd64, debug) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Successful in 27s
Builds / ExectOS (amd64, release) (push) Successful in 46s
Builds / ExectOS (i686, release) (push) Successful in 43s
2026-01-14 17:44:50 +01:00
harraiken 587b85d0a4 Annotate input parameters
Builds / ExectOS (i686, debug) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 36s
Builds / ExectOS (amd64, debug) (push) Successful in 49s
Builds / ExectOS (i686, release) (push) Successful in 44s
2026-01-13 15:39:16 +01:00
harraiken 0766eb4566 Drop obsolete KSEG0_KERNEL_BASE definition
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Successful in 37s
2026-01-12 23:05:01 +01:00
harraiken 11f7c25713 Abstract base mapping address retrieval
Builds / ExectOS (amd64, debug) (push) Successful in 23s
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (i686, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 39s
2026-01-12 23:03:13 +01:00
harraiken 15edd98242 Extract MapDescriptor logic and simplify memory mapping API
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 32s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 39s
2026-01-12 22:46:04 +01:00
harraiken 34c33a3b53 Clean up unused physical-to-virtual conversion routines
Builds / ExectOS (amd64, release) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 35s
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 38s
2026-01-12 19:40:27 +01:00
harraiken 032cab7f2f Update function documentation and remove debug prints
Builds / ExectOS (amd64, release) (push) Successful in 35s
Builds / ExectOS (i686, release) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in 55s
Builds / ExectOS (amd64, debug) (push) Successful in 57s
2026-01-12 19:26:07 +01:00
harraiken 5500192575 Remove manual virtual address tracking from boot sequence
Builds / ExectOS (amd64, release) (push) Successful in 32s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (amd64, debug) (push) Successful in 58s
Builds / ExectOS (i686, release) (push) Successful in 55s
2026-01-11 23:14:10 +01:00
harraiken ec94e2341c Relocate kernel and modules to KSEG0 memory space
Builds / ExectOS (i686, release) (push) Successful in 33s
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (i686, debug) (push) Successful in 39s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
2026-01-11 13:15:28 +01:00
harraiken 9ed851ed1f Temporary fix for PAE addressing limits and KSEG0 base mapping
Builds / ExectOS (amd64, debug) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 32s
Builds / ExectOS (i686, release) (push) Successful in 37s
Builds / ExectOS (amd64, release) (push) Successful in 40s
2026-01-09 20:54:13 +01:00
harraiken b91c79e090 Prevent adding referenced pages to the free list
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (i686, release) (push) Successful in 34s
2026-01-06 15:01:05 +01:00
harraiken bee91d0c71 Correctly setup PFN database for ROM and in-use pages
Builds / ExectOS (amd64, debug) (push) Successful in 23s
Builds / ExectOS (i686, debug) (push) Successful in 25s
Builds / ExectOS (amd64, release) (push) Successful in 38s
Builds / ExectOS (i686, release) (push) Successful in 37s
2026-01-06 14:49:30 +01:00
harraiken 36e53bfc8c Ensure every page in a bad memory region is marked as bad
Builds / ExectOS (i686, release) (push) Successful in 25s
Builds / ExectOS (amd64, release) (push) Successful in 23s
Builds / ExectOS (i686, debug) (push) Successful in 38s
Builds / ExectOS (amd64, debug) (push) Successful in 40s
2026-01-06 14:05:09 +01:00
harraiken 9027632c4f Make memory descriptor processing architecture-dependent
Builds / ExectOS (amd64, debug) (push) Successful in 25s
Builds / ExectOS (i686, debug) (push) Successful in 26s
Builds / ExectOS (i686, release) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 39s
2026-01-05 23:39:42 +01:00
harraiken bd1a3605d2 Add logic to insert pages at the head of standby list
Builds / ExectOS (amd64, release) (push) Successful in 27s
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 39s
Builds / ExectOS (i686, debug) (push) Successful in 38s
2026-01-05 23:12:58 +01:00
harraiken 4b50278ac9 Add temporary fallback for BeginStandbyList insertion
Builds / ExectOS (i686, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 39s
Builds / ExectOS (amd64, release) (push) Successful in 37s
2026-01-05 19:41:46 +01:00
harraiken 154ca7be35 Allow PFN insertion at the beginning of standby list
Builds / ExectOS (i686, debug) (push) Successful in 25s
Builds / ExectOS (amd64, debug) (push) Successful in 27s
Builds / ExectOS (i686, release) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 37s
2026-01-05 19:36:12 +01:00
harraiken 3a087766cc Optimize system PTE deallocation by avoiding immediate and expensive TLB flush
Builds / ExectOS (i686, release) (push) Successful in 28s
Builds / ExectOS (amd64, release) (push) Successful in 30s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 39s
2026-01-05 16:59:35 +01:00
harraiken 410286d012 Replace ULONG with PFN_COUNT in system PTE variables
Builds / ExectOS (amd64, debug) (push) Successful in 24s
Builds / ExectOS (i686, debug) (push) Successful in 27s
Builds / ExectOS (amd64, release) (push) Successful in 58s
Builds / ExectOS (i686, release) (push) Successful in 55s
2026-01-05 16:48:26 +01:00
harraiken e66baa0da0 Fix deadlock by reducing lock scope
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 30s
2026-01-05 01:28:09 +01:00
harraiken 46576398a2 Add missing semicolon
Builds / ExectOS (i686, release) (push) Successful in 24s
Builds / ExectOS (amd64, debug) (push) Successful in 25s
Builds / ExectOS (i686, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 40s
2026-01-05 01:22:41 +01:00
harraiken cb6efc648f Implement kernel stack deallocation and physical page freeing logic
Builds / ExectOS (i686, release) (push) Failing after 23s
Builds / ExectOS (amd64, debug) (push) Failing after 32s
Builds / ExectOS (amd64, release) (push) Failing after 26s
Builds / ExectOS (i686, debug) (push) Failing after 30s
2026-01-05 01:20:21 +01:00
harraiken 0a43a93f41 Add mechanism to free system PTEs and merge adjacent clusters
Builds / ExectOS (i686, debug) (push) Successful in 31s
Builds / ExectOS (amd64, release) (push) Successful in 46s
Builds / ExectOS (amd64, debug) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 43s
2026-01-04 21:11:33 +01:00
harraiken 9f359c10ed Clean up paging code
Builds / ExectOS (amd64, release) (push) Successful in 24s
Builds / ExectOS (i686, release) (push) Successful in 25s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (i686, debug) (push) Successful in 40s
2026-01-03 23:39:02 +01:00
harraiken 455349f2d7 Remove dead code from paging and PTE management
Builds / ExectOS (amd64, debug) (push) Failing after 20s
Builds / ExectOS (amd64, release) (push) Failing after 26s
Builds / ExectOS (i686, debug) (push) Successful in 25s
Builds / ExectOS (i686, release) (push) Successful in 31s
2026-01-03 23:27:24 +01:00
harraiken 5e5b4a8392 Initialize system PTEs with arch-specific list terminator
Builds / ExectOS (amd64, debug) (push) Successful in 36s
Builds / ExectOS (amd64, release) (push) Successful in 35s
Builds / ExectOS (i686, release) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 36s
2026-01-03 21:11:29 +01:00
harraiken 329143b4f6 Abstract PTE list terminator into paging layer
Builds / ExectOS (amd64, debug) (push) Successful in 25s
Builds / ExectOS (i686, debug) (push) Successful in 24s
Builds / ExectOS (i686, release) (push) Successful in 44s
Builds / ExectOS (amd64, release) (push) Successful in 48s
2026-01-03 21:03:14 +01:00
harraiken cc76ea40ee Add support for transitioning PTE to invalid state
Builds / ExectOS (amd64, release) (push) Successful in 35s
Builds / ExectOS (i686, release) (push) Successful in 33s
Builds / ExectOS (amd64, debug) (push) Successful in 44s
Builds / ExectOS (i686, debug) (push) Successful in 41s
2026-01-03 00:41:56 +01:00
harraiken 0159262ee0 Add explicit default initialization for MM::Colors::ModifiedPages list
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (i686, release) (push) Successful in 34s
Builds / ExectOS (amd64, release) (push) Successful in 30s
2026-01-01 20:59:31 +01:00
harraiken f653b9f79c Properly handle bad physical pages
Builds / ExectOS (amd64, release) (push) Successful in 26s
Builds / ExectOS (amd64, debug) (push) Successful in 37s
Builds / ExectOS (i686, debug) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 27s
2026-01-01 20:51:30 +01:00
harraiken 7bcd78fdf3 Implement generic PFN list linking function
Builds / ExectOS (i686, release) (push) Successful in 35s
Builds / ExectOS (i686, debug) (push) Successful in 26s
Builds / ExectOS (amd64, release) (push) Successful in 37s
Builds / ExectOS (amd64, debug) (push) Successful in 28s
2026-01-01 20:40:45 +01:00
harraiken c080f74714 Introduce helper functions for querying the software prototype and transition bits of PTE
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (i686, release) (push) Successful in 33s
2026-01-01 19:40:23 +01:00
harraiken 5ff0cad094 Introduce per-page-color modified page lists
Builds / ExectOS (amd64, release) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 41s
Builds / ExectOS (amd64, debug) (push) Successful in 43s
Builds / ExectOS (i686, release) (push) Successful in 37s
2026-01-01 16:54:26 +01:00
harraiken 00702bfb23 Remove redundant check for invisible memory regions
Builds / ExectOS (amd64, debug) (push) Successful in 24s
Builds / ExectOS (i686, debug) (push) Successful in 25s
Builds / ExectOS (i686, release) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 46s
2025-12-30 13:10:32 +01:00
harraiken dbda6bbb29 Initialize PTE template dynamically to resolve build warnings
Builds / ExectOS (amd64, debug) (push) Successful in 23s
Builds / ExectOS (i686, debug) (push) Successful in 26s
Builds / ExectOS (amd64, release) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 42s
2025-12-29 23:49:29 +01:00
harraiken aced62e790 Prevent initialization of invisible memory ranges
Builds / ExectOS (amd64, debug) (push) Successful in 25s
Builds / ExectOS (i686, debug) (push) Successful in 25s
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (i686, release) (push) Successful in 34s
2025-12-29 19:27:30 +01:00
harraiken 53116b86a3 Improve formatting
Builds / ExectOS (amd64, release) (push) Successful in 23s
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (i686, debug) (push) Successful in 34s
2025-12-29 19:19:45 +01:00
harraiken d8fc223140 Adjust thread initialization to match new stack allocator signature
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 39s
Builds / ExectOS (i686, debug) (push) Successful in 38s
Builds / ExectOS (i686, release) (push) Successful in 29s
2025-12-29 19:16:13 +01:00
harraiken f4c49e2f25 Simplify stack page count calculation
Builds / ExectOS (amd64, debug) (push) Failing after 20s
Builds / ExectOS (i686, release) (push) Failing after 21s
Builds / ExectOS (i686, debug) (push) Failing after 28s
Builds / ExectOS (amd64, release) (push) Failing after 30s
2025-12-29 19:14:49 +01:00
harraiken 4c7c914a1c Implement kernel stack allocation logic
Builds / ExectOS (i686, debug) (push) Failing after 22s
Builds / ExectOS (amd64, release) (push) Failing after 24s
Builds / ExectOS (amd64, debug) (push) Failing after 27s
Builds / ExectOS (i686, release) (push) Failing after 26s
2025-12-29 19:10:25 +01:00
harraiken 4a00179af2 Implement logic to link physical pages to PTEs
Builds / ExectOS (amd64, debug) (push) Successful in 25s
Builds / ExectOS (amd64, release) (push) Successful in 38s
Builds / ExectOS (i686, debug) (push) Successful in 26s
Builds / ExectOS (i686, release) (push) Successful in 36s
2025-12-29 18:31:16 +01:00
harraiken 0d2d41dcda Introduce page fault handling infrastructure
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 36s
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (i686, debug) (push) Successful in 35s
2025-12-29 14:53:43 +01:00
harraiken c1514557f6 Merge branch 'master' into memmgr
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 35s
Builds / ExectOS (i686, release) (push) Successful in 34s
2025-12-29 14:35:10 +01:00