aboutsummaryrefslogtreecommitdiff
path: root/qom
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2017-01-20 11:15:10 +0000
committerPeter Maydell <peter.maydell@linaro.org>2017-01-20 11:15:10 +0000
commit86830554dbf5620dab50ba2aa91f86c247e99958 (patch)
treeb673573c64a2cf98430857a7af47844e040004cd /qom
parentc5fc89b36c0a167548ae7af40dc085707a7756d2 (diff)
downloadqemu-86830554dbf5620dab50ba2aa91f86c247e99958.zip
qemu-86830554dbf5620dab50ba2aa91f86c247e99958.tar.gz
qemu-86830554dbf5620dab50ba2aa91f86c247e99958.tar.bz2
hw/intc/arm_gicv3: Implement EL2 traps for CPU i/f regs
Implement the architecturally required traps from NS EL1 to EL2 for the CPU interface registers. These fall into several different groups: * group-0-only registers all trap if ICH_HRC_EL2.TALL0 is set (exactly the registers covered by gicv3_fiq_access()) * group-1-only registers all trap if ICH_HRC_EL2.TALL1 is set (exactly the registers covered by gicv3_irq_access()) * DIR traps if ICH_HCR_EL2.TC or ICH_HCR_EL2.TDIR are set * PMR, RPR, CTLR trap if ICH_HCR_EL2.TC is set * SGI0R, SGI1R, ASGI1R trap if ICH_HCR_EL2.TC is set or if HCR_EL2.IMO or HCR_EL2.FMO are set We split DIR and the SGI registers out into their own access functions, leaving the existing gicv3_irqfiq_access() just handling PMR, RPR and CTLR. This commit doesn't implement support for trapping on HSTR_EL2.T12 for the 32-bit registers, as we don't implement any of those per-coprocessor trap bits currently and probably will want to do those in some more centralized way. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1483977924-14522-14-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'qom')
0 files changed, 0 insertions, 0 deletions