summaryrefslogtreecommitdiff
path: root/src/arch/amd64/boot.S
diff options
context:
space:
mode:
authortrimill <trimill@trimillxyz.org>2024-01-30 10:19:33 -0500
committertrimill <trimill@trimillxyz.org>2024-01-30 10:19:33 -0500
commit6b8f33c22d41488b88fcd35331867858d8f67763 (patch)
tree4a62ac9c6136a9e9b94cab0b6838add70accfe31 /src/arch/amd64/boot.S
parentrefactor, improve exception message (diff)
downloadcorn-6b8f33c22d41488b88fcd35331867858d8f67763.tar.gz
corn-6b8f33c22d41488b88fcd35331867858d8f67763.tar.bz2
corn-6b8f33c22d41488b88fcd35331867858d8f67763.zip
added backtraces
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