Implement reading writing of sync fault status register and address register
--HG-- extra : convert_revision : c2f60e49683446bcc3afdf911da172de0422b8ad
This commit is contained in:
parent
64528df38d
commit
8173a05eaf
1 changed files with 15 additions and 0 deletions
|
@ -876,6 +876,9 @@ DTB::doMmuRegRead(ThreadContext *tc, Packet *pkt)
|
||||||
temp = tc->readMiscRegWithEffect(MISCREG_MMU_ITLB_TAG_ACCESS);
|
temp = tc->readMiscRegWithEffect(MISCREG_MMU_ITLB_TAG_ACCESS);
|
||||||
pkt->set(bits(temp,63,22) | bits(temp,12,0) << 48);
|
pkt->set(bits(temp,63,22) | bits(temp,12,0) << 48);
|
||||||
break;
|
break;
|
||||||
|
case 0x18:
|
||||||
|
pkt->set(tc->readMiscRegWithEffect(MISCREG_MMU_ITLB_SFSR));
|
||||||
|
break;
|
||||||
case 0x30:
|
case 0x30:
|
||||||
pkt->set(tc->readMiscRegWithEffect(MISCREG_MMU_ITLB_TAG_ACCESS));
|
pkt->set(tc->readMiscRegWithEffect(MISCREG_MMU_ITLB_TAG_ACCESS));
|
||||||
break;
|
break;
|
||||||
|
@ -889,6 +892,12 @@ DTB::doMmuRegRead(ThreadContext *tc, Packet *pkt)
|
||||||
temp = tc->readMiscRegWithEffect(MISCREG_MMU_DTLB_TAG_ACCESS);
|
temp = tc->readMiscRegWithEffect(MISCREG_MMU_DTLB_TAG_ACCESS);
|
||||||
pkt->set(bits(temp,63,22) | bits(temp,12,0) << 48);
|
pkt->set(bits(temp,63,22) | bits(temp,12,0) << 48);
|
||||||
break;
|
break;
|
||||||
|
case 0x18:
|
||||||
|
pkt->set(tc->readMiscRegWithEffect(MISCREG_MMU_DTLB_SFSR));
|
||||||
|
break;
|
||||||
|
case 0x20:
|
||||||
|
pkt->set(tc->readMiscRegWithEffect(MISCREG_MMU_DTLB_SFAR));
|
||||||
|
break;
|
||||||
case 0x30:
|
case 0x30:
|
||||||
pkt->set(tc->readMiscRegWithEffect(MISCREG_MMU_DTLB_TAG_ACCESS));
|
pkt->set(tc->readMiscRegWithEffect(MISCREG_MMU_DTLB_TAG_ACCESS));
|
||||||
break;
|
break;
|
||||||
|
@ -1070,6 +1079,9 @@ DTB::doMmuRegWrite(ThreadContext *tc, Packet *pkt)
|
||||||
break;
|
break;
|
||||||
case ASI_IMMU:
|
case ASI_IMMU:
|
||||||
switch (va) {
|
switch (va) {
|
||||||
|
case 0x18:
|
||||||
|
tc->setMiscRegWithEffect(MISCREG_MMU_ITLB_SFSR, data);
|
||||||
|
break;
|
||||||
case 0x30:
|
case 0x30:
|
||||||
tc->setMiscRegWithEffect(MISCREG_MMU_ITLB_TAG_ACCESS, data);
|
tc->setMiscRegWithEffect(MISCREG_MMU_ITLB_TAG_ACCESS, data);
|
||||||
break;
|
break;
|
||||||
|
@ -1141,6 +1153,9 @@ DTB::doMmuRegWrite(ThreadContext *tc, Packet *pkt)
|
||||||
break;
|
break;
|
||||||
case ASI_DMMU:
|
case ASI_DMMU:
|
||||||
switch (va) {
|
switch (va) {
|
||||||
|
case 0x18:
|
||||||
|
tc->setMiscRegWithEffect(MISCREG_MMU_DTLB_SFSR, data);
|
||||||
|
break;
|
||||||
case 0x30:
|
case 0x30:
|
||||||
tc->setMiscRegWithEffect(MISCREG_MMU_DTLB_TAG_ACCESS, data);
|
tc->setMiscRegWithEffect(MISCREG_MMU_DTLB_TAG_ACCESS, data);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue