Message ID | 20230822042530.1026751-1-richard.henderson@linaro.org |
---|---|
Headers | show |
Series | Implement Most ARMv8.3 Pointer Authentication Features | expand |
On Tue, 22 Aug 2023 at 05:25, Richard Henderson <richard.henderson@linaro.org> wrote: > > 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. Thanks for the respin. (Looks like you forgot to cc Aaron on this.) -- PMM > > 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(-)