Separated Architecture independent thread controll into the root of the tree
[tpg/acess2.git] / Kernel / arch / x86 / include / proc.h
index 6e559be..6619ec0 100644 (file)
@@ -5,52 +5,12 @@
 #ifndef _PROC_H
 #define _PROC_H
 
+#include <threads.h>
+
 // === CONSTANTS ===
 #define GETMSG_IGNORE  ((void*)-1)
 
 // === TYPES ===
-typedef struct sMessage {
-       struct sMessage *Next;
-       Uint    Source;
-       Uint    Length;
-       Uint8   Data[];
-} tMsg;        // sizeof = 12+
-
-typedef struct sThread {
-       struct sThread  *Next;
-        int    IsLocked;
-        int    Status; //!< Thread Status
-       
-       Uint    TID;    //!< Thread ID
-       Uint    TGID;   //!< Thread Group (Process)
-       Uint    UID, GID;       //!< User and Group
-       char    *ThreadName;    //!< Name of thread
-       
-       Uint    ESP, EBP, EIP;  //!< State on switch
-       #if USE_PAE
-       Uint64  PML4[3];        //!< Address Space
-       #else
-       Uint    CR3;    //!< Memory Space
-       #endif
-       
-       Uint    KernelStack;    //!< Thread's Kernel Stack
-       
-       tMsg    *Messages;      //!< Message Queue
-       tMsg    *LastMessage;   //!< Last Message (speeds up insertion)
-       
-        int    Quantum, Remaining;     //!< Quantum Size and remaining timesteps
-        int    NumTickets;     //!< Priority - Chance of gaining CPU
-       
-       Uint    Config[NUM_CFG_ENTRIES];        //!< Per-process configuration
-} tThread;     // sizeof = 68
-
-enum {
-       THREAD_STAT_NULL,
-       THREAD_STAT_ACTIVE,
-       THREAD_STAT_SLEEPING,
-       THREAD_STAT_WAITING,
-       THREAD_STAT_DEAD
-};
 
 typedef struct sTSS {
        Uint32  Link;
@@ -67,17 +27,8 @@ typedef struct sTSS {
        Uint16  Resvd, IOPB;    // IO Permissions Bitmap
 } tTSS;
 
-// === GLOBALS ===
-extern tThread *gCurrentThread;
-
 // === FUNCTIONS ===
 extern void    Proc_Start();
 extern int     Proc_Clone(Uint *Err, Uint Flags);
-extern void Proc_Exit();
-extern void Proc_Yield();
-extern void Proc_Sleep();
-extern void Proc_SetTickets(int Num);
-extern tThread *Proc_GetThread(Uint TID);
-extern void    Thread_Wake(tThread *Thread);
 
 #endif

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