Message ID | 1577797450-88458-52-git-send-email-imammedo@redhat.com |
---|---|
State | New |
Headers | show |
Series | refactor main RAM allocation to use hostmem backend | expand |
On 31/12/2019 14.03, 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> > --- > hw/m68k/next-cube.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c > index e534334..cd93d9e 100644 > --- a/hw/m68k/next-cube.c > +++ b/hw/m68k/next-cube.c > @@ -860,7 +860,6 @@ static void next_cube_init(MachineState *machine) > { > M68kCPU *cpu; > CPUM68KState *env; > - MemoryRegion *ram = g_new(MemoryRegion, 1); > MemoryRegion *rom = g_new(MemoryRegion, 1); > MemoryRegion *mmiomem = g_new(MemoryRegion, 1); > MemoryRegion *scrmem = g_new(MemoryRegion, 1); > @@ -893,8 +892,7 @@ static void next_cube_init(MachineState *machine) > memcpy(ns->rtc.ram, rtc_ram2, 32); > > /* 64MB RAM starting at 0x04000000 */ > - memory_region_allocate_system_memory(ram, NULL, "next.ram", ram_size); > - memory_region_add_subregion(sysmem, 0x04000000, ram); > + memory_region_add_subregion(sysmem, 0x04000000, machine->ram); > > /* Framebuffer */ > dev = qdev_create(NULL, TYPE_NEXTFB); > @@ -967,6 +965,7 @@ static void next_machine_class_init(ObjectClass *oc, void *data) > mc->desc = "NeXT Cube"; > mc->init = next_cube_init; > mc->default_ram_size = RAM_SIZE; > + mc->default_ram_id = "next.ram"; > mc->default_cpu_type = M68K_CPU_TYPE_NAME("m68040"); > } > > Acked-by: Thomas Huth <thuth@redhat.com>
diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index e534334..cd93d9e 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -860,7 +860,6 @@ static void next_cube_init(MachineState *machine) { M68kCPU *cpu; CPUM68KState *env; - MemoryRegion *ram = g_new(MemoryRegion, 1); MemoryRegion *rom = g_new(MemoryRegion, 1); MemoryRegion *mmiomem = g_new(MemoryRegion, 1); MemoryRegion *scrmem = g_new(MemoryRegion, 1); @@ -893,8 +892,7 @@ static void next_cube_init(MachineState *machine) memcpy(ns->rtc.ram, rtc_ram2, 32); /* 64MB RAM starting at 0x04000000 */ - memory_region_allocate_system_memory(ram, NULL, "next.ram", ram_size); - memory_region_add_subregion(sysmem, 0x04000000, ram); + memory_region_add_subregion(sysmem, 0x04000000, machine->ram); /* Framebuffer */ dev = qdev_create(NULL, TYPE_NEXTFB); @@ -967,6 +965,7 @@ static void next_machine_class_init(ObjectClass *oc, void *data) mc->desc = "NeXT Cube"; mc->init = next_cube_init; mc->default_ram_size = RAM_SIZE; + mc->default_ram_id = "next.ram"; mc->default_cpu_type = M68K_CPU_TYPE_NAME("m68040"); }
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> --- hw/m68k/next-cube.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)