On Wed, Jan 15, 2020 at 04:07:26PM +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 <imamm...@redhat.com>
Acked-by: David Gibson <da...@gibson.dropbear.id.au> > --- > CC: da...@gibson.dropbear.id.au > CC: qemu-...@nongnu.org > CC: edgar.igles...@gmail.com > --- > hw/ppc/virtex_ml507.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c > index 651d8db..b74a269 100644 > --- a/hw/ppc/virtex_ml507.c > +++ b/hw/ppc/virtex_ml507.c > @@ -193,7 +193,6 @@ static int xilinx_load_device_tree(hwaddr addr, > > static void virtex_init(MachineState *machine) > { > - ram_addr_t ram_size = machine->ram_size; > const char *kernel_filename = machine->kernel_filename; > const char *kernel_cmdline = machine->kernel_cmdline; > hwaddr initrd_base = 0; > @@ -204,7 +203,6 @@ static void virtex_init(MachineState *machine) > CPUPPCState *env; > hwaddr ram_base = 0; > DriveInfo *dinfo; > - MemoryRegion *phys_ram = g_new(MemoryRegion, 1); > qemu_irq irq[32], *cpu_irq; > int kernel_size; > int i; > @@ -221,8 +219,7 @@ static void virtex_init(MachineState *machine) > > qemu_register_reset(main_cpu_reset, cpu); > > - memory_region_allocate_system_memory(phys_ram, NULL, "ram", ram_size); > - memory_region_add_subregion(address_space_mem, ram_base, phys_ram); > + memory_region_add_subregion(address_space_mem, ram_base, machine->ram); > > dinfo = drive_get(IF_PFLASH, 0, 0); > pflash_cfi01_register(PFLASH_BASEADDR, "virtex.flash", FLASH_SIZE, > @@ -265,7 +262,7 @@ static void virtex_init(MachineState *machine) > /* If we failed loading ELF's try a raw image. */ > kernel_size = load_image_targphys(kernel_filename, > boot_offset, > - ram_size); > + machine->ram_size); > boot_info.bootstrap_pc = boot_offset; > high = boot_info.bootstrap_pc + kernel_size + 8192; > } > @@ -276,7 +273,7 @@ static void virtex_init(MachineState *machine) > if (machine->initrd_filename) { > initrd_base = high = ROUND_UP(high, 4); > initrd_size = load_image_targphys(machine->initrd_filename, > - high, ram_size - high); > + high, machine->ram_size - > high); > > if (initrd_size < 0) { > error_report("couldn't load ram disk '%s'", > @@ -290,7 +287,7 @@ static void virtex_init(MachineState *machine) > boot_info.fdt = high + (8192 * 2); > boot_info.fdt &= ~8191; > > - xilinx_load_device_tree(boot_info.fdt, ram_size, > + xilinx_load_device_tree(boot_info.fdt, machine->ram_size, > initrd_base, initrd_size, > kernel_cmdline); > } > @@ -302,6 +299,7 @@ static void virtex_machine_init(MachineClass *mc) > mc->desc = "Xilinx Virtex ML507 reference design"; > mc->init = virtex_init; > mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("440-xilinx"); > + mc->default_ram_id = "ram"; > } > > DEFINE_MACHINE("virtex-ml507", virtex_machine_init) -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature