Commenting is nice (also disabled debug in FDD driver)
[tpg/acess2.git] / Kernel / arch / x86 / include / proc.h
1 /*
2  * AcessOS Microkernel Version
3  * proc.h
4  */
5 #ifndef _PROC_H
6 #define _PROC_H
7
8 #include <threads.h>
9
10 // === TYPES ===
11 #if USE_MP
12 typedef struct sCPU
13 {
14         Uint8   APICID;
15         Uint8   State;  // 0: Unavaliable, 1: Idle, 2: Active
16         Uint16  Resvd;
17         tThread *Current;
18 }       tCPU;
19 #endif
20
21 typedef struct sTSS {
22         Uint32  Link;
23         Uint32  ESP0, SS0;
24         Uint32  ESP1, SS1;
25         Uint32  ESP2, SS2;
26         Uint32  CR3;
27         Uint32  EIP;
28         Uint32  EFLAGS;
29         Uint32  EAX, ECX, EDX, EBX;
30         Uint32  ESP, EBP, ESI, EDI;
31         Uint32  ES, CS, DS, SS, FS, GS;
32         Uint32  LDTR;
33         Uint16  Resvd, IOPB;    // IO Permissions Bitmap
34 } __attribute__((packed)) tTSS;
35
36 // === FUNCTIONS ===
37 extern void     Proc_Start(void);
38 extern int      Proc_Clone(Uint *Err, Uint Flags);
39
40 #endif

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