199,206c199,203
< TlbEntry entry;
< bool success = p->pTable->lookup(pc, entry);
< if (!success) {
< panic("Tried to execute unmapped address %#x.\n", pc);
< } else {
< VAddr vaddr(pc);
< dynamic_cast<TLB *>(tc->getITBPtr())->insert(vaddr.page(), entry);
< }
---
> TlbEntry *entry = p->pTable->lookup(pc);
> panic_if(!entry, "Tried to execute unmapped address %#x.\n", pc);
>
> VAddr vaddr(pc);
> dynamic_cast<TLB *>(tc->getITBPtr())->insert(vaddr.page(), *entry);
218,228c215,219
< TlbEntry entry;
< bool success = p->pTable->lookup(vaddr, entry);
< if (!success) {
< if (p->fixupStackFault(vaddr))
< success = p->pTable->lookup(vaddr, entry);
< }
< if (!success) {
< panic("Tried to access unmapped address %#x.\n", (Addr)vaddr);
< } else {
< dynamic_cast<TLB *>(tc->getDTBPtr())->insert(vaddr.page(), entry);
< }
---
> TlbEntry *entry = p->pTable->lookup(vaddr);
> if (!entry && p->fixupStackFault(vaddr))
> entry = p->pTable->lookup(vaddr);
> panic_if(!entry, "Tried to access unmapped address %#x.\n", (Addr)vaddr);
> dynamic_cast<TLB *>(tc->getDTBPtr())->insert(vaddr.page(), *entry);