summaryrefslogtreecommitdiff
path: root/runtime/arch/instruction_set_features.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2022-08-03 22:53:45 +0100
committer Nicolas Geoffray <ngeoffray@google.com> 2022-08-06 16:59:51 +0000
commit1e9cf89d3667d6342dc08f51d35732af5f41fdd4 (patch)
tree9ca1c1735427c265df8c54197a154f4e95e8fd03 /runtime/arch/instruction_set_features.h
parentccf4f91f7768e8ed14a685f5bbbb0bf03e467081 (diff)
For cortex-a75/a55 validate features with hwcaps.
Pixel3a is wrongly reporting as cortex-a75, it should report kryo360 instead. Test: ART module on pixel3a Bug: 241290778 Change-Id: I97e99192298becdf2af6f28e2e31b510f722c4e1
Diffstat (limited to 'runtime/arch/instruction_set_features.h')
-rw-r--r--runtime/arch/instruction_set_features.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/runtime/arch/instruction_set_features.h b/runtime/arch/instruction_set_features.h
index b80d36f153..cee8c5d42f 100644
--- a/runtime/arch/instruction_set_features.h
+++ b/runtime/arch/instruction_set_features.h
@@ -39,6 +39,12 @@ class InstructionSetFeatures {
const std::string& variant,
std::string* error_msg);
+ // Process a CPU variant string for the given ISA and make sure the features advertised
+ // are supported by the hardware. This is needed for Pixel3a which wrongly
+ // reports itself as cortex-a75.
+ static std::unique_ptr<const InstructionSetFeatures> FromVariantAndHwcap(
+ InstructionSet isa, const std::string& variant, std::string* error_msg);
+
// Parse a bitmap for the given isa and create an InstructionSetFeatures.
static std::unique_ptr<const InstructionSetFeatures> FromBitmap(InstructionSet isa,
uint32_t bitmap);