diff options
author | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2013-05-07 14:33:08 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-05-08 11:06:26 +0100 |
commit | fd13be77430baefbc9fd823a60085341242c24d2 (patch) | |
tree | 27ac4bee645962bc6d901151d8cbc1f77dad6ada /xen/include/asm-arm/irq.h | |
parent | 68385d841171d46985e2c41d751a2b81b3b3813b (diff) | |
download | xen-fd13be77430baefbc9fd823a60085341242c24d2.tar.gz xen-fd13be77430baefbc9fd823a60085341242c24d2.tar.bz2 xen-fd13be77430baefbc9fd823a60085341242c24d2.zip |
xen/gic: EOI irqs on the right pcpu
We need to write the irq number to GICC_DIR on the physical cpu that
previously received the interrupt, but currently we are doing it on the
pcpu that received the maintenance interrupt. As a consequence if a
vcpu is migrated to a different pcpu, the irq is going to be EOI'ed on
the wrong pcpu.
This covers the case where dom0 vcpu0 is running on pcpu1 for example
(you can test this scenario by using xl vcpu-pin).
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'xen/include/asm-arm/irq.h')
-rw-r--r-- | xen/include/asm-arm/irq.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xen/include/asm-arm/irq.h b/xen/include/asm-arm/irq.h index 9fc008ce61..eeb733a077 100644 --- a/xen/include/asm-arm/irq.h +++ b/xen/include/asm-arm/irq.h @@ -15,6 +15,7 @@ struct arch_pirq struct irq_cfg { #define arch_irq_desc irq_cfg + int eoi_cpu; }; #define NR_LOCAL_IRQS 32 |