summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chris Jones <christopher.jones@arm.com> 2025-02-13 10:24:51 +0000
committer Ulya Trofimovich <skvadrik@google.com> 2025-03-18 02:54:55 -0700
commit5b8e94a0006aeee9de3e229291b28a2b19878492 (patch)
tree6a1ac04da69bd42298a9aaba6243382595115b55
parent894b32807aa9b1b07ac0eb2a11901e24d0c72fc7 (diff)
Update VIXL simulator features
With the recent update to VIXL new features were introduced to the simulator such as the guarded control stack (GCS) and a debugger. - GCS is not currently supported in ART, so disable any checks made by the simulator. - The debugger should be disabled by default however add a hardcoded flag to enable it if debugging is necessary. This is not anticipated to be used until the more advanced ART simulator is available. Test: test.py --host --gtest Change-Id: I24f806f3d61a361275f7fb16d582972596324cd4
-rw-r--r--simulator/code_simulator_arm64.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/simulator/code_simulator_arm64.cc b/simulator/code_simulator_arm64.cc
index 08a5deae1f..b9a0ce2a30 100644
--- a/simulator/code_simulator_arm64.cc
+++ b/simulator/code_simulator_arm64.cc
@@ -21,6 +21,10 @@
using namespace vixl::aarch64; // NOLINT(build/namespaces)
namespace art {
+
+// Enable the simulator debugger, disabled by default.
+static constexpr bool kSimDebuggerEnabled = false;
+
namespace arm64 {
// VIXL has not been tested on 32bit architectures, so Simulator is not always
@@ -48,6 +52,8 @@ CodeSimulatorArm64::CodeSimulatorArm64()
simulator_ = new Simulator(decoder_, stdout, std::move(stack));
simulator_->SetVectorLengthInBits(kArm64DefaultSVEVectorLength);
+ simulator_->DisableGCSCheck();
+ simulator_->SetDebuggerEnabled(kSimDebuggerEnabled);
}
CodeSimulatorArm64::~CodeSimulatorArm64() {