mmu: templatize mmu_full_lookup

This commit is contained in:
Flyinghead 2019-03-20 10:58:59 +01:00
parent a21eedc88a
commit d0f65b19d3
2 changed files with 7 additions and 5 deletions

View File

@ -78,7 +78,8 @@ defining NO_MMU disables the full mmu emulation
#include "hw/mem/_vmem.h"
u32 mmu_full_lookup(u32 va, u32& idx, u32& rv, bool internal = false);
template<bool internal = false>
u32 mmu_full_lookup(u32 va, u32& idx, u32& rv);
//#define TRACE_WINCE_SYSCALLS
@ -291,7 +292,8 @@ bool mmu_match(u32 va, CCN_PTEH_type Address, CCN_PTEL_type Data)
return false;
}
//Do a full lookup on the UTLB entry's
u32 mmu_full_lookup(u32 va, u32& idx, u32& rv, bool internal)
template<bool internal>
u32 mmu_full_lookup(u32 va, u32& idx, u32& rv)
{
if (!internal)
{

View File

@ -11,7 +11,7 @@ static bool read_mem32(u32 addr, u32& data)
{
u32 pa;
u32 idx;
if (mmu_full_lookup(addr, idx, pa, true) != MMU_ERROR_NONE)
if (mmu_full_lookup<true>(addr, idx, pa) != MMU_ERROR_NONE)
return false;
data = ReadMem32_nommu(pa);
return true;
@ -21,7 +21,7 @@ static bool read_mem16(u32 addr, u16& data)
{
u32 pa;
u32 idx;
if (mmu_full_lookup(addr, idx, pa, true) != MMU_ERROR_NONE)
if (mmu_full_lookup<true>(addr, idx, pa) != MMU_ERROR_NONE)
return false;
data = ReadMem16_nommu(pa);
return true;
@ -31,7 +31,7 @@ static bool read_mem8(u32 addr, u8& data)
{
u32 pa;
u32 idx;
if (mmu_full_lookup(addr, idx, pa, true) != MMU_ERROR_NONE)
if (mmu_full_lookup<true>(addr, idx, pa) != MMU_ERROR_NONE)
return false;
data = ReadMem8_nommu(pa);
return true;