X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86_64%2Finclude%2Farch.h;h=0dc99277a062ccb7b9fe370ca4e92fe4abd7bb6e;hb=9f407c493c33928e0f19b834699d9694036ca42e;hp=22c551fc218c818fd03181950ad8689e7124683c;hpb=43f12a083f112a410859597c5f45e78b1de2e7c8;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/include/arch.h b/Kernel/arch/x86_64/include/arch.h index 22c551fc..0dc99277 100644 --- a/Kernel/arch/x86_64/include/arch.h +++ b/Kernel/arch/x86_64/include/arch.h @@ -44,25 +44,24 @@ typedef volatile int tSpinlock; // TODO: Fix this structure typedef struct sSyscallRegs { - Uint Arg4, Arg5; // RDI, RSI - Uint Arg6; // RBP - Uint Resvd2[1]; // Kernel RSP union { - Uint Arg1; - Uint Error; - }; // RBX - union { - Uint Arg3; - Uint RetHi; // High 64 bits of ret - }; // RDX - Uint Arg2; // RCX - union { - Uint Num; - Uint Return; + Uint Num; + Uint Return; }; // RAX - Uint Resvd3[5]; // Int, Err, rip, CS, ... - Uint StackPointer; // RSP - Uint Resvd4[1]; // SS + Uint Arg4; // RCX + Uint Arg3; // RDX + Uint Error; // RBX + Uint Resvd1[2]; // Kernel RSP, RBP + Uint Arg2; // RSI + Uint Arg1; // RDI + Uint Arg5; // R8 + Uint Arg6; // R9 + Uint Resvd2[6]; // R10 - R15 + Uint Resvd3[5]; // IntNum, ErrCode, RIP, CS, RFLAGS + + Uint Resvd4[5]; // Int, Err, rip, CS, ... + Uint StackPointer; // RSP + Uint Resvd5[1]; // SS } tSyscallRegs; #endif