Peter Maydell <peter.mayd...@linaro.org> writes: > In the gicv3_{irq,fiq,irqfiq}_access() functions, there is a check > which downgrades a CP_ACCESS_TRAP_EL3 to CP_ACCESS_TRAP if EL3 is not > AArch64. This has been there since the GIC was first implemented, > but it isn't right: if we are trapping because of SCR.IRQ or SCR.FIQ > then we definitely want to be going to EL3 (doing > AArch32.TakeMonitorTrapException() in pseudocode terms). We might > want to not take a trap at all, but we don't ever want to go to the > default target EL, because that would mean, for instance, taking a > trap to Hyp mode if the trapped access was made from Hyp mode. > > (This might have been an attempt to work around our failure to > properly implement Monitor Traps.) > > Remove the bogus check. > > Cc: qemu-sta...@nongnu.org > Fixes: 359fbe65e01e ("hw/intc/arm_gicv3: Implement GICv3 CPU interface > registers") > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
Reviewed-by: Alex Bennée <alex.ben...@linaro.org> -- Alex Bennée Virtualisation Tech Lead @ Linaro