From bbbb05357f8c1c4e2f4fc039a6b2794e88e63114 Mon Sep 17 00:00:00 2001 From: Nathan Wagner Date: Mon, 24 Oct 2016 20:31:35 -0500 Subject: [PATCH] low level assembly for amd64 memory --- memx64.s | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 memx64.s diff --git a/memx64.s b/memx64.s new file mode 100644 index 0000000..f0b63cb --- /dev/null +++ b/memx64.s @@ -0,0 +1,23 @@ +global flush_tlb:function +global switch_address_space:function + +flush_tlb: + invlpg [rdi] + ret + +switch_address_space: + ; clear the reserved bits + mov rax, 0x000FFFFFFFFFF018 + and rax, rdi + + mov cr3, rax + ret + +global getcr3:function +getcr3: + mov rax, cr3 + ret + +section .data +switchp: + db 'switching to space %llx', 0xA, 0 -- 2.40.0