diff options
| author | EmulatedSeasons <89668582+EmulatedSeasons@users.noreply.github.com> | 2024-04-06 00:03:29 -0400 |
|---|---|---|
| committer | EmulatedSeasons <89668582+EmulatedSeasons@users.noreply.github.com> | 2024-04-06 00:03:29 -0400 |
| commit | c42c64fa252940813e3efd51ab2c91b68f8f8dbd (patch) | |
| tree | 89e02da66dea28402a2a42b4c2bd9e76ac613e06 | |
| parent | 6a076c02d90a7201e5d8a1df9d5a366ef8e463e2 (diff) | |
| parent | 5fab9326c00aeda6647beab65e6a61f9954b9cfd (diff) | |
Merge branch 'master' of github.com:EmulatedSeasons/UnnamedOS2
| -rw-r--r-- | kernel/arch/i386/boot.asm | 31 | ||||
| -rw-r--r-- | kernel/arch/i386/multiboot.cpp | 1 |
2 files changed, 21 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
diff --git a/kernel/arch/i386/multiboot.cpp b/kernel/arch/i386/multiboot.cpp index 4ce94df..9f3eedb 100644 --- a/kernel/arch/i386/multiboot.cpp +++ b/kernel/arch/i386/multiboot.cpp @@ -7,6 +7,7 @@ // gets the memory map and stuff
extern "C" void multiboot_main(multiboot_info_t* mbd, uint32_t magic) {
terminal_initialize();
+ //printf("multiboot struc addr: %x\n", mbd);
if (magic != MULTIBOOT_BOOTLOADER_MAGIC) {
printf("Invalid multiboot magic number\n");
abort();
|
