git.cappig.dev / apheleiaOS.git master

d17794d4aa715a8882669f1490a564b4c4365f8d master
cappig <[email protected]> ยท 2 years ago
Fix map/unmap_page, add clone_table

* The kernel and bootloader will now map and unmap pages correctly
* Add clone_table(...), clones the entire page table (starting at lvl4)
  by allocating new pages
* Add bitfield representing page table entry
* A bunch more paging related fixes/refactors
* Other minor fixes (see diff)
14 files changed, 224 insertions, 73 deletions
boot/bios/paging.c +23 -8
kernel/arch/idt.h +4 -5
kernel/arch/idt_stubs.asm +18 -0
kernel/main.c +8 -1
kernel/mem/physical.c +1 -2
kernel/mem/virtual.c +101 -30
kernel/mem/virtual.h +4 -2
kernel/vfs/fs.h +2 -2
kernel/vfs/pty.h +1 -1
libs/base/addr.h +4 -4
libs/parse/elf.c +1 -1
libs/x86/asm.h +7 -0
libs/x86/paging.h +41 -15
libs/x86/regs.h +9 -2