mirror of https://github.com/xemu-project/xemu.git
hw/arm: versal: Create an APU CPU Cluster
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> Message-id: 20220406174303.2022038-2-edgar.iglesias@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
51af6231ad
commit
8779d00c4e
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue