Message ID | 20200217173452.15243-47-imammedo@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | refactor main RAM allocation to use hostmem backend | expand |
On 2/17/20 9:34 AM, Igor Mammedov wrote: > memory_region_allocate_system_memory() API is going away, so > replace it with memdev allocated MemoryRegion. The later is > initialized by generic code, so board only needs to opt in > to memdev scheme by providing > MachineClass::default_ram_id > and using MachineState::ram instead of manually initializing > RAM memory region. > > Signed-off-by: Igor Mammedov <imammedo@redhat.com> > Acked-by: Thomas Huth <thuth@redhat.com> > --- Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On 2/17/20 6:34 PM, Igor Mammedov wrote: > memory_region_allocate_system_memory() API is going away, so > replace it with memdev allocated MemoryRegion. The later is > initialized by generic code, so board only needs to opt in > to memdev scheme by providing > MachineClass::default_ram_id > and using MachineState::ram instead of manually initializing > RAM memory region. > > Signed-off-by: Igor Mammedov <imammedo@redhat.com> > Acked-by: Thomas Huth <thuth@redhat.com> > --- > hw/m68k/an5206.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/hw/m68k/an5206.c b/hw/m68k/an5206.c > index bed43a936d..846f4e40c6 100644 > --- a/hw/m68k/an5206.c > +++ b/hw/m68k/an5206.c > @@ -33,7 +33,6 @@ static void an5206_init(MachineState *machine) > uint64_t elf_entry; > hwaddr entry; > MemoryRegion *address_space_mem = get_system_memory(); > - MemoryRegion *ram = g_new(MemoryRegion, 1); > MemoryRegion *sram = g_new(MemoryRegion, 1); > > cpu = M68K_CPU(cpu_create(machine->cpu_type)); > @@ -46,8 +45,7 @@ static void an5206_init(MachineState *machine) > env->rambar0 = AN5206_RAMBAR_ADDR | 1; > > /* DRAM at address zero */ > - memory_region_allocate_system_memory(ram, NULL, "an5206.ram", ram_size); > - memory_region_add_subregion(address_space_mem, 0, ram); > + memory_region_add_subregion(address_space_mem, 0, machine->ram); > > /* Internal SRAM. */ > memory_region_init_ram(sram, NULL, "an5206.sram", 512, &error_fatal); > @@ -89,6 +87,7 @@ static void an5206_machine_init(MachineClass *mc) > mc->desc = "Arnewsh 5206"; > mc->init = an5206_init; > mc->default_cpu_type = M68K_CPU_TYPE_NAME("m5206"); > + mc->default_ram_id = "an5206.ram"; > } > > DEFINE_MACHINE("an5206", an5206_machine_init) > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff --git a/hw/m68k/an5206.c b/hw/m68k/an5206.c index bed43a936d..846f4e40c6 100644 --- a/hw/m68k/an5206.c +++ b/hw/m68k/an5206.c @@ -33,7 +33,6 @@ static void an5206_init(MachineState *machine) uint64_t elf_entry; hwaddr entry; MemoryRegion *address_space_mem = get_system_memory(); - MemoryRegion *ram = g_new(MemoryRegion, 1); MemoryRegion *sram = g_new(MemoryRegion, 1); cpu = M68K_CPU(cpu_create(machine->cpu_type)); @@ -46,8 +45,7 @@ static void an5206_init(MachineState *machine) env->rambar0 = AN5206_RAMBAR_ADDR | 1; /* DRAM at address zero */ - memory_region_allocate_system_memory(ram, NULL, "an5206.ram", ram_size); - memory_region_add_subregion(address_space_mem, 0, ram); + memory_region_add_subregion(address_space_mem, 0, machine->ram); /* Internal SRAM. */ memory_region_init_ram(sram, NULL, "an5206.sram", 512, &error_fatal); @@ -89,6 +87,7 @@ static void an5206_machine_init(MachineClass *mc) mc->desc = "Arnewsh 5206"; mc->init = an5206_init; mc->default_cpu_type = M68K_CPU_TYPE_NAME("m5206"); + mc->default_ram_id = "an5206.ram"; } DEFINE_MACHINE("an5206", an5206_machine_init)