]> git.proxmox.com Git - mirror_qemu.git/commit
hw/intc/arm_gic: Fix handling of GICC_APR<n>, GICC_NSAPR<n> registers
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 8 Sep 2015 16:38:42 +0000 (17:38 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 8 Sep 2015 16:38:42 +0000 (17:38 +0100)
commit51fd06e0eee8257fdcc147200796e362cf2298ea
treed941d2e5a4372d431df4f0a93e44e06f71715307
parentdf92cfa60eef82dad112ca5c5d0239ec5ba7aac3
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
hw/intc/arm_gic.c
hw/intc/arm_gic_common.c
include/hw/intc/arm_gic_common.h