]> git.proxmox.com Git - mirror_qemu.git/commitdiff
hw/intc/arm_gicv3: Check correct HCR_EL2 bit when routing IRQ
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 23 Jul 2018 18:03:37 +0000 (19:03 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 24 Jul 2018 10:42:15 +0000 (11:42 +0100)
In icc_dir_write() we were incorrectly checking HCR_EL2.FMO
when determining whether IRQ should be routed to EL2; this should
be HCR_EL2.IMO (compare the GICv3 pseudocode ICC_DIR_EL1[]).
Use the correct mask.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20180723180337.17378-1-peter.maydell@linaro.org

hw/intc/arm_gicv3_cpuif.c

index 5c89be1af0723d4896b3eb214763f2fb79743ef4..2a60568d82c70ee0d0f4b03ca0bf48a0196f47d9 100644 (file)
@@ -1550,7 +1550,7 @@ static void icc_dir_write(CPUARMState *env, const ARMCPRegInfo *ri,
      * tested in cases where we know !IsSecure is true.
      */
     route_fiq_to_el2 = env->cp15.hcr_el2 & HCR_FMO;
-    route_irq_to_el2 = env->cp15.hcr_el2 & HCR_FMO;
+    route_irq_to_el2 = env->cp15.hcr_el2 & HCR_IMO;
 
     switch (arm_current_el(env)) {
     case 3: