aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/boot.asm
diff options
context:
space:
mode:
authorMarvin Borner2020-01-16 17:15:53 +0100
committerMarvin Borner2020-01-16 17:15:53 +0100
commitcd3ad989210dc8a3f5805dd5d4c4a6bd74e281db (patch)
tree015fa67057b1ca14a86a8faf4d1cabb0356467b2 /src/kernel/boot.asm
parent602b98247e9c87e38870e39abf1d8b13aeae5d0f (diff)
Quite a different approach to userspace paging
Hope this works soon!
Diffstat (limited to 'src/kernel/boot.asm')
-rw-r--r--src/kernel/boot.asm12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/kernel/boot.asm b/src/kernel/boot.asm
index 6b95f4c..85d4254 100644
--- a/src/kernel/boot.asm
+++ b/src/kernel/boot.asm
@@ -29,7 +29,11 @@ section .text
global jump_userspace
jump_userspace:
cli
- mov ebx, dword [esp + 4]
+ push ebp
+ mov ebp, esp
+ mov edx, dword [esp + 0xC]
+ mov esp, edx
+ push 0xABCDEF
mov ax, 0x23
mov ds, ax
@@ -48,10 +52,12 @@ section .text
push eax
push 0x1B
- push ebx
- mov ebp, ebx
+ push dword [ebp + 8]
iret
+ pop ebp
+ ret
+
section .end_section
global ASM_KERNEL_END
ASM_KERNEL_END: