Start to support PSCI 1.0. For all the functions we currently support this

can be seen as the same as 0.2. There are changes with the data passed to
CPU_SUSPEND, however we don't yet use this call.

Sponsored by:	ABT Systems Ltd
This commit is contained in:
Andrew Turner 2015-08-11 13:42:58 +00:00
parent 0447c1367a
commit 6e3244f594

View File

@ -288,20 +288,21 @@ psci_v0_2_init(device_t dev)
if (version == PSCI_RETVAL_NOT_SUPPORTED)
return (1);
if ((PSCI_VER_MAJOR(version) != 0) && (PSCI_VER_MINOR(version) != 2)) {
device_printf(dev, "PSCI version number mismatched with DT\n");
return (1);
if ((PSCI_VER_MAJOR(version) == 0 && PSCI_VER_MINOR(version) == 2) ||
(PSCI_VER_MAJOR(version) == 1 && PSCI_VER_MINOR(version) == 0)) {
if (bootverbose)
device_printf(dev, "PSCI version 0.2 available\n");
/*
* We only register this for v0.2 since v0.1 doesn't support
* system_reset.
*/
EVENTHANDLER_REGISTER(shutdown_final, psci_shutdown, sc,
SHUTDOWN_PRI_LAST);
return (0);
}
if (bootverbose)
device_printf(dev, "PSCI version 0.2 available\n");
/*
* We only register this for v0.2 since v0.1 doesn't support
* system_reset.
*/
EVENTHANDLER_REGISTER(shutdown_final, psci_shutdown, sc,
SHUTDOWN_PRI_LAST);
return (0);
device_printf(dev, "PSCI version number mismatched with DT\n");
return (1);
}