From 5fab9326c00aeda6647beab65e6a61f9954b9cfd Mon Sep 17 00:00:00 2001 From: EmulatedSeasons <89668582+EmulatedSeasons@users.noreply.github.com> Date: Fri, 5 Apr 2024 17:24:49 -0400 Subject: started writing paging --- kernel/arch/i386/boot.asm | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'kernel/arch/i386/boot.asm') diff --git a/kernel/arch/i386/boot.asm b/kernel/arch/i386/boot.asm index 494d3ba..084bffb 100644 --- a/kernel/arch/i386/boot.asm +++ b/kernel/arch/i386/boot.asm @@ -22,6 +22,13 @@ stack_bottom: resb 16384 ; 16 KiB stack_top: +; temporary paging tables +align 4 +boot_page_directory: + resb 4096 +boot_page_table: + resb 4096 + section .text global _start:function (_start.end - _start) @@ -34,19 +41,12 @@ _start: push eax push ebx - ; setup paging (to map kernel to the higher half) - ;mov eax, 0 - ;mov cr3, eax - ;mov eax, cr0 - ;or eax, 0x80000001 - ;mov cr0, eax - ; get multiboot header data (for memory map) - extern multiboot_main - call multiboot_main + ;extern multiboot_main + ;call multiboot_main - extern _init - call _init + ;extern _init + ;Scall _init lgdt [gdt_descriptor] jmp 0x08:.gdt_jmp @@ -62,6 +62,15 @@ _start: .gdt_jmp2: + + + ; setup paging (to map kernel to the higher half) + ;mov eax, 0 + ;mov cr3, eax + ;mov eax, cr0 + ;or eax, 0x80000001 + ;mov cr0, eax + ; setup idt extern idt_setup call idt_setup -- cgit v1.2.3-70-g09d2