]> xenbits.xensource.com Git - xen.git/commit
ARM: new VGIC: Add PENDING registers handlers
authorAndre Przywara <andre.przywara@linaro.org>
Wed, 7 Feb 2018 15:52:07 +0000 (15:52 +0000)
committerStefano Stabellini <sstabellini@kernel.org>
Wed, 28 Mar 2018 18:15:27 +0000 (11:15 -0700)
commit4feaf88d32b83fcaed1296bfa0a4ed59d9e36407
tree04cb435b337ba92a60a0af8ce15b2fde3cf75659
parent1a87a4972d719d98d586f507b2542ab358843a67
ARM: new VGIC: Add PENDING registers handlers

The pending register handlers are shared between the v2 and v3
emulation, so their implementation goes into vgic-mmio.c, to be easily
referenced from the v3 emulation as well later.
For level triggered interrupts the real line level is unaffected by
this write, so we keep this state separate and combine it with the
device's level to get the actual pending state.
Hardware mapped IRQs need some special handling, as their hardware state
has to be coordinated with the virtual pending bit to avoid hanging
or masked interrupts.

This is based on Linux commit 96b298000db4, written by Andre Przywara.

Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
Reviewed-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
xen/arch/arm/vgic/vgic-mmio-v2.c
xen/arch/arm/vgic/vgic-mmio.c
xen/arch/arm/vgic/vgic-mmio.h