[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH REPOST v3 20/80] arm/mps2-tz: use memdev for RAM
From: |
Andrew Jones |
Subject: |
Re: [PATCH REPOST v3 20/80] arm/mps2-tz: use memdev for RAM |
Date: |
Thu, 23 Jan 2020 13:59:09 +0100 |
On Thu, Jan 23, 2020 at 12:37:45PM +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.
>
> PS:
> while at it add check for user supplied RAM size and error
> out if it mismatches board expected value.
>
> Signed-off-by: Igor Mammedov <address@hidden>
> ---
> v2:
> * fix format string causing build failure on 32-bit host
> (Philippe Mathieu-Daudé <address@hidden>)
>
> CC: address@hidden
> CC: address@hidden
> CC: address@hidden
> ---
> hw/arm/mps2-tz.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
> index f8b620b..06dacf6 100644
> --- a/hw/arm/mps2-tz.c
> +++ b/hw/arm/mps2-tz.c
> @@ -39,6 +39,7 @@
>
> #include "qemu/osdep.h"
> #include "qemu/units.h"
> +#include "qemu/cutils.h"
> #include "qapi/error.h"
> #include "qemu/error-report.h"
> #include "hw/arm/boot.h"
> @@ -79,7 +80,6 @@ typedef struct {
> MachineState parent;
>
> ARMSSE iotkit;
> - MemoryRegion psram;
> MemoryRegion ssram[3];
> MemoryRegion ssram1_m;
> MPS2SCC scc;
> @@ -388,6 +388,13 @@ static void mps2tz_common_init(MachineState *machine)
> exit(1);
> }
>
> + if (machine->ram_size != mc->default_ram_size) {
> + char *sz = size_to_str(mc->default_ram_size);
> + error_report("Invalid RAM size, should be %s", sz);
> + g_free(sz);
> + exit(EXIT_FAILURE);
> + }
> +
> sysbus_init_child_obj(OBJECT(machine), "iotkit", &mms->iotkit,
> sizeof(mms->iotkit), mmc->armsse_type);
> iotkitdev = DEVICE(&mms->iotkit);
> @@ -458,9 +465,7 @@ static void mps2tz_common_init(MachineState *machine)
> * tradeoffs. For QEMU they're all just RAM, though. We arbitrarily
> * call the 16MB our "system memory", as it's the largest lump.
> */
> - memory_region_allocate_system_memory(&mms->psram,
> - NULL, "mps.ram", 16 * MiB);
> - memory_region_add_subregion(system_memory, 0x80000000, &mms->psram);
> + memory_region_add_subregion(system_memory, 0x80000000, machine->ram);
>
> /* The overflow IRQs for all UARTs are ORed together.
> * Tx, Rx and "combined" IRQs are sent to the NVIC separately.
> @@ -642,6 +647,7 @@ static void mps2tz_class_init(ObjectClass *oc, void *data)
>
> mc->init = mps2tz_common_init;
> iic->check = mps2_tz_idau_check;
> + mc->default_ram_id = "mps.ram";
> }
>
> static void mps2tz_an505_class_init(ObjectClass *oc, void *data)
> @@ -657,6 +663,7 @@ static void mps2tz_an505_class_init(ObjectClass *oc, void
> *data)
> mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m33");
> mmc->scc_id = 0x41045050;
> mmc->armsse_type = TYPE_IOTKIT;
> + mc->default_ram_size = 16 * MiB;
Shouldn't this line be added to mps2tz_class_init ?
Thanks,
drew
> }
>
> static void mps2tz_an521_class_init(ObjectClass *oc, void *data)
> --
> 2.7.4
>
- [PATCH REPOST v3 12/80] arm/highbank: use memdev for RAM, (continued)
- [PATCH REPOST v3 12/80] arm/highbank: use memdev for RAM, Igor Mammedov, 2020/01/23
- [PATCH REPOST v3 14/80] arm/imx25_pdk: use memdev for RAM, Igor Mammedov, 2020/01/23
- [PATCH REPOST v3 13/80] arm/imx25_pdk: drop RAM size fixup, Igor Mammedov, 2020/01/23
- [PATCH REPOST v3 15/80] arm/integratorcp: use memdev for RAM, Igor Mammedov, 2020/01/23
- [PATCH REPOST v3 16/80] arm/kzm: drop RAM size fixup, Igor Mammedov, 2020/01/23
- [PATCH REPOST v3 17/80] arm/kzm: use memdev for RAM, Igor Mammedov, 2020/01/23
- [PATCH REPOST v3 20/80] arm/mps2-tz: use memdev for RAM, Igor Mammedov, 2020/01/23
- Re: [PATCH REPOST v3 20/80] arm/mps2-tz: use memdev for RAM,
Andrew Jones <=
- [PATCH v4 20/80] arm/mps2-tz: use memdev for RAM, Igor Mammedov, 2020/01/23
- [PATCH REPOST v3 19/80] arm/mcimx7d-sabre: use memdev for RAM, Igor Mammedov, 2020/01/23
- [PATCH REPOST v3 18/80] arm/mcimx6ul-evk: use memdev for RAM, Igor Mammedov, 2020/01/23
- [PATCH REPOST v3 21/80] arm/mps2: use memdev for RAM, Igor Mammedov, 2020/01/23