qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 71/86] ppc:virtex_ml507: use memdev for RAM


From: David Gibson
Subject: Re: [PATCH v2 71/86] ppc:virtex_ml507: use memdev for RAM
Date: Thu, 16 Jan 2020 14:35:15 +1000

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 <address@hidden>

Acked-by: David Gibson <address@hidden>

> ---
> CC: address@hidden
> CC: address@hidden
> CC: address@hidden
> ---
>  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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]