Message ID | 1399305623-22016-8-git-send-email-robherring2@gmail.com |
---|---|
State | New |
Headers | show |
On Mon, May 5, 2014 at 4:00 PM, Rob Herring <robherring2@gmail.com> wrote: > From: Rob Herring <rob.herring@linaro.org> > > Enable PSCI enulation on highbank and midway platforms. "emulation" > > Note that this requires fixing the PSCI function IDs in the DTB to match > what QEMU is using. This should get fixed. > > Signed-off-by: Rob Herring <rob.herring@linaro.org> > --- > hw/arm/highbank.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c > index 46b9f1e..092df1f 100644 > --- a/hw/arm/highbank.c > +++ b/hw/arm/highbank.c > @@ -242,6 +242,14 @@ static void calxeda_init(QEMUMachineInitArgs *args, enum cxmachines machine) > cpuobj = object_new(object_class_get_name(oc)); > cpu = ARM_CPU(cpuobj); > > + object_property_set_int(cpuobj, QEMU_PSCI_METHOD_SMC, "psci-method", > + NULL); > + > + /* Secondary CPUs start in PSCI powered-down state */ > + if (n > 0) { > + object_property_set_bool(cpuobj, true, "start-powered-off", NULL); Use &error_abort in cases where things should never possibly fail (and i think this is the case here). The semantics of a NULL errp is "try the function and if it fails I don't care". Regards, Peter > + } > + > if (object_property_find(cpuobj, "reset-cbar", NULL)) { > object_property_set_int(cpuobj, MPCORE_PERIPHBASE, > "reset-cbar", &error_abort); > -- > 1.9.1 > >
diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index 46b9f1e..092df1f 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -242,6 +242,14 @@ static void calxeda_init(QEMUMachineInitArgs *args, enum cxmachines machine) cpuobj = object_new(object_class_get_name(oc)); cpu = ARM_CPU(cpuobj); + object_property_set_int(cpuobj, QEMU_PSCI_METHOD_SMC, "psci-method", + NULL); + + /* Secondary CPUs start in PSCI powered-down state */ + if (n > 0) { + object_property_set_bool(cpuobj, true, "start-powered-off", NULL); + } + if (object_property_find(cpuobj, "reset-cbar", NULL)) { object_property_set_int(cpuobj, MPCORE_PERIPHBASE, "reset-cbar", &error_abort);