فهرست منبع

[IA64] Clear pending interrupts at CPU boot up time

The pending interrupts can be remaining at boot up time on some
platform. This will cause spurious interrupts when interrupt is
enabled for the first time. This patch clears IVR at the CPU
initialization to eliminate such spurious interrupts.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Kenji Kaneshige 18 سال پیش
والد
کامیت
f740e6c9c5
1فایلهای تغییر یافته به همراه5 افزوده شده و 0 حذف شده
  1. 5 0
      arch/ia64/kernel/setup.c

+ 5 - 0
arch/ia64/kernel/setup.c

@@ -960,6 +960,11 @@ cpu_init (void)
 
 
 	/* clear TPR & XTP to enable all interrupt classes: */
 	/* clear TPR & XTP to enable all interrupt classes: */
 	ia64_setreg(_IA64_REG_CR_TPR, 0);
 	ia64_setreg(_IA64_REG_CR_TPR, 0);
+
+	/* Clear any pending interrupts left by SAL/EFI */
+	while (ia64_get_ivr() != IA64_SPURIOUS_INT_VECTOR)
+		ia64_eoi();
+
 #ifdef CONFIG_SMP
 #ifdef CONFIG_SMP
 	normal_xtp();
 	normal_xtp();
 #endif
 #endif