]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
arm64: Use arch_timer_read_counter instead of arch_counter_get_cntvct
authorMarc Zyngier <marc.zyngier@arm.com>
Mon, 8 Apr 2019 15:49:03 +0000 (16:49 +0100)
committerWill Deacon <will.deacon@arm.com>
Tue, 30 Apr 2019 15:10:01 +0000 (16:10 +0100)
Only arch_timer_read_counter will guarantee that workarounds are
applied. So let's use this one instead of arch_counter_get_cntvct.

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/traps.c

index 8ad119c3f665d4e8001038ccf3bd6dcb62e2e224..6190a60388cf3b7215cdbf9ae068d5e2607fed5f 100644 (file)
@@ -493,7 +493,7 @@ static void cntvct_read_handler(unsigned int esr, struct pt_regs *regs)
 {
        int rt = ESR_ELx_SYS64_ISS_RT(esr);
 
-       pt_regs_write_reg(regs, rt, arch_counter_get_cntvct());
+       pt_regs_write_reg(regs, rt, arch_timer_read_counter());
        arm64_skip_faulting_instruction(regs, AARCH64_INSN_SIZE);
 }
 
@@ -665,7 +665,7 @@ static void compat_cntvct_read_handler(unsigned int esr, struct pt_regs *regs)
 {
        int rt = (esr & ESR_ELx_CP15_64_ISS_RT_MASK) >> ESR_ELx_CP15_64_ISS_RT_SHIFT;
        int rt2 = (esr & ESR_ELx_CP15_64_ISS_RT2_MASK) >> ESR_ELx_CP15_64_ISS_RT2_SHIFT;
-       u64 val = arch_counter_get_cntvct();
+       u64 val = arch_timer_read_counter();
 
        pt_regs_write_reg(regs, rt, lower_32_bits(val));
        pt_regs_write_reg(regs, rt2, upper_32_bits(val));