From aaa23fffd02fb49cdbc56a480dbb5a8fa95bff38 Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Sat, 25 Feb 2023 05:43:37 +0100 Subject: x86_64_regs.S: (push/pop)_(callee/caller)_regs --- kernel/src/sys/syscall_asm.S | 38 +++----------------------------------- 1 file changed, 3 insertions(+), 35 deletions(-) (limited to 'kernel/src/sys') diff --git a/kernel/src/sys/syscall_asm.S b/kernel/src/sys/syscall_asm.S index 2e3c0bb..8287e95 100644 --- a/kernel/src/sys/syscall_asm.S +++ b/kernel/src/sys/syscall_asm.S @@ -1,47 +1,15 @@ .extern syscall_handler -.macro pushall - push %rax - push %rbx - push %rcx - push %rdx - push %rsi - push %rdi - push %r8 - push %r9 - push %r10 - push %r11 - push %r12 - push %r13 - push %r14 - push %r15 -.endm - -.macro popall - pop %r15 - pop %r14 - pop %r13 - pop %r12 - pop %r11 - pop %r10 - pop %r9 - pop %r8 - pop %rdi - pop %rsi - pop %rdx - pop %rcx - pop %rbx - pop %rax -.endm +#include "x86_64_regs.S" .global __syscall __syscall: pushq %rcx pushq %r11 - pushall + push_caller_saved call syscall_handler - popall + pop_caller_saved popfq popq %rcx -- cgit v1.2.3