ARM: Finish the timing translation when taking a fault.
This commit is contained in:
parent
cb76111a7e
commit
d4e83a4001
1 changed files with 9 additions and 3 deletions
|
@ -145,9 +145,15 @@ TableWalker::walk(RequestPtr _req, ThreadContext *_tc, uint8_t _cid, TLB::Mode _
|
||||||
f = tlb->walkTrickBoxCheck(l1desc_addr, currState->vaddr, sizeof(uint32_t),
|
f = tlb->walkTrickBoxCheck(l1desc_addr, currState->vaddr, sizeof(uint32_t),
|
||||||
currState->isFetch, currState->isWrite, 0, true);
|
currState->isFetch, currState->isWrite, 0, true);
|
||||||
if (f) {
|
if (f) {
|
||||||
currState->tc = NULL;
|
if (currState->timing) {
|
||||||
currState->req = NULL;
|
currState->transState->finish(f, currState->req,
|
||||||
return f;
|
currState->tc, currState->mode);
|
||||||
|
currState = NULL;
|
||||||
|
} else {
|
||||||
|
currState->tc = NULL;
|
||||||
|
currState->req = NULL;
|
||||||
|
}
|
||||||
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currState->timing) {
|
if (currState->timing) {
|
||||||
|
|
Loading…
Reference in a new issue