diff options
author | dzwdz | 2024-08-02 01:20:40 +0200 |
---|---|---|
committer | dzwdz | 2024-08-02 01:20:40 +0200 |
commit | e818cab3f1fc4a3d4d0b8e2c9424fb2e7b1dff70 (patch) | |
tree | 5d59d2e0ea74253f5b265cdd542b74daca6dce5a /src/kernel/arch/amd64/sysenter.h | |
parent | 1890868af4b8cf2593a4b0831e2fc69a44ec680b (diff) |
*: use a generic UserRegs type everywhere I'm storing registers
mostly inspired by Plan 9's Ureg, probably obvious from the name
Diffstat (limited to 'src/kernel/arch/amd64/sysenter.h')
-rw-r--r-- | src/kernel/arch/amd64/sysenter.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/kernel/arch/amd64/sysenter.h b/src/kernel/arch/amd64/sysenter.h index 03a9f45..65c46f8 100644 --- a/src/kernel/arch/amd64/sysenter.h +++ b/src/kernel/arch/amd64/sysenter.h @@ -1,9 +1,14 @@ #pragma once #include <kernel/types.h> -// sysenter.c -extern CpuRegs _sysexit_regs; +typedef struct SysexitRegs SysexitRegs; +struct SysexitRegs { + UserRegs u; + char sse[512]; +}; +_Static_assert(sizeof(SysexitRegs) == 18 * 8 + 512); + +extern SysexitRegs _sysexit_regs; _Noreturn void sysenter_stage2(void); -// sysenter.s _Noreturn void _sysexit_real(void); |