Revert "target/arm: Implement HCR.VI and VF"
commitc624ea0fa7ffc9e2cc3e2b36c92b5c960954489f
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 13 Nov 2018 10:47:59 +0000 (13 10:47 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 13 Nov 2018 10:47:59 +0000 (13 10:47 +0000)
treeec81aac233ea4318340c18897599f087218b3ccb
parent22af90255ec2100a44cbbb7f0460ba15eed79538
Revert "target/arm: Implement HCR.VI and VF"

This reverts commit 8a0fc3a29fc2315325400c738f807d0d4ae0ab7f.

The implementation of HCR.VI and VF in that commit is not
correct -- they do not track the overall "is there a pending
VIRQ or VFIQ" status, but whether there is a pending interrupt
due to "this mechanism", ie the hypervisor having set the VI/VF
bits. The overall pending state for VIRQ and VFIQ is effectively
the logical OR of the inbound lines from the GIC with the
VI and VF bits. Commit 8a0fc3a29fc231 would result in pending
VIRQ/VFIQ possibly being lost when the hypervisor wrote to HCR.

As a preliminary to implementing the HCR.VI/VF feature properly,
revert the broken one entirely.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20181109134731.11605-2-peter.maydell@linaro.org
target/arm/helper.c