From: Peter Maydell Date: Fri, 7 Mar 2025 10:08:20 +0000 (+0000) Subject: target/arm: Don't apply CNTVOFF_EL2 for EL2_VIRT timer X-Git-Tag: v9.2.3~39 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=033367d0af198728ba50af169f2a84b7fe03102b;p=thirdparty%2Fqemu.git target/arm: Don't apply CNTVOFF_EL2 for EL2_VIRT timer The CNTVOFF_EL2 offset register should only be applied for accessses to CNTVCT_EL0 and for the EL1 virtual timer (CNTV_*). We were incorrectly applying it for the EL2 virtual timer (CNTHV_*). Cc: qemu-stable@nongnu.org Signed-off-by: Peter Maydell Reviewed-by: Alex Bennée Message-id: 20250204125009.2281315-3-peter.maydell@linaro.org (cherry picked from commit 5709038aa8b4d58b8c201ed53c327074173a35c6) Signed-off-by: Michael Tokarev --- diff --git a/target/arm/helper.c b/target/arm/helper.c index 417801d9c3..404ef983f3 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -2871,7 +2871,6 @@ static uint64_t gt_tval_read(CPUARMState *env, const ARMCPRegInfo *ri, switch (timeridx) { case GTIMER_VIRT: - case GTIMER_HYPVIRT: offset = gt_virt_cnt_offset(env); break; case GTIMER_PHYS: @@ -2891,7 +2890,6 @@ static void gt_tval_write(CPUARMState *env, const ARMCPRegInfo *ri, switch (timeridx) { case GTIMER_VIRT: - case GTIMER_HYPVIRT: offset = gt_virt_cnt_offset(env); break; case GTIMER_PHYS: