[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
>
>