arch: regs: add abstractions to manipulate errno and return regs

This commit is contained in:
Matheus
2022-09-19 18:34:45 -03:00
parent 16753bf16d
commit 55b911fcd3
+10
View File
@@ -4,6 +4,8 @@
#include <stdint.h>
#include <stdbool.h>
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