arm64: Add support of PAuth QARMA3 architected algorithm
authorVladimir Murzin <vladimir.murzin@arm.com>
Thu, 24 Feb 2022 12:49:52 +0000 (12:49 +0000)
committerWill Deacon <will@kernel.org>
Fri, 25 Feb 2022 13:38:52 +0000 (13:38 +0000)
commitdef8c222f054d18aac1fd065a50b9db5feaefa9d
treed09cadc08823c4b0f5cb313e503836a03c1dd143
parentbe3256a086afb4048baf18e6a35a3a81482aa2fa
arm64: Add support of PAuth QARMA3 architected algorithm

QARMA3 is relaxed version of the QARMA5 algorithm which expected to
reduce the latency of calculation while still delivering a suitable
level of security.

Support for QARMA3 can be discovered via ID_AA64ISAR2_EL1

    APA3, bits [15:12] Indicates whether the QARMA3 algorithm is
                       implemented in the PE for address
                       authentication in AArch64 state.

    GPA3, bits [11:8]  Indicates whether the QARMA3 algorithm is
                       implemented in the PE for generic code
                       authentication in AArch64 state.

Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220224124952.119612-4-vladimir.murzin@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/asm_pointer_auth.h
arch/arm64/include/asm/cpufeature.h
arch/arm64/include/asm/kvm_hyp.h
arch/arm64/include/asm/sysreg.h
arch/arm64/kernel/cpufeature.c
arch/arm64/kernel/idreg-override.c
arch/arm64/kvm/arm.c
arch/arm64/kvm/hyp/include/nvhe/fixed_config.h
arch/arm64/kvm/hyp/nvhe/sys_regs.c
arch/arm64/kvm/sys_regs.c
arch/arm64/tools/cpucaps