From 55b911fcd380e58f587cc546c1df95afcb44c677 Mon Sep 17 00:00:00 2001 From: Matheus Date: Mon, 19 Sep 2022 18:34:45 -0300 Subject: [PATCH] arch: regs: add abstractions to manipulate errno and return regs --- src/arch/x86_64/include/arch/regs.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/arch/x86_64/include/arch/regs.h b/src/arch/x86_64/include/arch/regs.h index b19462e7..cf7ddd72 100644 --- a/src/arch/x86_64/include/arch/regs.h +++ b/src/arch/x86_64/include/arch/regs.h @@ -4,6 +4,8 @@ #include #include +typedef uint64_t arch_reg; + typedef struct{ uint64_t gsbase, fsbase; uint8_t fx[512]; @@ -17,4 +19,12 @@ void arch_regs_setupextra(arch_extraregs* regs); void arch_regs_setupkernel(arch_regs* regs, void* ip, void* stack, bool interrupts); void arch_regs_setupuser(arch_regs* regs, void* ip, void* stack, bool interrupts); +static inline void arch_regs_setret(arch_regs* regs, arch_reg reg){ + regs->rax = reg; +} + +static inline void arch_regs_seterrno(arch_regs* regs, arch_reg reg){ + regs->rdx = reg; +} + #endif