more sparc fixes
src/arch/sparc/isa/decoder.isa: fix rdgsr fault check src/arch/sparc/tlb.cc: block asis are now supported --HG-- extra : convert_revision : cf55d648d2c5184fab03b6fe057d0e33c1dfc393
This commit is contained in:
parent
665ddde57a
commit
ecef27f172
|
@ -479,10 +479,10 @@ decode OP default Unknown::unknown()
|
||||||
0x11: PrivCheck::rdpic({{Rd = Pic;}}, {{Pcr<0:>}});
|
0x11: PrivCheck::rdpic({{Rd = Pic;}}, {{Pcr<0:>}});
|
||||||
//0x12 should cause an illegal instruction exception
|
//0x12 should cause an illegal instruction exception
|
||||||
0x13: NoPriv::rdgsr({{
|
0x13: NoPriv::rdgsr({{
|
||||||
if(Fprs<2:> == 0 || Pstate<4:> == 0)
|
fault = checkFpEnableFault(xc);
|
||||||
Rd = Gsr;
|
if (fault)
|
||||||
else
|
return fault;
|
||||||
fault = new FpDisabled;
|
Rd = Gsr;
|
||||||
}});
|
}});
|
||||||
//0x14-0x15 should cause an illegal instruction exception
|
//0x14-0x15 should cause an illegal instruction exception
|
||||||
0x16: Priv::rdsoftint({{Rd = Softint;}});
|
0x16: Priv::rdsoftint({{Rd = Softint;}});
|
||||||
|
|
|
@ -668,8 +668,6 @@ DTB::translate(RequestPtr &req, ThreadContext *tc, bool write)
|
||||||
if (!implicit && asi != ASI_P && asi != ASI_S) {
|
if (!implicit && asi != ASI_P && asi != ASI_S) {
|
||||||
if (AsiIsLittle(asi))
|
if (AsiIsLittle(asi))
|
||||||
panic("Little Endian ASIs not supported\n");
|
panic("Little Endian ASIs not supported\n");
|
||||||
if (AsiIsBlock(asi))
|
|
||||||
panic("Block ASIs not supported\n");
|
|
||||||
if (AsiIsNoFault(asi))
|
if (AsiIsNoFault(asi))
|
||||||
panic("No Fault ASIs not supported\n");
|
panic("No Fault ASIs not supported\n");
|
||||||
|
|
||||||
|
@ -688,7 +686,7 @@ DTB::translate(RequestPtr &req, ThreadContext *tc, bool write)
|
||||||
goto handleSparcErrorRegAccess;
|
goto handleSparcErrorRegAccess;
|
||||||
|
|
||||||
if (!AsiIsReal(asi) && !AsiIsNucleus(asi) && !AsiIsAsIfUser(asi) &&
|
if (!AsiIsReal(asi) && !AsiIsNucleus(asi) && !AsiIsAsIfUser(asi) &&
|
||||||
!AsiIsTwin(asi))
|
!AsiIsTwin(asi) && !AsiIsBlock(asi))
|
||||||
panic("Accessing ASI %#X. Should we?\n", asi);
|
panic("Accessing ASI %#X. Should we?\n", asi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue