Merge pull request #1647 from magumagu/mmu-flag-cleanup

Cleanup: remove unnecessary uses of the bMMU flag
This commit is contained in:
Ryan Houdek 2014-12-07 01:08:30 -06:00
commit 6d6b425061
3 changed files with 4 additions and 9 deletions

View File

@ -143,9 +143,6 @@ int GetFunctionFlagsByIndex(u32 index)
bool IsEnabled(int flags) bool IsEnabled(int flags)
{ {
if (flags == HLE::HLE_TYPE_MEMORY && SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU)
return false;
if (flags == HLE::HLE_TYPE_DEBUG && !SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableDebugging && PowerPC::GetMode() != MODE_INTERPRETER) if (flags == HLE::HLE_TYPE_DEBUG && !SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableDebugging && PowerPC::GetMode() != MODE_INTERPRETER)
return false; return false;

View File

@ -21,9 +21,7 @@ namespace HLE
enum enum
{ {
HLE_TYPE_GENERIC = 0, // Miscellaneous function HLE_TYPE_GENERIC = 0, // Miscellaneous function
HLE_TYPE_MEMORY = 1, // Memory operation HLE_TYPE_DEBUG = 1, // Debug output function
HLE_TYPE_FP = 2, // Floating Point operation
HLE_TYPE_DEBUG = 3, // Debug output function
}; };
void PatchFunctions(); void PatchFunctions();

View File

@ -296,7 +296,7 @@ void EmuCodeBlock::SafeLoadToReg(X64Reg reg_value, const Gen::OpArg & opAddress,
{ {
registersInUse[reg_value] = false; registersInUse[reg_value] = false;
} }
if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU && if (!jit->js.memcheck &&
SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem && SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem &&
!opAddress.IsImm() && !opAddress.IsImm() &&
!(flags & (SAFE_LOADSTORE_NO_SWAP | SAFE_LOADSTORE_NO_FASTMEM)) !(flags & (SAFE_LOADSTORE_NO_SWAP | SAFE_LOADSTORE_NO_FASTMEM))
@ -333,7 +333,7 @@ void EmuCodeBlock::SafeLoadToReg(X64Reg reg_value, const Gen::OpArg & opAddress,
{ {
UnsafeLoadToReg(reg_value, opAddress, accessSize, offset, signExtend); UnsafeLoadToReg(reg_value, opAddress, accessSize, offset, signExtend);
} }
else if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU && MMIO::IsMMIOAddress(address) && accessSize != 64) else if (MMIO::IsMMIOAddress(address) && accessSize != 64)
{ {
MMIOLoadToReg(Memory::mmio_mapping, reg_value, registersInUse, MMIOLoadToReg(Memory::mmio_mapping, reg_value, registersInUse,
address, accessSize, signExtend); address, accessSize, signExtend);
@ -548,7 +548,7 @@ void EmuCodeBlock::SafeWriteRegToReg(OpArg reg_value, X64Reg reg_addr, int acces
reg_value = FixImmediate(accessSize, reg_value); reg_value = FixImmediate(accessSize, reg_value);
// TODO: support byte-swapped non-immediate fastmem stores // TODO: support byte-swapped non-immediate fastmem stores
if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU && if (!jit->js.memcheck &&
SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem && SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem &&
!(flags & SAFE_LOADSTORE_NO_FASTMEM) && !(flags & SAFE_LOADSTORE_NO_FASTMEM) &&
(reg_value.IsImm() || !(flags & SAFE_LOADSTORE_NO_SWAP)) (reg_value.IsImm() || !(flags & SAFE_LOADSTORE_NO_SWAP))