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