From 912d2e3c7eb1baa71dda2c0a28aa5809eaa96f27 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sat, 16 Jul 2022 13:33:00 +0200 Subject: amd64: barely boot into kernel code --- src/kernel/arch/i386/sysenter.c | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 src/kernel/arch/i386/sysenter.c (limited to 'src/kernel/arch/i386/sysenter.c') diff --git a/src/kernel/arch/i386/sysenter.c b/src/kernel/arch/i386/sysenter.c deleted file mode 100644 index 5837474..0000000 --- a/src/kernel/arch/i386/sysenter.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -#include -#include -#include - -struct registers _sysexit_regs; - -void sysexit(struct registers regs) { - _sysexit_regs = regs; - _sysexit_regs.ecx = (uintptr_t) regs.esp; - _sysexit_regs.edx = (uintptr_t) regs.eip; - _sysexit_real(); - __builtin_unreachable(); -} - -_Noreturn void sysenter_stage2(void) { - struct registers *regs = &process_current->regs; - - *regs = _sysexit_regs; // save the registers - regs->esp = (userptr_t) regs->ecx; // fix them up - regs->eip = (userptr_t) regs->edx; - - _syscall(regs->eax, regs->ebx, - regs->esi, regs->edi, (uintptr_t)regs->ebp); - process_switch_any(); -} -- cgit v1.2.3