-
Notifications
You must be signed in to change notification settings - Fork 566
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
i#5475 Add FEATURE_ detection for AArch64 #5491
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This patch reads from the ID_AA64ISAR0_EL1 features register and sets the following if supported: FEATURE_AES FEATURE_PMULL FEATURE_SHA1 FEATURE_SHA256 FEATURE_SHA512 FEATURE_CRC32 FEATURE_LSE FEATURE_RDM FEATURE_SM3 FEATURE_SM4 FEATURE_DotProd FEATURE_FHM FEATURE_FlagM2 FEATURE_RNG FEATURE_SHA3 FEATURE_FlagM Example output in logfile: - - - snip Processor features: ID_AA64ISAR0_EL1 = 0x0000000000011120 Processor has FEATURE_AES Processor has FEATURE_PMULL Processor has FEATURE_SHA1 Processor has FEATURE_SHA256 Processor has FEATURE_CRC32 - - - snip ID_AA64ISAR1_EL1 and ID_AA64PFR0_EL1 are also read. The features for these will be implemented in the next patch. Issues: #5474, #1569
AssadHashmi
changed the title
i#5474 Add FEATURE_ detection for AArch64
i#5475 Add FEATURE_ detection for AArch64
May 11, 2022
derekbruening
approved these changes
May 16, 2022
Turns out this broke our internal build which sets |
AssadHashmi
added a commit
that referenced
this pull request
Jul 11, 2022
This patch implements the codec side of the AArch64 FEATURE_ support patch, PR #5491. A feature name field is added to each opcode in codec_*.txt files which is used to generate feature checks in the encoder, e.g. switch (instr->opcode) { case OP_cas: # if !defined(DR_HOST_NOT_TARGET) && !defined(STANDALONE_DECODER) if (!proc_has_feature(FEATURE_LSE)) return ENCFAIL; # endif enc = encode_opndsgen_08a07c00_001f03ff(pc, instr,..., di); if (enc != ENCFAIL) return enc; Issues: #5475, #1569, #2626
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch reads from the ID_AA64ISAR0_EL1 features register and sets
the following if supported:
FEATURE_AES FEATURE_PMULL FEATURE_SHA1 FEATURE_SHA256
FEATURE_SHA512 FEATURE_CRC32 FEATURE_LSE FEATURE_RDM
FEATURE_SM3 FEATURE_SM4 FEATURE_DotProd FEATURE_FHM
FEATURE_FlagM2 FEATURE_RNG FEATURE_SHA3 FEATURE_FlagM
Example output in logfile:
Processor features:
ID_AA64ISAR0_EL1 = 0x0000000000011120
Processor has FEATURE_AES
Processor has FEATURE_PMULL
Processor has FEATURE_SHA1
Processor has FEATURE_SHA256
Processor has FEATURE_CRC32
ID_AA64ISAR1_EL1 and ID_AA64PFR0_EL1 are also read. The features for
these will be implemented in the next patch.
Issues: #5475, #1569