aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2025-12-23x86_64/memory: increase mapper log verbosityFelix Morgner1-3/+5
2025-12-22chore: ensure headers are lintedFelix Morgner3-0/+12
2025-12-22chore: clean up linter warningsFelix Morgner7-9/+10
2025-12-19kstd: move println to kstdFelix Morgner4-33/+33
2025-12-18x86_64/memory: simplify log messagesFelix Morgner1-2/+1
2025-12-17x86_64/memory: simplify region allocatorFelix Morgner2-30/+56
2025-12-17x86_64/memory: fix compile errorsFelix Morgner1-1/+1
2025-12-17x86_64/vga: fix scrolling implementationFelix Morgner3-18/+53
2025-12-16x86_64/cpu: fix cr3 configurationFelix Morgner1-5/+5
Previously, the address of the PML4 was being stored in the upper 52 bits of CR3. This is not correct, since the entire CR3 stores the frame aligned physical address of the PML4, with the lower bits being used for flags. This means, that in the implementation of the CR3 accessor, the frame number, not the address, must be stored, since the value type is designed using bitfields, reserving the upper 52 bits for address writes.
2025-12-15kapi/memory: initialize memory subsystemFelix Morgner3-15/+25
2025-12-15chore: fix missing includesFelix Morgner9-0/+25
2025-12-15kapi: remodel memory API to follow cio APIFelix Morgner1-24/+3
2025-12-15x86_64/boot: use high-mem address of MBIFelix Morgner4-6/+7
2025-12-12build: move platform configuration to presetFelix Morgner1-6/+0
2025-12-12x86_64/memory: silence linter warningFelix Morgner2-1/+2
2025-12-12x86_64/pre: remove ported implementationFelix Morgner24-2033/+0
2025-12-12x86_64/memory: clean up dependenciesFelix Morgner9-212/+180
2025-12-12x86_64/kapi: implement remaining mapping stepsFelix Morgner1-6/+48
2025-12-12x86_64/cpu: move register definitionsFelix Morgner3-19/+24
2025-12-12x86_64/cpu: flatten file hierarchyFelix Morgner4-3/+2
2025-12-12x86_64/cpu: update documentation and structureFelix Morgner2-73/+127
2025-12-12x86_64/cio: disable cursor by defaultFelix Morgner1-0/+1
2025-12-12x86_64/device_io: split port read/write featuresFelix Morgner2-46/+56
2025-12-12x86_64/device_io: switch to typed port io.Felix Morgner2-7/+19
2025-12-12x86_64/device_io: simplify implementationFelix Morgner1-102/+53
2025-12-11kapi: finish documentationFelix Morgner6-12/+12
2025-12-11docs: improve documentationFelix Morgner9-271/+440
2025-12-10kapi: extract page_mapper interfaceFelix Morgner11-122/+215
2025-12-10kstd: extract bitwise enum operationsFelix Morgner3-110/+42
2025-12-10x86_64/memory: implement simple kernel remapperFelix Morgner8-7/+246
2025-12-10x86_64/memory: fix scoped_mapping unmap logicFelix Morgner1-19/+13
2025-12-04x86_64/memory: simplify initialization implementationFelix Morgner1-13/+14
2025-12-03x86_64/memory: make scoped_mapping swappableFelix Morgner2-12/+23
2025-12-03x86_64/memory: only deallocate allocated framesFelix Morgner2-12/+28
2025-12-03x86_64/memory: add missing noexcept specifiersFelix Morgner1-2/+2
2025-12-03x86_64/memory: improve scoped_mapping docsFelix Morgner1-5/+30
2025-12-03x86_64/memory: fix return in scoped_mapping::mapFelix Morgner1-1/+1
Previously, scoped_mapping::map returned the start address of the frame. Unfortunately, the initial mapping performed in the bootstrap code maps physical memory starting at 0x0000'0000'0000'0000, which means no fault was triggered. The map function now correctly return the start address of the scoped_mapping's page, which must alway work by definition.
2025-12-03x86_64/boot: move stack to higher halfFelix Morgner2-7/+13
2025-12-02x86_64/memory: fix temporary page unmappingFelix Morgner2-1/+35
2025-12-02x86_64/memory: introduce frame allocation bufferFelix Morgner3-2/+72
2025-12-02x86_64: basic code cleanupFelix Morgner3-4/+6
2025-12-02kapi: make PLATFORM_*_SIZE constexprFelix Morgner3-4/+7
2025-12-02x86_64/build: automatically collect headersFelix Morgner1-23/+3
2025-12-02x86_64/memory: extract PML4 injectionFelix Morgner6-84/+103
2025-12-02x86_64/memory: extend scoped_mappingFelix Morgner4-1/+71
2025-12-01x86_64/memory: prepare scoped_mapping extractionFelix Morgner4-0/+126
2025-12-01x86_64/memory: implement PML4 injectionFelix Morgner1-3/+71
2025-12-01x86_64/memory: prevent copying of page rootFelix Morgner1-0/+5
2025-11-30x86_64/memory: fix entry checksFelix Morgner1-2/+2
2025-11-28x86_64: port basic page and page table abstractionsFelix Morgner6-4/+252