diff options
| author | EmulatedSeasons <89668582+EmulatedSeasons@users.noreply.github.com> | 2024-04-05 17:24:49 -0400 | 
|---|---|---|
| committer | EmulatedSeasons <89668582+EmulatedSeasons@users.noreply.github.com> | 2024-04-05 17:24:49 -0400 | 
| commit | 5fab9326c00aeda6647beab65e6a61f9954b9cfd (patch) | |
| tree | 75a954aa59332b3ceb2e9e3a40c0c780b964483d /kernel/arch/i386/boot.asm | |
| parent | ec7e798c70e54cf10e6dddf465cb7f741f760e79 (diff) | |
started writing paging
Diffstat (limited to 'kernel/arch/i386/boot.asm')
| -rw-r--r-- | kernel/arch/i386/boot.asm | 31 | 
1 files changed, 20 insertions, 11 deletions
| 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
 | 
