// === IMPORTS ===
extern tGDT gGDT[];
-extern void APStartup(void); // 16-bit AP startup code
+extern void APStartup(void); // 16-bit AP startup code
extern Uint GetRIP(void); // start.asm
extern Uint64 gInitialPML4[512]; // start.asm
-extern void gInitialKernelStack;
+extern char gInitialKernelStack[];
extern tSpinlock glThreadListLock;
extern int giNumCPUs;
extern int giNextTID;
extern void Threads_Dump(void);
extern tThread *Threads_CloneTCB(Uint *Err, Uint Flags);
extern void Proc_ReturnToUser(void);
-extern void GetCPUNum(void);
+extern int GetCPUNum(void);
// === PROTOTYPES ===
void ArchThreads_Init(void);
tThread *Proc_GetCurThread(void)
{
#if USE_MP
- //return gaCPUs[ gaAPIC_to_CPU[gpMP_LocalAPIC->ID.Val&0xFF] ].Current;
return gaCPUs[ GetCPUNum() ].Current;
#else
return gCurrentThread;