Fiddling with the x86_64 port
[tpg/acess2.git] / Kernel / arch / x86_64 / include / proc.h
index 8217c68..94d2127 100644 (file)
 // Register Structure
 // TODO: Rebuild once IDT code is done
 typedef struct {
-       Uint    rax, rcx, rdx, rbx;
-    Uint       krsp, rbp, rsi, rdi;
-       Uint    r8, r9, r10, r11;
-       Uint    r12, r13, r14, r15;
-    Uint       int_num, err_code;
-    Uint       rip, cs;
-       Uint    rflags, rsp, ss;
+       // 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;
 
 /**
@@ -36,5 +41,12 @@ typedef struct sTaskState
        Uint    RIP, RSP, RBP;
 }      tTaskState;
 
+// === CONSTANTS ===
+#define KERNEL_STACK_SIZE      0x10000 // 64 KiB
+
+// === FUNCTIONS ===
+extern void    Proc_Start(void);
+extern int     Proc_Clone(Uint *Err, Uint Flags);
+
 #endif
 

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