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(-)

diff -puN 
arch/ia64/kernel/irq.c~vector-domain-ia64-change-__ia64_local_vector_to_irq 
arch/ia64/kernel/irq.c
--- 
linux-2.6.13-rc1/arch/ia64/kernel/irq.c~vector-domain-ia64-change-__ia64_local_vector_to_irq
        2005-07-13 16:12:48.000000000 +0900
+++ linux-2.6.13-rc1-kanesige/arch/ia64/kernel/irq.c    2005-07-13 
16:12:48.000000000 +0900
@@ -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
 
diff -puN 
include/asm-ia64/hw_irq.h~vector-domain-ia64-change-__ia64_local_vector_to_irq 
include/asm-ia64/hw_irq.h
--- 
linux-2.6.13-rc1/include/asm-ia64/hw_irq.h~vector-domain-ia64-change-__ia64_local_vector_to_irq
     2005-07-13 16:12:48.000000000 +0900
+++ linux-2.6.13-rc1-kanesige/include/asm-ia64/hw_irq.h 2005-07-13 
16:12:48.000000000 +0900
@@ -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
 

_


-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to