Misc - Cleaning up logging output
[tpg/acess2.git] / Kernel / arch / x86 / proc.c
index cdb51b6..dfde359 100644 (file)
@@ -57,7 +57,6 @@ extern char   scheduler_return[];     // Return address in SchedulerBase
 extern char    IRQCommon[];    // Common IRQ handler code
 extern char    IRQCommon_handled[];    // IRQCommon call return location
 extern char    GetEIP_Sched_ret[];     // GetEIP call return location
-extern void    Threads_AddToDelete(tThread *Thread);
 extern void    SwitchTasks(Uint NewSP, Uint *OldSP, Uint NewIP, Uint *OldIO, Uint CR3);
 extern void    Proc_InitialiseSSE(void);
 extern void    Proc_SaveSSE(Uint DestPtr);
@@ -94,7 +93,9 @@ Uint8 gaAPIC_to_CPU[256] = {0};
  int   giProc_BootProcessorID = 0;
 tTSS   gaTSSs[MAX_CPUS];       // TSS Array
 #endif
-tCPU   gaCPUs[MAX_CPUS];
+tCPU   gaCPUs[MAX_CPUS] = {
+       {.Current = &gThreadZero}
+       };
 tTSS   *gTSSs = NULL;  // Pointer to TSS array
 tTSS   gTSS0 = {0};
 // --- Error Recovery ---
@@ -316,7 +317,7 @@ void ArchThreads_Init(void)
        outb(0x40, TIMER_DIVISOR&0xFF); // Low Byte of Divisor
        outb(0x40, (TIMER_DIVISOR>>8)&0xFF);    // High Byte
        
-       Log("Timer Frequency %i.%03i Hz",
+       Log_Debug("Proc", "PIT Frequency %i.%03i Hz",
                TIMER_BASE/TIMER_DIVISOR,
                ((Uint64)TIMER_BASE*1000/TIMER_DIVISOR)%1000
                );
@@ -558,6 +559,7 @@ void Proc_ChangeStack(void)
 
 void Proc_ClearThread(tThread *Thread)
 {
+       Log_Warning("Proc", "TODO: Nuke address space etc");
        if(Thread->SavedState.SSE) {
                free(Thread->SavedState.SSE);
                Thread->SavedState.SSE = NULL;
@@ -593,7 +595,7 @@ int Proc_NewKThread(void (*Fcn)(void*), void *Data)
        newThread->SavedState.ESP = esp;
        newThread->SavedState.EIP = (Uint)&NewTaskHeader;
        newThread->SavedState.SSE = NULL;
-       Log("New (KThread) %p, esp = %p\n", newThread->SavedState.EIP, newThread->SavedState.ESP);
+//     Log("New (KThread) %p, esp = %p", newThread->SavedState.EIP, newThread->SavedState.ESP);
        
 //     MAGIC_BREAK();  
        Threads_AddActive(newThread);
@@ -636,7 +638,7 @@ int Proc_Clone(Uint Flags)
        // Check for errors
        if( newThread->MemState.CR3 == 0 ) {
                Log_Error("Proc", "Proc_Clone: MM_Clone failed");
-               Threads_AddToDelete(newThread);
+               Threads_Delete(newThread);
                return -1;
        }
 

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