On Wed, Feb 25, 2015 at 11:04 PM, Alistair Francis <alistair.fran...@xilinx.com> wrote: > On Tue, Feb 24, 2015 at 9:04 AM, Peter Crosthwaite > <peter.crosthwa...@xilinx.com> wrote: >> Use SMC PSCI, with the standard policy of secondaries starting in >> power-off. >> >> Signed-off-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> >> --- >> hw/arm/xlnx-zynq-mp.c | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/hw/arm/xlnx-zynq-mp.c b/hw/arm/xlnx-zynq-mp.c >> index 9d7e834..0952221 100644 >> --- a/hw/arm/xlnx-zynq-mp.c >> +++ b/hw/arm/xlnx-zynq-mp.c >> @@ -96,6 +96,14 @@ static void xlnx_zynq_mp_realize(DeviceState *dev, Error >> **errp) >> for (i = 0; i < XLNX_ZYNQ_MP_NUM_CPUS; i++) { >> qemu_irq irq; >> >> + object_property_set_int(OBJECT(&s->cpu[i]), QEMU_PSCI_CONDUIT_SMC, >> + "psci-conduit", NULL); >> + if (i > 0) { >> + /* Secondary CPUs start in PSCI powered-down state */ >> + object_property_set_bool(OBJECT(&s->cpu[i]), true, >> + "start-powered-off", NULL); > > Something (probably err like most of the others) should be passed into > errp instead of NULL. >
Changing to &error_abort. Thanks. With the CPU type being fixed, it should not be possible for this to fail. The original code I copied from (virt.c) uses NULL as it needs to work with non-PSCI ARM CPUs but that doesn't apply here. Regards, Peter > Thanks, > > Alistair > >> + } >> + >> object_property_set_bool(OBJECT(&s->cpu[i]), true, "realized", >> &err); >> ERR_PROP_CHECK_RETURN(err, errp); >> >> -- >> 2.3.0.1.g27a12f1 >> >> >