Message ID | 20200217173452.15243-62-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: David Gibson <david@gibson.dropbear.id.au> > Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > --- 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: David Gibson <david@gibson.dropbear.id.au> > Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > --- > hw/ppc/mac_oldworld.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c > index 7318d7e9b4..66e434bba3 100644 > --- a/hw/ppc/mac_oldworld.c > +++ b/hw/ppc/mac_oldworld.c > @@ -91,7 +91,6 @@ static void ppc_heathrow_init(MachineState *machine) > CPUPPCState *env = NULL; > char *filename; > int linux_boot, i; > - MemoryRegion *ram = g_new(MemoryRegion, 1); > MemoryRegion *bios = g_new(MemoryRegion, 1); > uint32_t kernel_base, initrd_base, cmdline_base = 0; > int32_t kernel_size, initrd_size; > @@ -127,9 +126,7 @@ static void ppc_heathrow_init(MachineState *machine) > exit(1); > } > > - memory_region_allocate_system_memory(ram, NULL, "ppc_heathrow.ram", > - ram_size); > - memory_region_add_subregion(sysmem, 0, ram); > + memory_region_add_subregion(sysmem, 0, machine->ram); > > /* allocate and load BIOS */ > memory_region_init_ram(bios, NULL, "ppc_heathrow.bios", BIOS_SIZE, > @@ -446,6 +443,7 @@ static void heathrow_class_init(ObjectClass *oc, void *data) > mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("750_v3.1"); > mc->default_display = "std"; > mc->ignore_boot_device_suffixes = true; > + mc->default_ram_id = "ppc_heathrow.ram"; > fwc->get_dev_path = heathrow_fw_dev_path; > } > > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index 7318d7e9b4..66e434bba3 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -91,7 +91,6 @@ static void ppc_heathrow_init(MachineState *machine) CPUPPCState *env = NULL; char *filename; int linux_boot, i; - MemoryRegion *ram = g_new(MemoryRegion, 1); MemoryRegion *bios = g_new(MemoryRegion, 1); uint32_t kernel_base, initrd_base, cmdline_base = 0; int32_t kernel_size, initrd_size; @@ -127,9 +126,7 @@ static void ppc_heathrow_init(MachineState *machine) exit(1); } - memory_region_allocate_system_memory(ram, NULL, "ppc_heathrow.ram", - ram_size); - memory_region_add_subregion(sysmem, 0, ram); + memory_region_add_subregion(sysmem, 0, machine->ram); /* allocate and load BIOS */ memory_region_init_ram(bios, NULL, "ppc_heathrow.bios", BIOS_SIZE, @@ -446,6 +443,7 @@ static void heathrow_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("750_v3.1"); mc->default_display = "std"; mc->ignore_boot_device_suffixes = true; + mc->default_ram_id = "ppc_heathrow.ram"; fwc->get_dev_path = heathrow_fw_dev_path; }