arm/gic: support injecting IRQs even to VCPUs not currently running
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Tue, 17 Jul 2012 16:22:05 +0000 (17:22 +0100)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Tue, 17 Jul 2012 16:22:05 +0000 (17:22 +0100)
commitc768227effe6230fd4a4ca08a19cf6b6b3631605
tree887f5fb70fe29e2fda5259d8ffbc78e3d8f5ede0
parent327530963011cc10c929631e3460cec3d3f5c725
arm/gic: support injecting IRQs even to VCPUs not currently running

The lr_pending list belongs to the vgic rather than the gic, so move it
there.

gic_set_guest_irq should take into account whether the vcpu is currently
running and if it is not it should add the irq to the right lr_pending
list.

When restoring the gic state we need to go through the lr_pending list
because it is possible that some irqs have been "injected" while the
vcpu wasn't running.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/gic.c
xen/arch/arm/gic.h
xen/arch/arm/vgic.c
xen/include/asm-arm/domain.h