More work on x86_64 port of usermode
[tpg/acess2.git] / Kernel / arch / x86_64 / include / proc.h
index d78019d..94d2127 100644 (file)
 // Register Structure
 // TODO: Rebuild once IDT code is done
 typedef struct {
-       Uint    ds, es, fs, gs;
-       Uint    r15, r14, r13, r12;
-       Uint    r11, r10, r9, r8;
-    Uint       rdi, rsi, rbp, krsp;
-       Uint    rbx, rdx, rcx, rax;
-    Uint       int_num, err_code;
-    Uint       eip, cs;
-       Uint    eflags, esp, 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;
 
 /**
@@ -37,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