Exemple #1
0
bool MemoryBase::Map(const u64 dst_addr, const u64 src_addr, const u32 size)
{
	std::lock_guard<std::recursive_mutex> lock(m_mutex);

	if (IsGoodAddr(dst_addr) || !IsGoodAddr(src_addr))
	{
		return false;
	}

	MemoryBlocks.push_back((new MemoryMirror())->SetRange(GetMemFromAddr(src_addr), dst_addr, size));
	LOG_WARNING(MEMORY, "memory mapped 0x%llx to 0x%llx size=0x%x", src_addr, dst_addr, size);
	return true;
}
Exemple #2
0
bool MemoryBase::Write128NN(u64 addr, const u128 data)
{
	if(!IsGoodAddr(addr, 16)) return false;
	Write128(addr, data);
	return true;
}
Exemple #3
0
bool MemoryBase::Write32NN(u64 addr, const u32 data)
{
	if(!IsGoodAddr(addr, 4)) return false;
	Write32(addr, data);
	return true;
}
Exemple #4
0
bool MemoryBase::Write64NN(u64 addr, const u64 data)
{
	if(!IsGoodAddr(addr, 8)) return false;
	Write64(addr, data);
	return true;
}
Exemple #5
0
bool MemoryBase::Write16NN(u64 addr, const u16 data)
{
	if(!IsGoodAddr(addr, 2)) return false;
	Write16(addr, data);
	return true;
}