diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2012-01-07 02:16:37 -0800 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2012-01-07 02:16:37 -0800 |
commit | 241cc0c8402f1b9f2ec20d1cc152d96930959b2a (patch) | |
tree | 666717370cc9db4775ef46c10f7d8a92a34f40e2 /src/arch | |
parent | ec936364b7238cddea7734ea79c6e04b52a683c6 (diff) | |
parent | 4b772782871f265cf7372c984ad750803396938c (diff) | |
download | gem5-241cc0c8402f1b9f2ec20d1cc152d96930959b2a.tar.xz |
Another merge with the main repository.
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm/nativetrace.cc | 12 | ||||
-rw-r--r-- | src/arch/x86/tlb.cc | 6 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/arch/arm/nativetrace.cc b/src/arch/arm/nativetrace.cc index e276833e2..875ceae31 100644 --- a/src/arch/arm/nativetrace.cc +++ b/src/arch/arm/nativetrace.cc @@ -156,18 +156,23 @@ Trace::ArmNativeTrace::check(NativeTraceRecord *record) // Regular int regs for (int i = 0; i < STATE_NUMVALS; i++) { if (nState.changed[i] || mState.changed[i]) { - const char *vergence = " "; 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) { + } + + errorFound = true; + +#ifndef NDEBUG + const char *vergence = " "; + if (oldMatch && !newMatch) { vergence = "<>"; } else if (!oldMatch && newMatch) { vergence = "><"; } - errorFound = true; + if (!nState.changed[i]) { DPRINTF(ExecRegDelta, "%s [%5s] "\ "Native: %#010x "\ @@ -190,6 +195,7 @@ Trace::ArmNativeTrace::check(NativeTraceRecord *record) nState.oldState[i], nState.newState[i], mState.oldState[i], mState.newState[i]); } +#endif } } if (errorFound) { diff --git a/src/arch/x86/tlb.cc b/src/arch/x86/tlb.cc index 53f7f978e..ff65eb04c 100644 --- a/src/arch/x86/tlb.cc +++ b/src/arch/x86/tlb.cc @@ -322,6 +322,9 @@ TLB::translate(RequestPtr req, ThreadContext *tc, Translation *translation, DPRINTF(TLB, "Miss was serviced.\n"); } } + + DPRINTF(TLB, "Entry found with paddr %#x, " + "doing protection checks.\n", entry->paddr); // Do paging protection checks. bool inUser = (m5Reg.cpl == 3 && !(flags & (CPL0FlagBit << FlagShift))); @@ -339,9 +342,6 @@ TLB::translate(RequestPtr req, ThreadContext *tc, Translation *translation, return new PageFault(vaddr, true, Write, inUser, false); } - - DPRINTF(TLB, "Entry found with paddr %#x, " - "doing protection checks.\n", entry->paddr); Addr paddr = entry->paddr | (vaddr & (entry->size-1)); DPRINTF(TLB, "Translated %#x -> %#x.\n", vaddr, paddr); req->setPaddr(paddr); |