X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86%2Finclude%2Fproc.h;h=9ecd98b553a2d2bb022fe38bcfacda496caa63a9;hb=dcebc16c576aa98eb6a33047f4c4b2b69b30a1bc;hp=5a99c9c5d531ccafc5d1ca1e226bfc15fdf59a03;hpb=38e4b28d370c5f9284b285a71518ae2b6bce125c;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86/include/proc.h b/Kernel/arch/x86/include/proc.h index 5a99c9c5..9ecd98b5 100644 --- a/Kernel/arch/x86/include/proc.h +++ b/Kernel/arch/x86/include/proc.h @@ -5,13 +5,7 @@ #ifndef _PROC_H #define _PROC_H -#include - -// === CONSTANTS === -#define GETMSG_IGNORE ((void*)-1) - -// === TYPES === - +// === TYPES == typedef struct sTSS { Uint32 Link; Uint32 ESP0, SS0; @@ -27,8 +21,29 @@ typedef struct sTSS { Uint16 Resvd, IOPB; // IO Permissions Bitmap } __attribute__((packed)) tTSS; -// === FUNCTIONS === -extern void Proc_Start(); -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 + +#define USER_MAX KERNEL_BASE #endif