Multiple vector domain support - change __ia64_local_vector_to_irq
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.
Signed-off-by Kenji Kaneshige <[email protected]>
---
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
@@ -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
@@ -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
_