summaryrefslogtreecommitdiff
path: root/kernel/paging.asm
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/paging.asm')
-rw-r--r--kernel/paging.asm16
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/paging.asm b/kernel/paging.asm
new file mode 100644
index 0000000..f1047a9
--- /dev/null
+++ b/kernel/paging.asm
@@ -0,0 +1,16 @@
+bits 64
+
+;see also ../documentation/memory.txt
+
+global switch_to_kernel_p4
+
+;from paging.cpp:
+extern __kernel_p4_paddr
+
+section .text
+
+switch_to_kernel_p4:
+ mov rax, qword [__kernel_p4_paddr]
+ mov cr3, rax
+ mov rsp, 0xfffffffffffff000
+ jmp rdi