135c135
< pxnTable(false), stage2Req(false), doingStage2(false),
---
> pxnTable(false), stage2Req(false),
305,309d304
< // We only do a second stage of translation if we're not secure, or in
< // hyp mode, the second stage MMU is enabled, and this table walker
< // instance is the first stage.
< // TODO: fix setting of doingStage2 for timing mode
< currState->doingStage2 = false;
1820,1826c1815,1819
< if (!currState->doingStage2) {
< statWalkServiceTime.sample(curTick() - currState->startTime);
< DPRINTF(TLBVerbose, "calling translateTiming again\n");
< tlb->translateTiming(currState->req, currState->tc,
< currState->transState, currState->mode);
< statWalksShortTerminatedAtLevel[0]++;
< }
---
> statWalkServiceTime.sample(curTick() - currState->startTime);
> DPRINTF(TLBVerbose, "calling translateTiming again\n");
> tlb->translateTiming(currState->req, currState->tc,
> currState->transState, currState->mode);
> statWalksShortTerminatedAtLevel[0]++;
1861a1855,1860
> } else {
> statWalkServiceTime.sample(curTick() - currState->startTime);
> DPRINTF(TLBVerbose, "calling translateTiming again\n");
> tlb->translateTiming(currState->req, currState->tc,
> currState->transState, currState->mode);
> statWalksShortTerminatedAtLevel[1]++;
1863,1872d1861
< else {
< // Don't finish the translation if a stage 2 look up is underway
< if (!currState->doingStage2) {
< statWalkServiceTime.sample(curTick() - currState->startTime);
< DPRINTF(TLBVerbose, "calling translateTiming again\n");
< tlb->translateTiming(currState->req, currState->tc,
< currState->transState, currState->mode);
< statWalksShortTerminatedAtLevel[1]++;
< }
< }
1944,1951c1933,1937
< // Don't finish the translation if a stage 2 look up is underway
< if (!currState->doingStage2) {
< DPRINTF(TLBVerbose, "calling translateTiming again\n");
< statWalkServiceTime.sample(curTick() - currState->startTime);
< tlb->translateTiming(currState->req, currState->tc,
< currState->transState, currState->mode);
< statWalksLongTerminatedAtLevel[(unsigned) curr_lookup_level]++;
< }
---
> DPRINTF(TLBVerbose, "calling translateTiming again\n");
> statWalkServiceTime.sample(curTick() - currState->startTime);
> tlb->translateTiming(currState->req, currState->tc,
> currState->transState, currState->mode);
> statWalksLongTerminatedAtLevel[(unsigned) curr_lookup_level]++;