Fixing behavior of Threads_CloneTCB
[tpg/acess2.git] / Kernel / arch / x86 / proc.c
index b6dbfdd..2f59472 100644 (file)
@@ -24,6 +24,7 @@ extern tGDT   gGDT[];
 extern tIDT    gIDT[];
 extern void APStartup(void);   // 16-bit AP startup code
 extern Uint    GetEIP(void);   // start.asm
+extern int     GetCPUNum(void);        // start.asm
 extern Uint32  gaInitPageDir[1024];    // start.asm
 extern void    Kernel_Stack_Top;
 extern tSpinlock       glThreadListLock;
@@ -389,7 +390,8 @@ void Proc_Start(void)
 tThread *Proc_GetCurThread(void)
 {
        #if USE_MP
-       return gaCPUs[ gaAPIC_to_CPU[gpMP_LocalAPIC->ID.Val&0xFF] ].Current;
+       //return gaCPUs[ gaAPIC_to_CPU[gpMP_LocalAPIC->ID.Val&0xFF] ].Current;
+       return gaCPUs[ GetCPUNum() ].Current;
        #else
        return gCurrentThread;
        #endif

UCC git Repository :: git.ucc.asn.au