From: Nathan Wagner Date: Tue, 25 Oct 2016 01:31:35 +0000 (-0500) Subject: low level assembly for amd64 memory X-Git-Url: https://pd.if.org/git/?p=zos;a=commitdiff_plain;h=bbbb05357f8c1c4e2f4fc039a6b2794e88e63114 low level assembly for amd64 memory --- 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