[PATCH] SGI UV: hardcode the TLB flush interrupt system vector

Previous thread: [PATCH 1/5] Revert "kmemtrace: fix printk format warnings" by Eduard - Gabriel Munteanu on Tuesday, August 19, 2008 - 10:43 am. (30 messages)

Next thread: Re: INFO: task blocked for more than 120 seconds by Michael Madore on Tuesday, August 19, 2008 - 11:00 am. (2 messages)
From: Cliff Wickman
Date: Tuesday, August 19, 2008 - 10:51 am

From: Cliff Wickman <cpw@sgi.com>

The UV TLB shootdown mechanism needs a system interrupt vector.

Its vector had been hardcoded as 200, but needs to moved to the reserved
system vector range so that it does not collide with some device vector.

This is still temporary until dynamic system IRQ allocation is provided.
But it will be needed when real UV hardware becomes available and runs 2.6.27.

Diffed against 2.6.27-rc3

Signed-off-by: Cliff Wickman <cpw@sgi.com>
---
 arch/x86/kernel/tlb_uv.c      |    3 ++-
 include/asm-x86/irq_vectors.h |    1 +
 include/asm-x86/uv/uv_bau.h   |    5 -----
 3 files changed, 3 insertions(+), 6 deletions(-)

Index: linux/arch/x86/kernel/tlb_uv.c
===================================================================
--- linux.orig/arch/x86/kernel/tlb_uv.c
+++ linux/arch/x86/kernel/tlb_uv.c
@@ -18,6 +18,7 @@
 #include <asm/genapic.h>
 #include <asm/idle.h>
 #include <asm/tsc.h>
+#include <asm/irq_vectors.h>
 
 #include <mach_apic.h>
 
@@ -786,7 +787,7 @@ static int __init uv_bau_init(void)
 		uv_init_blade(blade, node, cur_cpu);
 		cur_cpu += uv_blade_nr_possible_cpus(blade);
 	}
-	set_intr_gate(UV_BAU_MESSAGE, uv_bau_message_intr1);
+	alloc_intr_gate(UV_BAU_MESSAGE, uv_bau_message_intr1);
 	uv_enable_timeouts();
 
 	return 0;
Index: linux/include/asm-x86/irq_vectors.h
===================================================================
--- linux.orig/include/asm-x86/irq_vectors.h
+++ linux/include/asm-x86/irq_vectors.h
@@ -76,6 +76,7 @@
 #define CALL_FUNCTION_SINGLE_VECTOR	0xfb
 #define THERMAL_APIC_VECTOR		0xfa
 #define THRESHOLD_APIC_VECTOR		0xf9
+#define UV_BAU_MESSAGE			0xf8
 #define INVALIDATE_TLB_VECTOR_END	0xf7
 #define INVALIDATE_TLB_VECTOR_START	0xf0	/* f0-f7 used for TLB flush */
 
Index: linux/include/asm-x86/uv/uv_bau.h
===================================================================
--- linux.orig/include/asm-x86/uv/uv_bau.h
+++ linux/include/asm-x86/uv/uv_bau.h
@@ -40,11 +40,6 @@
 #define ...
From: Ingo Molnar
Date: Wednesday, August 20, 2008 - 3:36 am

applied to tip/x86/urgent, thanks Cliff.

	Ingo
--

Previous thread: [PATCH 1/5] Revert "kmemtrace: fix printk format warnings" by Eduard - Gabriel Munteanu on Tuesday, August 19, 2008 - 10:43 am. (30 messages)

Next thread: Re: INFO: task blocked for more than 120 seconds by Michael Madore on Tuesday, August 19, 2008 - 11:00 am. (2 messages)