X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Kernel%2Farch%2Fx86_64%2Finclude%2Fproc.h;h=2672ca144a9a41b4e8417febaaedc1c6c577db44;hb=182f31010e9cd84cc649e578a433169ee5c1cb5d;hp=016375f68c5d95fa75ff5f555c91cfee489a5ff7;hpb=a79ebcb3a2e206251f44e99376ec2ed6c2bacc63;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/include/proc.h b/Kernel/arch/x86_64/include/proc.h index 016375f6..2672ca14 100644 --- a/Kernel/arch/x86_64/include/proc.h +++ b/Kernel/arch/x86_64/include/proc.h @@ -8,11 +8,34 @@ #include +// Register Structure +// TODO: Rebuild once IDT code is done +typedef struct { + // MMX + // FPU + Uint FS, GS; + + Uint RAX, RCX, RDX, RBX; + Uint KernelRSP, RBP, RSI, RDI; + Uint R8, R9, R10, R11; + Uint R12, R13, R14, R15; + + Uint IntNum, ErrorCode; + Uint RIP, CS; + Uint RFlags, RSP, SS; +} tRegs; + +/** + * \brief Memory State for thread handler + */ typedef struct sMemoryState { tPAddr CR3; } tMemoryState; +/** + * \brief Task state for thread handler + */ typedef struct sTaskState { Uint RIP, RSP, RBP;