summaryrefslogtreecommitdiff
path: root/kernel/src/boot
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksav013@gmail.com>2023-02-01 04:00:48 +0100
committerAleksa Vuckovic <aleksav013@gmail.com>2023-02-01 04:00:58 +0100
commitbf20ce47a9d5dcad841e4549a68f4ec3db3c57de (patch)
treeec01a57faea74ae9b0dc46ffb71221b4765114bf /kernel/src/boot
parent03fa5edfa5562f2fd3a8895d85da2cdcdbb92377 (diff)
AP -> long mode; testing mutex
Diffstat (limited to 'kernel/src/boot')
-rw-r--r--kernel/src/boot/boot.S14
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: