mmu: templatize mmu_full_lookup
This commit is contained in:
parent
a21eedc88a
commit
d0f65b19d3
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue