diff options
author | Marc Zyngier <maz@kernel.org> | 2023-04-13 14:23:42 +0100 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2023-04-13 14:23:42 +0100 |
commit | a6610435ac17de1ac727c90ad62c723d86c7ea36 (patch) | |
tree | 64b8b8d28d34041f9772fc974883b1c11ef3b165 /arch/arm64/include | |
parent | 2fe9e0fc21602339b82cdba58ef81a5a97d90ca2 (diff) | |
download | linux-stable-a6610435ac17de1ac727c90ad62c723d86c7ea36.tar.gz linux-stable-a6610435ac17de1ac727c90ad62c723d86c7ea36.tar.bz2 linux-stable-a6610435ac17de1ac727c90ad62c723d86c7ea36.zip |
KVM: arm64: Handle 32bit CNTPCTSS traps
When CNTPOFF isn't implemented and that we have a non-zero counter
offset, CNTPCT and CNTPCTSS are trapped. We properly handle the
former, but not the latter, as it is not present in the sysreg
table (despite being actually handled in the code). Bummer.
Just populate the cp15_64 table with the missing register.
Reported-by: Reiji Watanabe <reijiw@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'arch/arm64/include')
-rw-r--r-- | arch/arm64/include/asm/sysreg.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h index f8da9e1b0c11..a43f21559c3e 100644 --- a/arch/arm64/include/asm/sysreg.h +++ b/arch/arm64/include/asm/sysreg.h @@ -403,6 +403,7 @@ #define SYS_AARCH32_CNTP_CTL sys_reg(0, 0, 14, 2, 1) #define SYS_AARCH32_CNTPCT sys_reg(0, 0, 0, 14, 0) #define SYS_AARCH32_CNTP_CVAL sys_reg(0, 2, 0, 14, 0) +#define SYS_AARCH32_CNTPCTSS sys_reg(0, 8, 0, 14, 0) #define __PMEV_op2(n) ((n) & 0x7) #define __CNTR_CRm(n) (0x8 | (((n) >> 3) & 0x3)) |