aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64/hw_irq.h
diff options
context:
space:
mode:
authorYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>2007-07-17 08:22:33 -0400
committerTony Luck <tony.luck@intel.com>2007-07-17 12:52:13 -0400
commit4994be1b3fe9120c88022ff5c0c33f6312b17adb (patch)
treeb4d32c77681029d2b5dfd94b0eb5a09be0ccae9e /include/asm-ia64/hw_irq.h
parente1b30a392835e92581db09a4e8b4b2ad53a0c370 (diff)
[IA64] Add support for vector domain
Add fundamental support for multiple vector domain. There still exists only one vector domain even with this patch. IRQ migration across domain is not supported yet by this patch. 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>
Diffstat (limited to 'include/asm-ia64/hw_irq.h')
-rw-r--r--include/asm-ia64/hw_irq.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/asm-ia64/hw_irq.h b/include/asm-ia64/hw_irq.h
index 4eff7ff2da82..97ea3900d74a 100644
--- a/include/asm-ia64/hw_irq.h
+++ b/include/asm-ia64/hw_irq.h
@@ -92,14 +92,16 @@ extern __u8 isa_irq_to_vector_map[16];
92 92
93struct irq_cfg { 93struct irq_cfg {
94 ia64_vector vector; 94 ia64_vector vector;
95 cpumask_t domain;
95}; 96};
96extern spinlock_t vector_lock; 97extern spinlock_t vector_lock;
97extern struct irq_cfg irq_cfg[NR_IRQS]; 98extern struct irq_cfg irq_cfg[NR_IRQS];
99#define irq_to_domain(x) irq_cfg[(x)].domain
98DECLARE_PER_CPU(int[IA64_NUM_VECTORS], vector_irq); 100DECLARE_PER_CPU(int[IA64_NUM_VECTORS], vector_irq);
99 101
100extern struct hw_interrupt_type irq_type_ia64_lsapic; /* CPU-internal interrupt controller */ 102extern struct hw_interrupt_type irq_type_ia64_lsapic; /* CPU-internal interrupt controller */
101 103
102extern int bind_irq_vector(int irq, int vector); 104extern int bind_irq_vector(int irq, int vector, cpumask_t domain);
103extern int assign_irq_vector (int irq); /* allocate a free vector */ 105extern int assign_irq_vector (int irq); /* allocate a free vector */
104extern void free_irq_vector (int vector); 106extern void free_irq_vector (int vector);
105extern int reserve_irq_vector (int vector); 107extern int reserve_irq_vector (int vector);