memctrlbase: add get_region_hostmem_ptr().

This commit is contained in:
Maxim Poliakovski 2024-04-21 19:35:18 +02:00
parent e94be9acee
commit e722ef3e8a
2 changed files with 13 additions and 0 deletions

View File

@ -350,3 +350,14 @@ AddressMapEntry* MemCtrlBase::find_rom_region()
return nullptr;
}
uint8_t *MemCtrlBase::get_region_hostmem_ptr(const uint32_t addr) {
AddressMapEntry *reg_desc = this->find_range(addr);
if (reg_desc == nullptr || reg_desc->type == RT_MMIO)
return nullptr;
if (reg_desc->type == RT_MIRROR)
return (addr - reg_desc->mirror) + reg_desc->mem_ptr;
else
return (addr - reg_desc->start) + reg_desc->mem_ptr;
}

View File

@ -86,6 +86,8 @@ public:
AddressMapEntry* find_rom_region();
uint8_t *get_region_hostmem_ptr(const uint32_t addr);
protected:
bool add_mem_region(
uint32_t start_addr, uint32_t size, uint32_t dest_addr, uint32_t type,