X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86%2Finclude%2Fproc.h;h=9ecd98b553a2d2bb022fe38bcfacda496caa63a9;hb=a2495c6ea4f4cab16b5d339ae511428e92e89e73;hp=2b04b7572fc4756e601a9da23c21ae82db921a29;hpb=ccd6cf2af99fdc050888c70eb4d59f078a15a2da;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86/include/proc.h b/Kernel/arch/x86/include/proc.h index 2b04b757..9ecd98b5 100644 --- a/Kernel/arch/x86/include/proc.h +++ b/Kernel/arch/x86/include/proc.h @@ -5,8 +5,6 @@ #ifndef _PROC_H #define _PROC_H -#include - // === TYPES == typedef struct sTSS { Uint32 Link; @@ -23,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 + +#define USER_MAX KERNEL_BASE #endif