Kernel/x86 - Cleaning up and implmented address space nuking
[tpg/acess2.git] / Kernel / arch / x86 / include / proc.h
index 5e3fadd..9ecd98b 100644 (file)
@@ -5,19 +5,7 @@
 #ifndef _PROC_H
 #define _PROC_H
 
-#include <threads.h>
-
-// === TYPES ===
-#if USE_MP
-typedef struct sCPU
-{
-       Uint8   APICID;
-       Uint8   State;  // 0: Unavaliable, 1: Idle, 2: Active
-       Uint16  Resvd;
-       tThread *Current;
-}      tCPU;
-#endif
-
+// === TYPES ==
 typedef struct sTSS {
        Uint32  Link;
        Uint32  ESP0, SS0;
@@ -33,8 +21,29 @@ typedef struct sTSS {
        Uint16  Resvd, IOPB;    // IO Permissions Bitmap
 } __attribute__((packed)) tTSS;
 
-// === FUNCTIONS ===
-extern void    Proc_Start(void);
-extern int     Proc_Clone(Uint *Err, Uint Flags);
+typedef struct {
+       #if USE_PAE
+       Uint    PDPT[4];
+       #else
+       Uint32  CR3;
+       #endif
+} tMemoryState;
+
+// 512 bytes, 16 byte aligned
+typedef struct sSSEState
+{
+       char    data[512];
+} tSSEState;
+
+typedef struct {
+       Uint    EIP, ESP;
+       Uint32  UserCS, UserEIP;
+       tSSEState       *SSE;
+        int    bSSEModified;
+} tTaskState;
+
+#include <threads_int.h>
+
+#define USER_MAX       KERNEL_BASE
 
 #endif

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