summaryrefslogtreecommitdiff
path: root/src/arch/arm/nativetrace.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/nativetrace.cc')
-rw-r--r--src/arch/arm/nativetrace.cc18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/arch/arm/nativetrace.cc b/src/arch/arm/nativetrace.cc
index 7301653f4..469869e56 100644
--- a/src/arch/arm/nativetrace.cc
+++ b/src/arch/arm/nativetrace.cc
@@ -91,13 +91,17 @@ Trace::ArmNativeTrace::check(NativeTraceRecord *record)
for (int i = 0; i < STATE_NUMVALS; i++) {
if (nState.changed[i] || mState.changed[i]) {
const char *vergence = " ";
- if (mState.oldState[i] == nState.oldState[i] &&
- mState.newState[i] != nState.newState[i]) {
+ bool oldMatch = (mState.oldState[i] == nState.oldState[i]);
+ bool newMatch = (mState.newState[i] == nState.newState[i]);
+ if (oldMatch && newMatch) {
+ // The more things change, the more they stay the same.
+ continue;
+ } else if (oldMatch && !newMatch) {
vergence = "<>";
- } else if (mState.oldState[i] != nState.oldState[i] &&
- mState.newState[i] == nState.newState[i]) {
+ } else if (!oldMatch && newMatch) {
vergence = "><";
}
+ errorFound = true;
if (!nState.changed[i]) {
DPRINTF(ExecRegDelta, "%s [%5s] "\
"Native: %#010x "\
@@ -105,7 +109,6 @@ Trace::ArmNativeTrace::check(NativeTraceRecord *record)
vergence, regNames[i],
nState.newState[i],
mState.oldState[i], mState.newState[i]);
- errorFound = true;
} else if (!mState.changed[i]) {
DPRINTF(ExecRegDelta, "%s [%5s] "\
"Native: %#010x => %#010x "\
@@ -113,16 +116,13 @@ Trace::ArmNativeTrace::check(NativeTraceRecord *record)
vergence, regNames[i],
nState.oldState[i], nState.newState[i],
mState.newState[i]);
- errorFound = true;
- } else if (mState.oldState[i] != nState.oldState[i] ||
- mState.newState[i] != nState.newState[i]) {
+ } else {
DPRINTF(ExecRegDelta, "%s [%5s] "\
"Native: %#010x => %#010x "\
"M5: %#010x => %#010x\n",
vergence, regNames[i],
nState.oldState[i], nState.newState[i],
mState.oldState[i], mState.newState[i]);
- errorFound = true;
}
}
}