mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-10 16:19:28 +01:00
MMU: Use the Memory helpers for physical memory.
physical_base is a fastmem helper. Its access is unsafe and might not be available without a Jit.
This commit is contained in:
parent
084344aa5d
commit
9d88180df7
@ -1117,13 +1117,12 @@ static TranslateAddressResult TranslatePageAddress(const u32 address, const XChe
|
||||
|
||||
for (int i = 0; i < 8; i++, pteg_addr += 8)
|
||||
{
|
||||
u32 pteg;
|
||||
std::memcpy(&pteg, &Memory::physical_base[pteg_addr], sizeof(u32));
|
||||
u32 pteg = Common::swap32(Memory::Read_U32(pteg_addr));
|
||||
|
||||
if (pte1 == pteg)
|
||||
{
|
||||
UPTE2 PTE2;
|
||||
PTE2.Hex = Common::swap32(&Memory::physical_base[pteg_addr + 4]);
|
||||
PTE2.Hex = Memory::Read_U32(pteg_addr + 4);
|
||||
|
||||
// set the access bits
|
||||
switch (flag)
|
||||
@ -1145,8 +1144,7 @@ static TranslateAddressResult TranslatePageAddress(const u32 address, const XChe
|
||||
|
||||
if (!IsNoExceptionFlag(flag))
|
||||
{
|
||||
const u32 swapped_pte2 = Common::swap32(PTE2.Hex);
|
||||
std::memcpy(&Memory::physical_base[pteg_addr + 4], &swapped_pte2, sizeof(u32));
|
||||
Memory::Write_U32(PTE2.Hex, pteg_addr + 4);
|
||||
}
|
||||
|
||||
// We already updated the TLB entry if this was caused by a C bit.
|
||||
|
Loading…
x
Reference in New Issue
Block a user