summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex White <alex.white@oarcorp.com>2021-04-16 13:24:15 -0500
committerJoel Sherrill <joel@rtems.org>2021-04-16 17:27:40 -0500
commit0c4884a0d071dd56e6eb8f67ea6d1a5092d6830e (patch)
treef75474a196956d54dee965d15d3ae79c765a737a
parent29fee42187930c4d81755ba3dd3bc1ca53feebaf (diff)
downloadrtems-tools-0c4884a0d071dd56e6eb8f67ea6d1a5092d6830e.tar.bz2
covoar/Target_aarch64: Swap QEMU taken/not taken bits
This overrides the `TargetBase` behavior to allow branches to be marked correctly as either taken or not taken. Closes #4387
-rw-r--r--tester/covoar/Target_aarch64.cc11
-rw-r--r--tester/covoar/Target_aarch64.h6
2 files changed, 17 insertions, 0 deletions
diff --git a/tester/covoar/Target_aarch64.cc b/tester/covoar/Target_aarch64.cc
index 64472d6..4d16456 100644
--- a/tester/covoar/Target_aarch64.cc
+++ b/tester/covoar/Target_aarch64.cc
@@ -12,6 +12,7 @@
#include <rld.h>
+#include "qemu-traces.h"
#include "Target_aarch64.h"
namespace Target {
@@ -90,6 +91,16 @@ namespace Target {
);
}
+ uint8_t Target_aarch64::qemuTakenBit()
+ {
+ return TRACE_OP_BR1;
+ }
+
+ uint8_t Target_aarch64::qemuNotTakenBit()
+ {
+ return TRACE_OP_BR0;
+ }
+
TargetBase *Target_aarch64_Constructor(
std::string targetName
)
diff --git a/tester/covoar/Target_aarch64.h b/tester/covoar/Target_aarch64.h
index 26fedb6..08bd1fb 100644
--- a/tester/covoar/Target_aarch64.h
+++ b/tester/covoar/Target_aarch64.h
@@ -54,6 +54,12 @@ namespace Target {
const char* const instruction
);
+ /* Documentation inherited from base class */
+ uint8_t qemuTakenBit() override;
+
+ /* Documentation inherited from base class */
+ uint8_t qemuNotTakenBit() override;
+
private:
};