int giProc_BootProcessorID = 0;
#else
tThread *gCurrentThread = NULL;
+tThread *gpIdleThread = NULL;
#endif
#if USE_PAE
Uint32 *gPML4s[4] = NULL;
// Create Idle Task
if(Proc_Clone(0, 0) == 0)
{
- tThread *cur = Proc_GetCurThread();
- cur->ThreadName = "Idle Thread";
- Threads_SetTickets(0); // Never called randomly
- cur->Quantum = 1; // 1 slice quantum
+ gpIdleThread = Proc_GetCurThread();
+ gpIdleThread->ThreadName = "Idle Thread";
+ gpIdleThread->NumTickets = 0; // Never called randomly
+ gpIdleThread->Quantum = 1; // 1 slice quantum
for(;;) HALT(); // Just yeilds
}
if(thread == NULL) {
//HALT();
//return;
+ #if USE_MP
thread = gaCPUs[CPU].IdleThread;
+ #else
+ thread = gpIdleThread;
+ #endif
}
#if DEBUG_TRACE_SWITCH