More work on x86_64 build, error handling and IDT
[tpg/acess2.git] / Kernel / arch / x86_64 / include / proc.h
1 /*
2  * Acess2 x86_64 Port
3  * 
4  * proc.h - Process/Thread management code
5  */
6 #ifndef _PROC_H_
7 #define _PROC_H_
8
9 #include <arch.h>
10
11 // Register Structure
12 // TODO: Rebuild once IDT code is done
13 typedef struct {
14         // MMX
15         // FPU
16         Uint    FS, GS;
17         Uint    RAX, RCX, RDX, RBX;
18     Uint        KernelRSP, RBP, RSI, RDI;
19         Uint    R8,  R9,  R10, R11;
20         Uint    R12, R13, R14, R15;
21     Uint        IntNum, ErrorCode;
22     Uint        RIP, CS;
23         Uint    RFlags, RSP, SS;
24 } tRegs;
25
26 /**
27  * \brief Memory State for thread handler
28  */
29 typedef struct sMemoryState
30 {
31         tPAddr  CR3;
32 }       tMemoryState;
33
34 /**
35  * \brief Task state for thread handler
36  */
37 typedef struct sTaskState
38 {
39         Uint    RIP, RSP, RBP;
40 }       tTaskState;
41
42 #endif
43

UCC git Repository :: git.ucc.asn.au