diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2015-09-08 17:38:42 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2015-09-08 17:38:42 +0100 |
commit | 51fd06e0eee8257fdcc147200796e362cf2298ea (patch) | |
tree | d941d2e5a4372d431df4f0a93e44e06f71715307 /include | |
parent | df92cfa60eef82dad112ca5c5d0239ec5ba7aac3 (diff) | |
download | qemu-51fd06e0eee8257fdcc147200796e362cf2298ea.zip qemu-51fd06e0eee8257fdcc147200796e362cf2298ea.tar.gz qemu-51fd06e0eee8257fdcc147200796e362cf2298ea.tar.bz2 |
hw/intc/arm_gic: Fix handling of GICC_APR<n>, GICC_NSAPR<n> registers
A GICv2 has both GICC_APR<n> and GICC_NSAPR<n> registers, with
the latter holding the active priority bits for Group 1 interrupts
(usually Nonsecure interrupts), and the Nonsecure view of the
GICC_APR<n> is the second half of the GICC_NSAPR<n> registers.
Turn our half-hearted implementation of APR<n> into a proper
implementation of both APR<n> and NSAPR<n>:
* Add the underlying state for NSAPR<n>
* Make sure APR<n> aren't visible for pre-GICv2
* Implement reading of NSAPR<n>
* Make non-secure reads of APR<n> behave correctly
* Implement writing to APR<n> and NSAPR<n>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1438089748-5528-4-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/intc/arm_gic_common.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/hw/intc/arm_gic_common.h b/include/hw/intc/arm_gic_common.h index edca3e0..c4ec2c3 100644 --- a/include/hw/intc/arm_gic_common.h +++ b/include/hw/intc/arm_gic_common.h @@ -106,6 +106,7 @@ typedef struct GICState { * the GIC. */ uint32_t apr[GIC_NR_APRS][GIC_NCPU]; + uint32_t nsapr[GIC_NR_APRS][GIC_NCPU]; uint32_t num_cpu; |