| From: |
| Vladimir Murzin <vladimir.murzin-AT-arm.com> |
| To: |
| linux-arm-kernel-AT-lists.infradead.org |
| Subject: |
| [PATCH v3 0/3] arm64: Support of PAuth QARMA3 architected algorithm |
| Date: |
| Thu, 24 Feb 2022 12:49:49 +0000 |
| Message-ID: |
| <20220224124952.119612-1-vladimir.murzin@arm.com> |
| Cc: |
| maz-AT-kernel.org, catalin.marinas-AT-arm.com, mark.rutland-AT-arm.com, will-AT-kernel.org |
| Archive-link: |
| Article |
QARMA3 is relaxed version of the QARMA5 algorithm which expected to
reduce the latency of calculation while still delivering a suitable
level of security.
Feature advertised via a new ID fields in ID_AA64ISAR2_EL1 [1], so we
need to teach the kernel to identify this.
[1] https://developer.arm.com/documentation/ddi0601/2021-12/A...
Changelog:
v1 -> v2
- Removed unintended whitespace change in sysreg.h
- FTR_ALIAS_OPTION_LEN now accounts null terminator
- Extract only APA3 bits from ID_AA64ISAR2_APA3_SHIFT (in
contrast to id_aa64isar1_el1 where both APA and API bits
are extracted) in asm_pointer_auth.h
v2 -> v3
- Removed WARN_ON(s) (per Will)
- Rebased on 5.17-rc5
Thanks!
Vladimir Murzin (3):
arm64: cpufeature: Account min_field_value when cheking secondaries
for PAuth
arm64: cpufeature: Mark existing PAuth architected algorithm as QARMA5
arm64: Add support of PAuth QARMA3 architected algorithm
arch/arm64/include/asm/asm_pointer_auth.h | 3 ++
arch/arm64/include/asm/cpufeature.h | 1 +
arch/arm64/include/asm/kvm_hyp.h | 1 +
arch/arm64/include/asm/sysreg.h | 12 ++++++
arch/arm64/kernel/cpufeature.c | 59 ++++++++++++++++++++++----
arch/arm64/kernel/idreg-override.c | 16 ++++++-
arch/arm64/kvm/arm.c | 1 +
arch/arm64/kvm/hyp/include/nvhe/fixed_config.h | 5 +++
arch/arm64/kvm/hyp/nvhe/sys_regs.c | 14 ++++++
arch/arm64/kvm/sys_regs.c | 5 +++
arch/arm64/tools/cpucaps | 6 ++-
11 files changed, 110 insertions(+), 13 deletions(-)
--
2.7.4
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel