[IA64] Add mapping table between irq and vector
authorYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Tue, 17 Jul 2007 12:22:23 +0000 (21:22 +0900)
committerTony Luck <tony.luck@intel.com>
Tue, 17 Jul 2007 16:51:49 +0000 (09:51 -0700)
commite1b30a392835e92581db09a4e8b4b2ad53a0c370
tree1a0dacd37e682dc4c2222f415f8035057d6bbc30
parentf8c087f31e1d3fbf1f7d0b3ea5e643f535e7de04
[IA64] Add mapping table between irq and vector

Add mapping tables between irqs and vectors, and its management code.
This is necessary for supporting multiple vector domain because 1:1
mapping between irq and vector will be changed to n:1.

The irq == vector relationship between irqs and vectors is explicitly
remained for percpu interrupts, platform interrupts, isa IRQs and
vectors assigned using assign_irq_vector() because some programs might
depend on it.

And I should consider the following problem.

When pci drivers enabled/disabled devices dynamically, its irq number
is changed to the different one. Therefore, suspend/resume code may
happen problem.

To fix this problem, I bound gsi to irq.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/iosapic.c
arch/ia64/kernel/irq.c
arch/ia64/kernel/irq_ia64.c
arch/ia64/kernel/smpboot.c
include/asm-ia64/hw_irq.h