[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 0/9] Implement Most ARMv8.3 Pointer Authentication Features
From: |
Richard Henderson |
Subject: |
[PATCH v4 0/9] Implement Most ARMv8.3 Pointer Authentication Features |
Date: |
Mon, 21 Aug 2023 21:25:21 -0700 |
This is an update of Aaron's v3 [1].
There are a fair number of changes beyond a mere rebase:
* Updates to the test cases which fail with the new features.
* Updates to the documentation.
* Preserve pauth feature set when changing pauth algorithm.
* Rearrange feature detection:
- Add ARMPauthFeature
- Use it with isar_feature_pauth_feature
- Remove many of the isar predicates
The pauth_auth and pauth_addpac routines wind up making lots
of tests against the pauth feature set. Rather than recompute
the feature set many times for each predicate, compute it once
and compare against the enumerators.
* Algorithmic simplification of Pauth2 and FPAC using cmp_mask.
r~
[1]
https://patchew.org/QEMU/20230322202541.1404058-1-aaron@os.amperecomputing.com/
Aaron Lindsay (6):
target/arm: Add ID_AA64ISAR2_EL1
target/arm: Add feature detection for FEAT_Pauth2 and extensions
target/arm: Implement FEAT_EPAC
target/arm: Implement FEAT_Pauth2
targer/arm: Inform helpers whether a PAC instruction is 'combined'
target/arm: Implement FEAT_FPAC and FEAT_FPACCOMBINE
Richard Henderson (3):
tests/tcg/aarch64: Adjust pauth tests for FEAT_FPAC
target/arm: Don't change pauth features when changing algorithm
target/arm: Implement FEAT_PACQARMA3
docs/system/arm/cpu-features.rst | 21 ++--
docs/system/arm/emulation.rst | 7 ++
target/arm/cpu.h | 51 +++++++--
target/arm/syndrome.h | 7 ++
target/arm/tcg/helper-a64.h | 4 +
target/arm/arm-qmp-cmds.c | 2 +-
target/arm/cpu64.c | 86 ++++++++++----
target/arm/helper.c | 4 +-
target/arm/hvf/hvf.c | 1 +
target/arm/kvm64.c | 2 +
target/arm/tcg/cpu64.c | 2 +
target/arm/tcg/pauth_helper.c | 180 ++++++++++++++++++++++++------
target/arm/tcg/translate-a64.c | 12 +-
tests/qtest/arm-cpu-features.c | 12 +-
tests/tcg/aarch64/pauth-2.c | 61 ++++++++--
tests/tcg/aarch64/pauth-4.c | 28 ++++-
tests/tcg/aarch64/pauth-5.c | 20 ++++
tests/tcg/aarch64/Makefile.target | 5 +-
18 files changed, 409 insertions(+), 96 deletions(-)
--
2.34.1
- [PATCH v4 0/9] Implement Most ARMv8.3 Pointer Authentication Features,
Richard Henderson <=
- [PATCH v4 2/9] target/arm: Add ID_AA64ISAR2_EL1, Richard Henderson, 2023/08/22
- [PATCH v4 1/9] tests/tcg/aarch64: Adjust pauth tests for FEAT_FPAC, Richard Henderson, 2023/08/22
- [PATCH v4 3/9] target/arm: Add feature detection for FEAT_Pauth2 and extensions, Richard Henderson, 2023/08/22
- [PATCH v4 4/9] target/arm: Don't change pauth features when changing algorithm, Richard Henderson, 2023/08/22
- [PATCH v4 6/9] target/arm: Implement FEAT_EPAC, Richard Henderson, 2023/08/22