Merge pull request #1283 from FioraAeterna/removebats
MMU: disable BAT resolution
This commit is contained in:
commit
6650f8922d
|
@ -966,20 +966,12 @@ u32 TranslateAddress(const u32 _Address, const XCheckTLBFlag _Flag)
|
||||||
// Check MSR[DR] bit before translating data addresses
|
// Check MSR[DR] bit before translating data addresses
|
||||||
//if (((_Flag == FLAG_READ) || (_Flag == FLAG_WRITE)) && !(MSR & (1 << (31 - 27)))) return _Address;
|
//if (((_Flag == FLAG_READ) || (_Flag == FLAG_WRITE)) && !(MSR & (1 << (31 - 27)))) return _Address;
|
||||||
|
|
||||||
u32 tlb_addr = TranslateBlockAddress(_Address, _Flag);
|
// Technically we should do this, but no known games, even heavy MMU ones, use any custom BATs whatsoever,
|
||||||
if (tlb_addr == 0)
|
// so it's a waste of time and should never succeed (given the default BATs are already handled in
|
||||||
{
|
// ReadFromHardware/WriteToHardware).
|
||||||
tlb_addr = TranslatePageAddress(_Address, _Flag);
|
//u32 tlb_addr = TranslateBlockAddress(_Address, _Flag);
|
||||||
if (tlb_addr != 0)
|
//if (!tlb_addr)
|
||||||
{
|
// return tlb_addr;
|
||||||
return tlb_addr;
|
return TranslatePageAddress(_Address, _Flag);
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return tlb_addr;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
Loading…
Reference in New Issue