summaryrefslogtreecommitdiff
path: root/src/arch/amd64/boot.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/amd64/boot.S')
-rw-r--r--src/arch/amd64/boot.S7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/arch/amd64/boot.S b/src/arch/amd64/boot.S
index c6145d5..6768beb 100644
--- a/src/arch/amd64/boot.S
+++ b/src/arch/amd64/boot.S
@@ -136,13 +136,16 @@ start:
bits 64
code64:
- mov dx, 16
- mov ds, dx
+ mov dx, 16 ; set segment registers
+ mov ds, dx ; so that interrupts work
mov ss, dx
+ xor rbp, rbp ; set ebp to 0 so we know where to end stack traces
+
pop rdi
call amd64_shim
mov rdi, rax
+
sti
call kmain
cli