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; }
bool MemoryBase::Write128NN(u64 addr, const u128 data) { if(!IsGoodAddr(addr, 16)) return false; Write128(addr, data); return true; }
bool MemoryBase::Write32NN(u64 addr, const u32 data) { if(!IsGoodAddr(addr, 4)) return false; Write32(addr, data); return true; }
bool MemoryBase::Write64NN(u64 addr, const u64 data) { if(!IsGoodAddr(addr, 8)) return false; Write64(addr, data); return true; }
bool MemoryBase::Write16NN(u64 addr, const u16 data) { if(!IsGoodAddr(addr, 2)) return false; Write16(addr, data); return true; }