summaryrefslogtreecommitdiff
path: root/arch/i386/kernel/paging.c
AgeCommit message (Collapse)Author
2024-06-21arch: i386: paging: do the recursive paging trickDanny Holman
Map the page directory to the last page table. This allows the kernel to access every page table on the system from the address 0xFFC00000 plus an offset. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-05-29arch: i386: paging: make a temp map in init_page_tableDanny Holman
Make a temporary mapping for a alloc'd page in init_page_table. This ensures that the mapping is firmly inside the page table set aside for page accounting structures. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-05-29arch: i386: paging: remove ref to non-existant headerDanny Holman
Remove a reference to a non-existant header file in an include statement. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-05-29arch: i386: fix several bugs in paging subsystemDanny Holman
Fix several triple-faulting bugs in the paging initialization routines. These include causing a page fault during physical memory manager initialization, causing a page fault during paging initialization and other double-faulting and triple-faulting bugs. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-03-28arch: i386: kernel: add mostly finished PFA and paging systemDanny Holman
Add the mostly finished physical memory allocator and expose its functions to the paging system. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-02-24arch: i386: cleanup everything and reorganizeDanny Holman
Clean up everything in the i386 arch directory. This code has been in dire need of refactoring for a long while. All the inline assembly functions and the data structures related to the architecture should be placed into their own header file. Now the scheduler can access registers and ISRs without having to deal with arch-specific code. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-02-16arch: i386: roll physical memory control into VMMDanny Holman
The VMM should control the physical memory as well as paging. This allows the VMM to grab frames as it sees fit. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-11-26arch: i386: paging: add a proper paging APIDanny Holman
Add a proper page control API. These functions allow the kernel to directly map and unmap pages in the logical address space. Signed-off-by: Danny Holman <dholman@gymli.org>