ARM: GIC: extend LR read/write functions to cover EOI and source
authorJulien Grall <julien.grall@arm.com>
Thu, 15 Mar 2018 20:30:13 +0000 (20:30 +0000)
committerJulien Grall <julien.grall@arm.com>
Tue, 20 Mar 2018 08:23:23 +0000 (08:23 +0000)
commit5cb00d181c799d414438476f3af6e4ecf6afad18
treea536531c2e4cf97d0e82c4d09664d9dff26f41e8
parentee375749052c649fc2710c73c7ce5371393f7742
ARM: GIC: extend LR read/write functions to cover EOI and source

So far our LR read/write functions do not handle the EOI bit and the
source CPUID bits in an LR, because the current VGIC implementation does
not use them.
Extend the gic_lr data structure to hold these bits of information by
using a union to differentiate field used depending on whether the vIRQ
has a corresponding pIRQ.

This allows the new VGIC to use this information.

This is based on the original patch sent by Andre Przywara [1].

[1] https://lists.xenproject.org/archives/html/xen-devel/2018-03/msg00435.html

Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
xen/arch/arm/gic-v2.c
xen/arch/arm/gic-v3.c
xen/include/asm-arm/gic.h
xen/include/asm-arm/gic_v3_defs.h