Memmap: Fix switch fallthroughs
Fixes a bug where out of range MEM2 accesses would hit the locked cache.
This commit is contained in:
parent
012a4c18ff
commit
d7c6a7522d
|
@ -278,6 +278,7 @@ u8* GetPointer(const u32 address)
|
||||||
case 0xcc:
|
case 0xcc:
|
||||||
case 0xcd:
|
case 0xcd:
|
||||||
_dbg_assert_msg_(MEMMAP, 0, "GetPointer from IO Bridge doesnt work");
|
_dbg_assert_msg_(MEMMAP, 0, "GetPointer from IO Bridge doesnt work");
|
||||||
|
break;
|
||||||
case 0xc8:
|
case 0xc8:
|
||||||
// EFB. We don't want to return a pointer here since we have no memory mapped for it.
|
// EFB. We don't want to return a pointer here since we have no memory mapped for it.
|
||||||
break;
|
break;
|
||||||
|
@ -286,6 +287,7 @@ u8* GetPointer(const u32 address)
|
||||||
if ((address & 0xfffffff) < REALRAM_SIZE)
|
if ((address & 0xfffffff) < REALRAM_SIZE)
|
||||||
return m_pRAM + (address & RAM_MASK);
|
return m_pRAM + (address & RAM_MASK);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 0x1:
|
case 0x1:
|
||||||
case 0x9:
|
case 0x9:
|
||||||
|
@ -295,8 +297,7 @@ u8* GetPointer(const u32 address)
|
||||||
if ((address & 0xfffffff) < EXRAM_SIZE)
|
if ((address & 0xfffffff) < EXRAM_SIZE)
|
||||||
return m_pEXRAM + (address & EXRAM_MASK);
|
return m_pEXRAM + (address & EXRAM_MASK);
|
||||||
}
|
}
|
||||||
else
|
break;
|
||||||
break;
|
|
||||||
|
|
||||||
case 0xe:
|
case 0xe:
|
||||||
if (address < (0xE0000000 + L1_CACHE_SIZE))
|
if (address < (0xE0000000 + L1_CACHE_SIZE))
|
||||||
|
@ -307,6 +308,7 @@ u8* GetPointer(const u32 address)
|
||||||
default:
|
default:
|
||||||
if (bFakeVMEM)
|
if (bFakeVMEM)
|
||||||
return m_pFakeVMEM + (address & FAKEVMEM_MASK);
|
return m_pFakeVMEM + (address & FAKEVMEM_MASK);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ERROR_LOG(MEMMAP, "Unknown Pointer %#8x PC %#8x LR %#8x", address, PC, LR);
|
ERROR_LOG(MEMMAP, "Unknown Pointer %#8x PC %#8x LR %#8x", address, PC, LR);
|
||||||
|
|
Loading…
Reference in New Issue