From: Sid Manning <sidn...@quicinc.com> Reviewed-by: Taylor Simpson <ltaylorsimp...@gmail.com> Signed-off-by: Sid Manning <sidn...@quicinc.com> --- hw/hexagon/hexagon_dsp.c | 10 ++++++++++ target/hexagon/cpu.c | 2 ++ 2 files changed, 12 insertions(+)
diff --git a/hw/hexagon/hexagon_dsp.c b/hw/hexagon/hexagon_dsp.c index d491a21a76..486dc41f5d 100644 --- a/hw/hexagon/hexagon_dsp.c +++ b/hw/hexagon/hexagon_dsp.c @@ -83,6 +83,12 @@ static void hexagon_common_init(MachineState *machine, Rev_t rev, MemoryRegion *address_space = get_system_memory(); + MemoryRegion *config_table_rom = g_new(MemoryRegion, 1); + memory_region_init_rom(config_table_rom, NULL, "config_table.rom", + sizeof(m_cfg->cfgtable), &error_fatal); + memory_region_add_subregion(address_space, m_cfg->cfgbase, + config_table_rom); + MemoryRegion *sram = g_new(MemoryRegion, 1); memory_region_init_ram(sram, NULL, "ddr.ram", machine->ram_size, &error_fatal); @@ -136,6 +142,10 @@ static void hexagon_common_init(MachineState *machine, Rev_t rev, } } + + rom_add_blob_fixed_as("config_table.rom", &m_cfg->cfgtable, + sizeof(m_cfg->cfgtable), m_cfg->cfgbase, + &address_space_memory); } static void init_mc(MachineClass *mc) diff --git a/target/hexagon/cpu.c b/target/hexagon/cpu.c index ba78a04bdc..6cf9250b99 100644 --- a/target/hexagon/cpu.c +++ b/target/hexagon/cpu.c @@ -405,6 +405,8 @@ void hexagon_cpu_soft_reset(CPUHexagonState *env) } #endif + +#define HEXAGON_CFG_ADDR_BASE(addr) (((addr) >> 16) & 0x0fffff) static void hexagon_cpu_reset_hold(Object *obj, ResetType type) { CPUState *cs = CPU(obj); -- 2.34.1