diff options
| author | Aleksa Vuckovic <aleksav013@gmail.com> | 2023-02-01 04:00:48 +0100 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksav013@gmail.com> | 2023-02-01 04:00:58 +0100 |
| commit | bf20ce47a9d5dcad841e4549a68f4ec3db3c57de (patch) | |
| tree | ec01a57faea74ae9b0dc46ffb71221b4765114bf /kernel/src/boot | |
| parent | 03fa5edfa5562f2fd3a8895d85da2cdcdbb92377 (diff) | |
AP -> long mode; testing mutex
Diffstat (limited to 'kernel/src/boot')
| -rw-r--r-- | kernel/src/boot/boot.S | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/kernel/src/boot/boot.S b/kernel/src/boot/boot.S index 1833f73..f4cb290 100644 --- a/kernel/src/boot/boot.S +++ b/kernel/src/boot/boot.S @@ -3,10 +3,12 @@ .section .boot32.text, "a" +.set STACK_TOP, 0x03008000 + .global _start _start: cli - mov $stack_top, %esp + mov $STACK_TOP, %esp pushl $0 pushl %eax pushl $0 @@ -37,7 +39,7 @@ setup_page_tables: leal (%edx, %ecx, 8), %edx movl %eax, (%edx) inc %ecx - cmp $1, %ecx + cmp $25, %ecx jne 1b // first 2mb in hh @@ -58,11 +60,12 @@ setup_page_tables: leal (%edx, %ecx, 8), %edx movl %eax, (%edx) inc %ecx - cmp $1, %ecx + cmp $25, %ecx jne 2b ret +.global enable_paging enable_paging: // enable PAE mov %cr4, %edx @@ -104,6 +107,7 @@ gdt_data = . - gdt .byte 0x92 .byte 0xAF .byte 0 +.global gdtp gdtp: .word . - gdt - 1 .quad gdt @@ -122,7 +126,3 @@ pt_lvl2: .skip 4096 pt_lvl2_hh: .skip 4096 - -stack_bottom: - .skip 4096*8 -stack_top: |
