aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/tasks/userspace.asm
diff options
context:
space:
mode:
authorMarvin Borner2020-04-26 23:23:42 +0200
committerMarvin Borner2020-04-26 23:23:42 +0200
commitf30c9803f05e90087e367953aa142275f8688f61 (patch)
treebea9166fad90c42ad4551094a5e6eec9098a7f19 /src/kernel/tasks/userspace.asm
parent31f671f2137bc09e62de09142bea232c1975c76b (diff)
Awesome new multitasking system and scheduler
Diffstat (limited to 'src/kernel/tasks/userspace.asm')
-rw-r--r--src/kernel/tasks/userspace.asm20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/kernel/tasks/userspace.asm b/src/kernel/tasks/userspace.asm
new file mode 100644
index 0000000..4f79d4d
--- /dev/null
+++ b/src/kernel/tasks/userspace.asm
@@ -0,0 +1,20 @@
+global jump_userspace
+extern hl_cr3
+extern hl_esp
+extern hl_eip
+
+jump_userspace:
+ mov ax, 0x23
+ mov ds, ax
+ mov es, ax
+ mov fs, ax
+ mov gs, ax
+
+ mov eax, dword [hl_esp]
+ push 0x23
+ push eax
+ pushf
+ push 0x1B
+ push dword [hl_eip]
+
+ iret \ No newline at end of file