From d1ff7bcc91886626dc9060ec5fb67ee102ab7c1d Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Mon, 11 Mar 2024 21:30:31 -0400 Subject: usermode capable kernel with logging syscall --- arch/x86_64/loadgdt.S | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 arch/x86_64/loadgdt.S (limited to 'arch/x86_64/loadgdt.S') diff --git a/arch/x86_64/loadgdt.S b/arch/x86_64/loadgdt.S new file mode 100644 index 0000000..e183850 --- /dev/null +++ b/arch/x86_64/loadgdt.S @@ -0,0 +1,24 @@ +.global x86_64_lgdt +.type x86_64_lgdt @function +x86_64_lgdt: + lgdt (%rdi) +.reload_segments: + pushq $0x8 + leaq .reload_cs, %rax + pushq %rax + retfq +.reload_cs: + movw $0x10, %ax + movw %ax, %ds + movw %ax, %es + movw %ax, %fs + movw %ax, %gs + movw %ax, %ss + retq + +.global x86_64_flush_tss +.type x86_64_flush_tss @function +x86_64_flush_tss: + movw $0x30, %ax + ltr %ax + retq -- cgit v1.2.1