Commit Graph
72 Commits
Author SHA1 Message Date
harraiken 6f9e537e86 Implement initial virtual memory layout setup 2026-03-25 15:03:33 +01:00
harraiken be6ad1658f Update SelfMapAddress 2026-03-25 15:03:33 +01:00
harraiken a45cd95b6f Call page table initialization 2026-03-25 15:03:33 +01:00
harraiken 3c5bb52152 Add virtual address validation and system PTE helpers 2026-03-25 15:03:33 +01:00
harraiken 3a311a0497 Move memory layout initialization to architecture-specific code 2026-03-25 15:03:33 +01:00
harraiken 140b25ff76 Architecture-specific system PTE limits 2026-03-25 15:03:33 +01:00
harraiken c760016ee5 Extend memory layout 2026-03-25 15:03:33 +01:00
harraiken d8b2af8f1e Split PTE implementation per architecture 2026-03-25 15:03:33 +01:00
harraiken 28fc0ab435 Compute PTE count per page from entry size 2026-03-25 15:03:33 +01:00
harraiken 329c22ae82 Implement early page table mapping routines 2026-03-25 15:03:33 +01:00
harraiken d27954091a Add bootstrap physical page allocator 2026-03-25 15:03:33 +01:00
harraiken df9028d425 Introduce kernel virtual memory layout 2026-03-25 15:03:33 +01:00
harraiken 540c4df13e Compute PFN database size during MM initialization 2026-03-25 15:03:33 +01:00
harraiken 0a2fb7ae38 Tidy up memory type verification helpers 2026-03-25 15:03:33 +01:00
harraiken 6f824c55bb Harden PFN initialization and expose page count 2026-03-25 15:03:33 +01:00
harraiken f371b305ad Make memory type verification helpers accessible to PFN 2026-03-25 15:03:33 +01:00
harraiken 24e20f3d8f Extract PFN management into separate module 2026-03-25 15:03:33 +01:00
harraiken c7bfc028b6 Refactor memory manager initialization into MM::Manager 2026-03-25 15:03:33 +01:00
harraiken 9492ba09a6 Fix GetP5eAddress return type 2026-03-25 15:03:33 +01:00
harraiken 9d27778e4c Add architecture-specific GetPteDistance 2026-03-25 15:03:33 +01:00
harraiken 0796164cf8 Refactor XPA detection API 2026-03-25 15:03:33 +01:00
harraiken 2f4d26b432 Fix incorrect pointer types 2026-03-25 15:03:33 +01:00
harraiken 1996024e96 Split paging interface into arch-specific code 2026-03-25 15:03:33 +01:00
harraiken 42a96ae5c3 Implement virtual address resolvers for all page map levels and add XPA status accessor 2026-03-25 15:03:33 +01:00
harraiken f9a057db2d Add MM::PageMap::GetXpaStatus() for querying PML level 2026-03-25 15:03:33 +01:00
harraiken f210c9e334 Refactor PageMap to enable architecture-specific VA translation 2026-03-25 15:03:33 +01:00
harraiken e831902363 Fix class name 2026-03-25 15:03:33 +01:00
harraiken f247726ee9 Add GetPageFrameNumber() to PTE interfaces 2026-03-25 15:03:33 +01:00
harraiken 34586d8fa1 Replace writable flag with AttributesMask in PTE setup 2026-03-25 15:03:33 +01:00
harraiken d752de20f6 Unify PTE pointer types across MM subsystem 2026-03-25 15:03:33 +01:00
harraiken 8e48153852 Add input qualifiers to page map interface definitions 2026-03-25 15:03:33 +01:00
harraiken bf98860ff2 Add input qualifiers to paging interface definitions 2026-03-25 15:03:33 +01:00
harraiken c2d3f2e6f4 Add PTE management routines 2026-03-25 15:03:33 +01:00
harraiken 4cf2c0c9e8 Implement unified PTE accessors and management helpers 2026-03-25 15:03:33 +01:00
harraiken 72b92f853e Use PTE base from PageMapInfo
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 32s
Builds / ExectOS (i686, release) (push) Successful in 30s
2025-10-23 08:54:57 +02:00
harraiken 6e10089280 Drop unnecessary boolean casts after type refactor
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (i686, release) (push) Successful in 26s
2025-09-23 19:17:33 +02:00
harraiken fabf3a3a5e Replace all occurrences of NULL with NULLPTR for unified C and C++ null pointer handling
Builds / ExectOS (amd64, release) (push) Failing after 24s
Builds / ExectOS (amd64, debug) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Successful in 27s
Builds / ExectOS (i686, release) (push) Failing after 25s
2025-09-16 15:59:56 +02:00
harraiken f4561c1f4f Remove leftover old headers and fix missed spots
Builds / ExectOS (amd64, release) (push) Failing after 20s
Builds / ExectOS (amd64, debug) (push) Failing after 21s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (i686, release) (push) Failing after 19s
2025-09-16 08:46:53 +02:00
harraiken 0a0fdffc46 Clean up kernel headers
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (i686, release) (push) Failing after 20s
2025-09-15 22:46:57 +02:00
harraiken 404595801d Migrate MM subsystem to C++
Builds / ExectOS (amd64, debug) (push) Failing after 24s
Builds / ExectOS (amd64, release) (push) Failing after 23s
Builds / ExectOS (i686, debug) (push) Failing after 22s
Builds / ExectOS (i686, release) (push) Failing after 21s
2025-09-15 22:15:07 +02:00
harraiken 4947f788d5 Migrate KE subsystem to C++
Builds / ExectOS (amd64, debug) (push) Failing after 23s
Builds / ExectOS (amd64, release) (push) Failing after 27s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (i686, release) (push) Failing after 25s
2025-09-09 23:20:50 +02:00
harraiken c409400cbf Correct VA masking in AMD64 page mapping functions
Builds / ExectOS (i686, release) (push) Successful in 26s
Builds / ExectOS (amd64, release) (push) Successful in 27s
Builds / ExectOS (amd64, debug) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 40s
2025-08-18 01:07:28 +02:00
harraiken 017b8603d5 Align parameters in PTE manipulation functions
Builds / ExectOS (amd64, debug) (push) Successful in 23s
Builds / ExectOS (i686, debug) (push) Successful in 25s
Builds / ExectOS (amd64, release) (push) Successful in 40s
Builds / ExectOS (i686, release) (push) Successful in 40s
2025-08-17 21:55:21 +02:00
harraiken a9dd1eaacd Implement MmpSetPteCaching function for AMD64 architecture
Builds / ExectOS (amd64, release) (push) Successful in 26s
Builds / ExectOS (i686, release) (push) Successful in 25s
Builds / ExectOS (amd64, debug) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 40s
2025-08-17 21:51:43 +02:00
harraiken f30d3df5b3 Implement PTE manipulation functions for AMD64 architecture
Builds / ExectOS (amd64, debug) (push) Failing after 18s
Builds / ExectOS (i686, debug) (push) Successful in 22s
Builds / ExectOS (amd64, release) (push) Failing after 34s
Builds / ExectOS (i686, release) (push) Successful in 31s
2025-08-17 21:48:28 +02:00
harraiken 1e11acee72 Refactor hardware memory mapping to use page map routine callbacks
Builds / ExectOS (i686, release) (push) Failing after 21s
Builds / ExectOS (i686, debug) (push) Failing after 23s
Builds / ExectOS (amd64, debug) (push) Successful in 41s
Builds / ExectOS (amd64, release) (push) Successful in 39s
2025-08-17 00:47:56 +02:00
harraiken 57193eecc0 Implement PML2/PML3 page table routines
Builds / ExectOS (amd64, debug) (push) Successful in 21s
Builds / ExectOS (i686, release) (push) Failing after 19s
Builds / ExectOS (amd64, release) (push) Successful in 34s
Builds / ExectOS (i686, debug) (push) Failing after 32s
2025-08-17 00:45:12 +02:00
harraiken 720d525b95 Assign page map routines
Builds / ExectOS (i686, release) (push) Failing after 21s
Builds / ExectOS (i686, debug) (push) Failing after 21s
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (amd64, release) (push) Successful in 37s
2025-08-17 00:29:28 +02:00
harraiken f77f2bbf92 Introduce architecture-specific page map routines
Builds / ExectOS (i686, release) (push) Failing after 23s
Builds / ExectOS (amd64, debug) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Failing after 31s
Builds / ExectOS (amd64, release) (push) Successful in 33s
2025-08-17 00:23:19 +02:00
harraiken 0ed59f223c Relocate page mapping helpers and add PML5 support
Builds / ExectOS (i686, release) (push) Failing after 23s
Builds / ExectOS (amd64, release) (push) Successful in 26s
Builds / ExectOS (amd64, debug) (push) Successful in 37s
Builds / ExectOS (i686, debug) (push) Failing after 35s
2025-08-16 21:07:54 +02:00