Increased user stack size, fiddling with error recovery
[tpg/acess2.git] / Kernel / arch / x86 / proc.c
index b6dbfdd..5406d2e 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
@@ -581,7 +583,7 @@ Uint Proc_MakeUserStack(void)
        if(i != -1)     return 0;
        
        // Allocate Stack - Allocate incrementally to clean up MM_Dump output
-       for( i = 0; i < USER_STACK_SZ/4069; i++ )
+       for( i = 0; i < USER_STACK_SZ/0x1000; i++ )
                MM_Allocate( base + (i<<12) );
        
        return base + USER_STACK_SZ;

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