Commit Graph
507 Commits
Author SHA1 Message Date
harraiken 95a3b5d7e2 Refactor big allocation tracker to use Tag 2026-03-25 15:03:33 +01:00
harraiken 0375a08ca5 Add definitions for pool management structures 2026-03-25 15:03:33 +01:00
harraiken d55a8219e3 Revert e2eff2b836 2026-03-25 15:03:33 +01:00
harraiken 8a35727e43 Fix DebugPrint definition 2026-03-25 15:03:33 +01:00
harraiken 322fea763b Replace NULL with NULLPTR 2026-03-25 15:03:33 +01:00
harraiken 427c7ae810 Track valid physical memory pages using a PFN bitmap 2026-03-25 15:03:33 +01:00
harraiken d8a430ee42 Add runlevel verification to memory pool allocations 2026-03-25 15:03:33 +01:00
harraiken 66df8fddda Fix critical memory corruption bug caused by overwriting active page tables marked as free memory 2026-03-25 15:03:33 +01:00
harraiken 72b3fe8209 Set up owner pointers for all pages during pool initialization 2026-03-25 15:03:33 +01:00
harraiken b959e1908f Add MIN and MAX helper macros 2026-03-25 15:03:33 +01:00
harraiken cd60cd7b1a Implement page allocation interface 2026-03-25 15:03:33 +01:00
harraiken 50654a28b5 Add definition for guarded PTE flag and remove hardcoded value 2026-03-25 15:03:33 +01:00
harraiken 52355698a9 Refactor EFI memory mapping to support distinct mapping strategies 2026-03-25 15:03:33 +01:00
harraiken 94320928bc Refactor memory layout structure 2026-03-25 15:03:33 +01:00
harraiken bd7129ce13 Calculate total boot image size and pass it to kernel 2026-03-25 15:03:33 +01:00
harraiken af9cc43b1d Remove unused kernel base address definition 2026-03-25 15:03:33 +01:00
harraiken 2e0a32ca1d Rollback bootloader memory management changes 2026-03-25 15:03:33 +01:00
harraiken ae43f7c723 Drop obsolete KSEG0_KERNEL_BASE definition 2026-03-25 15:03:33 +01:00
harraiken edfae7ec6a Extract MapDescriptor logic and simplify memory mapping API 2026-03-25 15:03:33 +01:00
harraiken 31002b27be Clean up unused physical-to-virtual conversion routines 2026-03-25 15:03:33 +01:00
harraiken d2374799eb Temporary fix for PAE addressing limits and KSEG0 base mapping 2026-03-25 15:03:33 +01:00
harraiken 3270f920dd Remove dead code from paging and PTE management 2026-03-25 15:03:33 +01:00
harraiken 5e54aca398 Update modified page list enum terminology 2026-03-25 15:03:33 +01:00
harraiken 68604e1bc0 Update memory manager type definitions and constants 2026-03-25 15:03:33 +01:00
harraiken ed769e023f Respect architecture-specific PTE layouts and write PTEs via PML-aware helpers 2026-03-25 15:03:33 +01:00
harraiken be6ad1658f Update SelfMapAddress 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 28fc0ab435 Compute PTE count per page from entry size 2026-03-25 15:03:33 +01:00
harraiken df9028d425 Introduce kernel virtual memory layout 2026-03-25 15:03:33 +01:00
harraiken 117d174e6e Add PFN_COUNT typedef 2026-03-25 15:03:33 +01:00
harraiken 8334fe5a48 Correct LA57 paging base addresses, add self-map constants and extend PTE structures 2026-03-25 15:03:33 +01:00
harraiken b7f0f07f8b Add page list and PTE pool type enums 2026-03-25 15:03:33 +01:00
harraiken 05b9bb75a7 Add PTE attribute definitions 2026-03-25 15:03:33 +01:00
harraiken fd7cc019ee Unify MMPML2_PTE field naming convention 2026-03-25 15:03:33 +01:00
harraiken 779726c4d6 Add missing EmptyPteList field to MMPAGEMAP_INFO 2026-03-25 15:03:33 +01:00
belliash d1553ff84a Add SHA-1 hashing support
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (amd64, debug) (push) Successful in 35s
Builds / ExectOS (i686, debug) (push) Successful in 56s
Builds / ExectOS (i686, release) (push) Successful in 54s
2026-02-19 18:49:29 +01:00
belliash 94a8917c5c Revert RTL::LinkedList::RemoveEntryList() routine signature and extend RTL::LinkedList API
Builds / ExectOS (amd64, debug) (push) Successful in 38s
Builds / ExectOS (i686, debug) (push) Successful in 37s
Builds / ExectOS (amd64, release) (push) Successful in 1m17s
Builds / ExectOS (i686, release) (push) Successful in 1m14s
2026-02-16 15:43:00 +01:00
belliash 4b5188260f Fix build
Builds / ExectOS (i686, debug) (push) Successful in 33s
Builds / ExectOS (amd64, debug) (push) Successful in 36s
Builds / ExectOS (i686, release) (push) Successful in 47s
Builds / ExectOS (amd64, release) (push) Successful in 51s
2026-02-11 17:43:07 +01:00
belliash edb40dd62b Change RTL::LinkedList::RemoveEntryList() routine signature
Builds / ExectOS (amd64, debug) (push) Failing after 25s
Builds / ExectOS (i686, release) (push) Failing after 23s
Builds / ExectOS (amd64, release) (push) Failing after 44s
Builds / ExectOS (i686, debug) (push) Failing after 42s
2026-02-10 18:24:26 +01:00
harraiken 4e9dc15501 Define VIRTUAL macro
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (amd64, release) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 32s
Builds / ExectOS (i686, release) (push) Successful in 30s
2025-10-29 22:32:07 +01:00
harraiken 164ff0c135 Expand spinlock queue levels
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-28 08:35:34 +01:00
harraiken 00b04f5405 Refactor IDT gate setup to use explicit DPL and type fields
Builds / ExectOS (amd64, debug) (push) Successful in 35s
Builds / ExectOS (amd64, release) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Successful in 36s
Builds / ExectOS (i686, debug) (push) Successful in 32s
2025-10-18 18:29:49 +02:00
harraiken 9298aef87e Separate boolean definition for C and C++
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 27s
2025-09-23 19:06:18 +02:00
harraiken ed293c7e61 Finish moving global variables into classes
Builds / ExectOS (amd64, debug) (push) Successful in 34s
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 27s
2025-09-22 09:56:58 +02:00
harraiken d0aeaf1109 Unify XTLDR naming
Builds / ExectOS (amd64, release) (push) Successful in 27s
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 31s
2025-09-20 18:55:08 +02:00
harraiken 08a9a0273f Move trampoline handling code
Builds / ExectOS (amd64, release) (push) Successful in 29s
Builds / ExectOS (amd64, debug) (push) Successful in 31s
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 28s
2025-09-19 19:32:04 +02:00
harraiken 2b49b23d41 Add trampoline support and move assembler prototypes
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, debug) (push) Failing after 24s
Builds / ExectOS (i686, release) (push) Failing after 22s
2025-09-19 19:07:27 +02:00
harraiken 38f1af025c Add missing calling convention
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Successful in 29s
2025-09-19 17:21:20 +02:00
harraiken 7b357ebc54 Fix build after migration
Builds / ExectOS (amd64, debug) (push) Successful in 29s
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (i686, release) (push) Successful in 29s
Builds / ExectOS (i686, debug) (push) Successful in 32s
2025-09-19 13:41:05 +02:00