qemu-arm
[Top][All Lists]
Advanced

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

Re: [PATCH v2 34/86] arm:xilinx_zynq: drop RAM size fixup


From: Alistair Francis
Subject: Re: [PATCH v2 34/86] arm:xilinx_zynq: drop RAM size fixup
Date: Thu, 16 Jan 2020 08:59:50 +1000

On Thu, Jan 16, 2020 at 1:25 AM Igor Mammedov <address@hidden> wrote:
>
> If user provided non-sense RAM size, board will complain and
> continue running with max RAM size supported.
> Also RAM is going to be allocated by generic code, so it won't be
> possible for board to fix things up for user.
>
> Make it error message and exit to force user fix CLI,
> instead of accepting non-sense CLI values.
>
> Signed-off-by: Igor Mammedov <address@hidden>

Reviewed-by: Alistair Francis <address@hidden>

Alistair

> ---
> CC: address@hidden
> CC: address@hidden
> CC: address@hidden
> CC: address@hidden
> ---
>  hw/arm/xilinx_zynq.c | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c
> index 3a0fa5b..df950fc 100644
> --- a/hw/arm/xilinx_zynq.c
> +++ b/hw/arm/xilinx_zynq.c
> @@ -158,7 +158,6 @@ static inline void zynq_init_spi_flashes(uint32_t 
> base_addr, qemu_irq irq,
>
>  static void zynq_init(MachineState *machine)
>  {
> -    ram_addr_t ram_size = machine->ram_size;
>      ARMCPU *cpu;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ext_ram = g_new(MemoryRegion, 1);
> @@ -168,6 +167,12 @@ static void zynq_init(MachineState *machine)
>      qemu_irq pic[64];
>      int n;
>
> +    /* max 2GB ram */
> +    if (machine->ram_size > 0x80000000) {
> +        error_report("RAM size more than %d is not supported", 0x80000000);
> +        exit(EXIT_FAILURE);
> +    }
> +
>      cpu = ARM_CPU(object_new(machine->cpu_type));
>
>      /* By default A9 CPUs have EL3 enabled.  This board does not
> @@ -184,14 +189,9 @@ static void zynq_init(MachineState *machine)
>                              &error_fatal);
>      object_property_set_bool(OBJECT(cpu), true, "realized", &error_fatal);
>
> -    /* max 2GB ram */
> -    if (ram_size > 0x80000000) {
> -        ram_size = 0x80000000;
> -    }
> -
>      /* DDR remapped to address zero.  */
>      memory_region_allocate_system_memory(ext_ram, NULL, "zynq.ext_ram",
> -                                         ram_size);
> +                                         machine->ram_size);
>      memory_region_add_subregion(address_space_mem, 0, ext_ram);
>
>      /* 256K of on-chip memory */
> @@ -300,7 +300,7 @@ static void zynq_init(MachineState *machine)
>      sysbus_connect_irq(busdev, 0, pic[40 - IRQ_OFFSET]);
>      sysbus_mmio_map(busdev, 0, 0xF8007000);
>
> -    zynq_binfo.ram_size = ram_size;
> +    zynq_binfo.ram_size = machine->ram_size;
>      zynq_binfo.nb_cpus = 1;
>      zynq_binfo.board_id = 0xd32;
>      zynq_binfo.loader_start = 0;
> --
> 2.7.4
>
>



reply via email to

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