mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2024-10-21 08:08:17 +02:00
92bf8ee620
In commit 8a0fc3a29fc2315325400 we tried to implement HCR_EL2.{VI,VF}, but we got it wrong and had to revert it. In that commit we implemented them as simply tracking whether there is a pending virtual IRQ or virtual FIQ. This is not correct -- these bits cause a software-generated VIRQ/VFIQ, which is distinct from whether there is a hardware-generated VIRQ/VFIQ caused by the external interrupt controller. So we need to track separately the HCR_EL2 bit state and the external virq/vfiq line state, and OR the two together to get the actual pending VIRQ/VFIQ state. Fixes: 8a0fc3a29fc2315325400c738f807d0d4ae0ab7f Backports commit 89430fc6f80a5aef1d4cbd6fc26b40c30793786c from qemu |
||
---|---|---|
.. | ||
arm_ldst.h | ||
arm-powerctl.c | ||
arm-powerctl.h | ||
cpu64.c | ||
cpu-qom.h | ||
cpu.c | ||
cpu.h | ||
crypto_helper.c | ||
helper-a64.c | ||
helper-a64.h | ||
helper-sve.h | ||
helper.c | ||
helper.h | ||
internals.h | ||
iwmmxt_helper.c | ||
kvm-consts.h | ||
Makefile.objs | ||
neon_helper.c | ||
op_addsub.h | ||
op_helper.c | ||
psci.c | ||
sve_helper.c | ||
sve.decode | ||
translate-a64.c | ||
translate-a64.h | ||
translate-sve.c | ||
translate.c | ||
translate.h | ||
unicorn_aarch64.c | ||
unicorn_arm.c | ||
unicorn.h | ||
vec_helper.c |