From 7009aab6b04807e085c7e218965e1e8000a2bbbe Mon Sep 17 00:00:00 2001
From: John Hodge <tpg@mutabah.net>
Date: Sun, 15 Jan 2012 15:07:38 +0800
Subject: [PATCH] Kernel/x86 - Fixed SMP bug, #if'd out some dead code

- SMP (- instead of +) in restoring EAX
 > You idiot TPG.
---
 Kernel/arch/x86/desctab.asm | 4 +++-
 Kernel/arch/x86/proc.c      | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/Kernel/arch/x86/desctab.asm b/Kernel/arch/x86/desctab.asm
index 8c7d320e..6eaa651a 100644
--- a/Kernel/arch/x86/desctab.asm
+++ b/Kernel/arch/x86/desctab.asm
@@ -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
diff --git a/Kernel/arch/x86/proc.c b/Kernel/arch/x86/proc.c
index 7d54d0c2..30f318f3 100644
--- a/Kernel/arch/x86/proc.c
+++ b/Kernel/arch/x86/proc.c
@@ -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() )
-- 
GitLab