aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2011-11-08 10:37:08 +0100
committerJan Beulich <jbeulich@suse.com>2011-11-08 10:37:08 +0100
commit4e84a8fad033bfd06faf6b9a2a2c58db885b6acb (patch)
tree071d8e0ad11e48aa6bdf0f5dd72285899e8aad94 /xen/arch/x86
parent22bdce1c04881c0e909817ee11f7cecd6c852d8c (diff)
downloadxen-4e84a8fad033bfd06faf6b9a2a2c58db885b6acb.tar.gz
xen-4e84a8fad033bfd06faf6b9a2a2c58db885b6acb.tar.bz2
xen-4e84a8fad033bfd06faf6b9a2a2c58db885b6acb.zip
eliminate remaining uses of struct irq_cfg
Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Diffstat (limited to 'xen/arch/x86')
-rw-r--r--xen/arch/x86/io_apic.c8
-rw-r--r--xen/arch/x86/irq.c8
2 files changed, 6 insertions, 10 deletions
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 94f151e26f..dea4316601 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -2279,7 +2279,6 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
int apic, pin, irq, ret, vector, pirq;
struct IO_APIC_route_entry rte = { 0 };
unsigned long flags;
- struct irq_cfg *cfg;
struct irq_desc *desc;
if ( (apic = ioapic_physbase_to_id(physbase)) < 0 )
@@ -2321,7 +2320,6 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
return irq;
desc = irq_to_desc(irq);
- cfg = &desc->arch;
/*
* Since PHYSDEVOP_alloc_irq_vector is dummy, rte.vector is the pirq
@@ -2338,7 +2336,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
spin_lock_irqsave(&ioapic_lock, flags);
ret = io_apic_read(apic, 0x10 + 2 * pin);
spin_unlock_irqrestore(&ioapic_lock, flags);
- rte.vector = cfg->vector;
+ rte.vector = desc->arch.vector;
if ( *(u32*)&rte != ret )
WARN_BOGUS_WRITE("old_entry=%08x pirq=%d\n%s: "
"Attempt to modify IO-APIC pin for in-use IRQ!\n",
@@ -2346,7 +2344,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
return 0;
}
- if ( cfg->vector <= 0 || cfg->vector > LAST_DYNAMIC_VECTOR ) {
+ if ( desc->arch.vector <= 0 || desc->arch.vector > LAST_DYNAMIC_VECTOR ) {
vector = assign_irq_vector(irq);
if ( vector < 0 )
return vector;
@@ -2370,7 +2368,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
/* Mask iff level triggered. */
rte.mask = rte.trigger;
/* Set the vector field to the real vector! */
- rte.vector = cfg->vector;
+ rte.vector = desc->arch.vector;
SET_DEST(rte.dest.dest32, rte.dest.logical.logical_dest,
cpu_mask_to_apicid(desc->arch.cpu_mask));
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 0271be93dc..16b5792d20 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -285,16 +285,14 @@ void destroy_irq(unsigned int irq)
int irq_to_vector(int irq)
{
int vector = -1;
- struct irq_cfg *cfg;
BUG_ON(irq >= nr_irqs || irq < 0);
if (IO_APIC_IRQ(irq))
vector = irq_vector[irq];
- else if(MSI_IRQ(irq)) {
- cfg = irq_cfg(irq);
- vector = cfg->vector;
- } else
+ else if (MSI_IRQ(irq))
+ vector = irq_to_desc(irq)->arch.vector;
+ else
vector = LEGACY_VECTOR(irq);
return vector;