811c811,812
< TlbEntry *newEntry = p->pTable->lookup(vaddr);
---
> const EmulationPageTable::Entry *pte =
> p->pTable->lookup(vaddr);
813c814
< if (!newEntry && mode != BaseTLB::Execute) {
---
> if (!pte && mode != BaseTLB::Execute) {
819c820
< newEntry = p->pTable->lookup(vaddr);
---
> pte = p->pTable->lookup(vaddr);
822c823
< if (!newEntry) {
---
> if (!pte) {
830c831
< alignedVaddr, newEntry->pageStart());
---
> alignedVaddr, pte->paddr);
832,834c833,835
< GpuTlbEntry gpuEntry;
< *(TlbEntry *)&gpuEntry = *newEntry;
< gpuEntry.valid = true;
---
> GpuTlbEntry gpuEntry(
> p->pTable->pid(), alignedVaddr,
> pte->paddr, true);
1338,1339c1339,1340
< TlbEntry *newEntry = p->pTable->lookup(vaddr);
< if (!newEntry && sender_state->tlbMode != BaseTLB::Execute &&
---
> const EmulationPageTable::Entry *pte = p->pTable->lookup(vaddr);
> if (!pte && sender_state->tlbMode != BaseTLB::Execute &&
1341c1342
< newEntry = p->pTable->lookup(vaddr);
---
> pte = p->pTable->lookup(vaddr);
1344c1345
< if (newEntry) {
---
> if (pte) {
1346c1347
< newEntry->pageStart());
---
> pte->paddr);
1349c1350
< new GpuTlbEntry(0, newEntry->vaddr, newEntry->paddr, true);
---
> new GpuTlbEntry(0, virtPageAddr, pte->paddr, true);
1536,1537c1537,1539
< TlbEntry *newEntry = p->pTable->lookup(vaddr);
< if (!newEntry && sender_state->tlbMode != BaseTLB::Execute &&
---
> const EmulationPageTable::Entry *pte =
> p->pTable->lookup(vaddr);
> if (!pte && sender_state->tlbMode != BaseTLB::Execute &&
1539c1541
< newEntry = p->pTable->lookup(vaddr);
---
> pte = p->pTable->lookup(vaddr);
1548c1550
< newEntry->pageStart());
---
> pte->paddr);
1551,1552c1553,1554
< new GpuTlbEntry(0, newEntry->vaddr,
< newEntry->paddr, success);
---
> new GpuTlbEntry(0, virt_page_addr,
> pte->paddr, success);
1558c1560
< if (newEntry) {
---
> if (pte) {
1560c1562
< newEntry->pageStart());
---
> pte->paddr);
1563,1564c1565,1566
< new GpuTlbEntry(0, newEntry->vaddr,
< newEntry->paddr, success);
---
> new GpuTlbEntry(0, virt_page_addr,
> pte->paddr, success);