X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86_64%2Fproc.c;h=31dd80e373e4b321ff44ccf2a6823455be2ec393;hb=818dd00ebd8c60ea2d47a01a26381b4adc087bdb;hp=ed2b684348272f66f98f3e604c1ff04a651a9fa2;hpb=28eafc7611ec3d3f840845ec2b54025affd7bc1e;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/proc.c b/Kernel/arch/x86_64/proc.c index ed2b6843..31dd80e3 100644 --- a/Kernel/arch/x86_64/proc.c +++ b/Kernel/arch/x86_64/proc.c @@ -13,6 +13,7 @@ # include #endif #include +#include // === FLAGS === #define DEBUG_TRACE_SWITCH 0 @@ -45,11 +46,10 @@ extern int giNumActiveThreads; extern tThread gThreadZero; extern void Threads_Dump(void); extern void Proc_ReturnToUser(void); -extern int GetCPUNum(void); extern void Time_UpdateTimestamp(void); // === PROTOTYPES === -void ArchThreads_Init(void); +//void ArchThreads_Init(void); #if USE_MP void MP_StartAP(int CPU); void MP_SendIPI(Uint8 APICID, int Vector, int DeliveryMode); @@ -60,11 +60,11 @@ void Proc_ChangeStack(void); // int Proc_Clone(Uint *Err, Uint Flags); // int Proc_SpawnWorker(void); Uint Proc_MakeUserStack(void); -void Proc_StartUser(Uint Entrypoint, Uint *Bases, int ArgC, char **ArgV, char **EnvP, int DataSize); +//void Proc_StartUser(Uint Entrypoint, Uint *Bases, int ArgC, char **ArgV, char **EnvP, int DataSize); void Proc_StartProcess(Uint16 SS, Uint Stack, Uint Flags, Uint16 CS, Uint IP); int Proc_Demote(Uint *Err, int Dest, tRegs *Regs); -void Proc_CallFaultHandler(tThread *Thread); -void Proc_DumpThreadCPUState(tThread *Thread); +//void Proc_CallFaultHandler(tThread *Thread); +//void Proc_DumpThreadCPUState(tThread *Thread); void Proc_Scheduler(int CPU); // === GLOBALS === @@ -391,7 +391,7 @@ void Proc_Start(void) while( giNumInitingCPUs ) __asm__ __volatile__ ("hlt"); #else // Create Idle Task - if(Proc_Clone(0, 0) == 0) + if(Proc_Clone(0) == 0) { gaCPUs[0].IdleThread = Proc_GetCurThread(); gaCPUs[0].IdleThread->ThreadName = (char*)"Idle Thread"; @@ -477,10 +477,10 @@ void Proc_ChangeStack(void) } /** - * \fn int Proc_Clone(Uint *Err, Uint Flags) + * \fn int Proc_Clone(Uint Flags) * \brief Clone the current process */ -int Proc_Clone(Uint *Err, Uint Flags) +int Proc_Clone(Uint Flags) { tThread *newThread; tThread *cur = Proc_GetCurThread(); @@ -489,7 +489,7 @@ int Proc_Clone(Uint *Err, Uint Flags) __asm__ __volatile__ ("mov %%rsp, %0": "=r"(rsp)); __asm__ __volatile__ ("mov %%rbp, %0": "=r"(rbp)); - newThread = Threads_CloneTCB(Err, Flags); + newThread = Threads_CloneTCB(NULL, Flags); if(!newThread) return -1; Log("Proc_Clone: newThread = %p", newThread);