Kernel - General fixing after ARM7 changes
[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         
18         Uint    RAX, RCX, RDX, RBX;
19         Uint    KernelRSP, RBP, RSI, RDI;
20         Uint    R8,  R9,  R10, R11;
21         Uint    R12, R13, R14, R15;
22         
23         Uint    IntNum, ErrorCode;
24         Uint    RIP, CS;
25         Uint    RFlags, RSP, SS;
26 } tRegs;
27
28 /**
29  * \brief Memory State for thread handler
30  */
31 typedef struct sMemoryState
32 {
33         tPAddr  CR3;
34 }       tMemoryState;
35
36 /**
37  * \brief Task state for thread handler
38  */
39 typedef struct sTaskState
40 {
41         Uint    RIP, RSP, RBP;
42         Uint64  UserRIP, UserCS;
43 }       tTaskState;
44
45 // === CONSTANTS ===
46 #define KERNEL_STACK_SIZE       0x10000 // 64 KiB
47
48 #endif
49

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