[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 1/4] hw/arm: versal: Create an APU CPU Cluster
From: |
Francisco Iglesias |
Subject: |
Re: [PATCH v1 1/4] hw/arm: versal: Create an APU CPU Cluster |
Date: |
Thu, 7 Apr 2022 10:24:48 +0100 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On Wed, Apr 06, 2022 at 06:43:00PM +0100, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
>
> Create an APU CPU Cluster. This is in preparation to add the RPU.
>
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
> ---
> hw/arm/xlnx-versal.c | 9 ++++++++-
> include/hw/arm/xlnx-versal.h | 2 ++
> 2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c
> index 2551dfc22d..4415ee413f 100644
> --- a/hw/arm/xlnx-versal.c
> +++ b/hw/arm/xlnx-versal.c
> @@ -34,10 +34,15 @@ static void versal_create_apu_cpus(Versal *s)
> {
> int i;
>
> + object_initialize_child(OBJECT(s), "apu-cluster", &s->fpd.apu.cluster,
> + TYPE_CPU_CLUSTER);
> + qdev_prop_set_uint32(DEVICE(&s->fpd.apu.cluster), "cluster-id", 0);
> +
> for (i = 0; i < ARRAY_SIZE(s->fpd.apu.cpu); i++) {
> Object *obj;
>
> - object_initialize_child(OBJECT(s), "apu-cpu[*]", &s->fpd.apu.cpu[i],
> + object_initialize_child(OBJECT(&s->fpd.apu.cluster),
> + "apu-cpu[*]", &s->fpd.apu.cpu[i],
> XLNX_VERSAL_ACPU_TYPE);
> obj = OBJECT(&s->fpd.apu.cpu[i]);
> if (i) {
> @@ -52,6 +57,8 @@ static void versal_create_apu_cpus(Versal *s)
> &error_abort);
> qdev_realize(DEVICE(obj), NULL, &error_fatal);
> }
> +
> + qdev_realize(DEVICE(&s->fpd.apu.cluster), NULL, &error_fatal);
> }
>
> static void versal_create_apu_gic(Versal *s, qemu_irq *pic)
> diff --git a/include/hw/arm/xlnx-versal.h b/include/hw/arm/xlnx-versal.h
> index 0728316ec7..d2d3028e18 100644
> --- a/include/hw/arm/xlnx-versal.h
> +++ b/include/hw/arm/xlnx-versal.h
> @@ -14,6 +14,7 @@
>
> #include "hw/sysbus.h"
> #include "hw/arm/boot.h"
> +#include "hw/cpu/cluster.h"
> #include "hw/or-irq.h"
> #include "hw/sd/sdhci.h"
> #include "hw/intc/arm_gicv3.h"
> @@ -49,6 +50,7 @@ struct Versal {
> struct {
> struct {
> MemoryRegion mr;
> + CPUClusterState cluster;
> ARMCPU cpu[XLNX_VERSAL_NR_ACPUS];
> GICv3State gic;
> } apu;
> --
> 2.25.1
>
- [PATCH v1 0/4] hw/arm: versal: Add Cortex-R5s and CRL, Edgar E. Iglesias, 2022/04/06
- [PATCH v1 3/4] hw/misc: Add a model of the Xilinx Versal CRL, Edgar E. Iglesias, 2022/04/06
- [PATCH v1 1/4] hw/arm: versal: Create an APU CPU Cluster, Edgar E. Iglesias, 2022/04/06
- [PATCH v1 2/4] hw/arm: versal: Add the Cortex-R5Fs, Edgar E. Iglesias, 2022/04/06
- [PATCH v1 4/4] hw/arm: versal: Connect the CRL, Edgar E. Iglesias, 2022/04/06
- Re: [PATCH v1 0/4] hw/arm: versal: Add Cortex-R5s and CRL, Peter Maydell, 2022/04/11