Skip to contentSkip to conversation

Multiple vector domain support - change __ia64_local_vector_to_irq

RFC PATCH In review Kenji Kaneshige 1 participant 1 message Jul 14, 2005

lore
Share & tools
lore
#0 lore raw

RFC PATCH 5/10 Multiple vector domain support - change __ia64_local_vector_to_irq

This patch changes __ia64_local_vector_to_irq() to eliminate identity mapping between IA-64 vectors and linux IRQs.

---

 linux-2.6.13-rc1-kanesige/arch/ia64/kernel/irq.c    |    3 ++-
 linux-2.6.13-rc1-kanesige/include/asm-ia64/hw_irq.h |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
arch/ia64/kernel/irq.c renamed from arch/ia64/kernel/irq.c~vector-domain-ia64-change-__ia64_local_vector_to_irq +2 -1
diff -puN arch/ia64/kernel/irq.c~vector-domain-ia64-change-__ia64_local_vector_to_irq arch/ia64/kernel/irq.c
@@ -35,7 +35,8 @@ void ack_bad_irq(unsigned int irq)
 #ifdef CONFIG_IA64_GENERIC
 unsigned int __ia64_local_vector_to_irq (ia64_vector vec)
 {
-	return (unsigned int) vec;
+	int domain = ia64_cpu_to_domain(smp_processor_id());
+	return gsv_to_irq(domain_vector_to_gsv(domain, vec));
 }
 #endif
 
include/asm-ia64/hw_irq.h renamed from include/asm-ia64/hw_irq.h~vector-domain-ia64-change-__ia64_local_vector_to_irq +2 -1
diff -puN include/asm-ia64/hw_irq.h~vector-domain-ia64-change-__ia64_local_vector_to_irq include/asm-ia64/hw_irq.h
@@ -181,7 +181,8 @@ extern irq_desc_t irq_desc[NR_IRQS];
 static inline unsigned int
 __ia64_local_vector_to_irq (ia64_vector vec)
 {
-	return (unsigned int) vec;
+	int domain = ia64_cpu_to_domain(smp_processor_id());
+	return gsv_to_irq(domain_vector_to_gsv(domain, vec));
 }
 #endif
 

_