Message ID | 1579100861-73692-64-git-send-email-imammedo@redhat.com |
---|---|
State | New |
Headers | show |
Series | refactor main RAM allocation to use hostmem backend | expand |
On Wed, Jan 15, 2020 at 04:07:18PM +0100, 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: David Gibson <david@gibson.dropbear.id.au>
On 1/15/20 4:07 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> Reviewed-by: Cédric Le Goater <clg@kaod.org> C. > --- > CC: clg@kaod.org > CC: david@gibson.dropbear.id.au > CC: qemu-ppc@nongnu.org > --- > hw/ppc/pnv.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c > index e2735bb..a85a5fc 100644 > --- a/hw/ppc/pnv.c > +++ b/hw/ppc/pnv.c > @@ -676,7 +676,6 @@ static void pnv_init(MachineState *machine) > { > PnvMachineState *pnv = PNV_MACHINE(machine); > MachineClass *mc = MACHINE_GET_CLASS(machine); > - MemoryRegion *ram; > char *fw_filename; > long fw_size; > int i; > @@ -688,11 +687,7 @@ static void pnv_init(MachineState *machine) > if (machine->ram_size < (1 * GiB)) { > warn_report("skiboot may not work with < 1GB of RAM"); > } > - > - ram = g_new(MemoryRegion, 1); > - memory_region_allocate_system_memory(ram, NULL, "pnv.ram", > - machine->ram_size); > - memory_region_add_subregion(get_system_memory(), 0, ram); > + memory_region_add_subregion(get_system_memory(), 0, machine->ram); > > /* > * Create our simple PNOR device > @@ -1785,6 +1780,7 @@ static void pnv_machine_class_init(ObjectClass *oc, void *data) > * enough to fit the maximum initrd size at it's load address > */ > mc->default_ram_size = INITRD_LOAD_ADDR + INITRD_MAX_SIZE; > + mc->default_ram_id = "pnv.ram"; > ispc->print_info = pnv_pic_print_info; > } > >
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index e2735bb..a85a5fc 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -676,7 +676,6 @@ static void pnv_init(MachineState *machine) { PnvMachineState *pnv = PNV_MACHINE(machine); MachineClass *mc = MACHINE_GET_CLASS(machine); - MemoryRegion *ram; char *fw_filename; long fw_size; int i; @@ -688,11 +687,7 @@ static void pnv_init(MachineState *machine) if (machine->ram_size < (1 * GiB)) { warn_report("skiboot may not work with < 1GB of RAM"); } - - ram = g_new(MemoryRegion, 1); - memory_region_allocate_system_memory(ram, NULL, "pnv.ram", - machine->ram_size); - memory_region_add_subregion(get_system_memory(), 0, ram); + memory_region_add_subregion(get_system_memory(), 0, machine->ram); /* * Create our simple PNOR device @@ -1785,6 +1780,7 @@ static void pnv_machine_class_init(ObjectClass *oc, void *data) * enough to fit the maximum initrd size at it's load address */ mc->default_ram_size = INITRD_LOAD_ADDR + INITRD_MAX_SIZE; + mc->default_ram_id = "pnv.ram"; ispc->print_info = pnv_pic_print_info; }
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> --- CC: clg@kaod.org CC: david@gibson.dropbear.id.au CC: qemu-ppc@nongnu.org --- hw/ppc/pnv.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)