45a46,63
> template<typename T>
> TLB *
> getITBPtr(T *tc)
> {
> auto tlb = dynamic_cast<TLB *>(tc->getITBPtr());
> assert(tlb);
> return tlb;
> }
>
> template<typename T>
> TLB *
> getDTBPtr(T *tc)
> {
> auto tlb = dynamic_cast<TLB *>(tc->getDTBPtr());
> assert(tlb);
> return tlb;
> }
>
164c182
< TlbEntry &entry = tc->getDTBPtr()->index(1);
---
> TlbEntry &entry = getDTBPtr(tc)->index(1);
361c379
< tc->getDTBPtr()->flushAll();
---
> getDTBPtr(tc)->flushAll();
368c386
< tc->getDTBPtr()->flushProcesses();
---
> getDTBPtr(tc)->flushProcesses();
375c393
< tc->getDTBPtr()->flushAddr(val, DTB_ASN_ASN(ipr[IPR_DTB_ASN]));
---
> getDTBPtr(tc)->flushAddr(val, DTB_ASN_ASN(ipr[IPR_DTB_ASN]));
398c416
< tc->getDTBPtr()->insert(val, entry);
---
> getDTBPtr(tc)->insert(val, entry);
422c440
< tc->getITBPtr()->insert(ipr[IPR_ITB_TAG], entry);
---
> getITBPtr(tc)->insert(ipr[IPR_ITB_TAG], entry);
430c448
< tc->getITBPtr()->flushAll();
---
> getITBPtr(tc)->flushAll();
437c455
< tc->getITBPtr()->flushProcesses();
---
> getITBPtr(tc)->flushProcesses();
444c462
< tc->getITBPtr()->flushAddr(val, ITB_ASN_ASN(ipr[IPR_ITB_ASN]));
---
> getITBPtr(tc)->flushAddr(val, ITB_ASN_ASN(ipr[IPR_ITB_ASN]));