Kernel/x86 - Fixed SMP bug, #if'd out some dead code
authorJohn Hodge <[email protected]>
Sun, 15 Jan 2012 07:07:38 +0000 (15:07 +0800)
committerJohn Hodge <[email protected]>
Sun, 15 Jan 2012 07:07:38 +0000 (15:07 +0800)
- SMP (- instead of +) in restoring EAX
 > You idiot TPG.

Kernel/arch/x86/desctab.asm
Kernel/arch/x86/proc.c

index 8c7d320..6eaa651 100644 (file)
@@ -188,7 +188,7 @@ Isr0xEE:
        push eax        ; Line up with interrupt number
        mov eax, dr1    ; CPU Number
        push eax
-       mov eax, [esp-4]        ; Load EAX back
+       mov eax, [esp+4]        ; Load EAX back
        jmp SchedulerBase
 ; Spurious Interrupt
 [global Isr0xEF]
@@ -323,3 +323,5 @@ IRQCommon:
        popa
        add esp, 8      ; Error Code and ID
        iret
+
+; vim: ft=nasm ts=8
index 7d54d0c..30f318f 100644 (file)
@@ -973,6 +973,7 @@ void Proc_Reschedule(void)
  */
 void Proc_Scheduler(int CPU)
 {
+#if 0
        tThread *thread;
        
        // If the spinlock is set, let it complete
@@ -1005,7 +1006,6 @@ void Proc_Scheduler(int CPU)
                        regs->eflags &= ~0x100; // Clear TF
        }
 
-#if 0
        // TODO: Ack timer?
        #if USE_MP
        if( GetCPUNum() )

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