diff options
author | Soby Mathew <soby.mathew@arm.com> | 2014-10-23 10:35:34 +0100 |
---|---|---|
committer | Dan Handley <dan.handley@arm.com> | 2015-01-26 12:42:45 +0000 |
commit | 8991eed7439cb565da505a2bf88e9ac87ad79c1c (patch) | |
tree | 7f9294e7e79f337eeafd725c520ac3cd8c083a83 /include/bl31 | |
parent | 860331aa15ab251c515c396a5c095662de4ae5e6 (diff) |
Rework the PSCI migrate APIs
This patch reworks the PSCI MIGRATE, MIGRATE_INFO_TYPE and
MIGRATE_INFO_UP_CPU support for Trusted Firmware. The
implementation does the appropriate validation of parameters
and invokes the appropriate hook exported by the SPD.
The TSP is a MP Trusted OS. Hence the ability to actually
migrate a Trusted OS has not been implemented. The
corresponding function is not populated in the spd_pm_hooks
structure for the TSPD.
The `spd_pm_ops_t` has undergone changes with this patch.
SPD PORTS MAY NEED TO BE UPDATED.
Fixes ARM-software/tf-issues#249
Change-Id: Iabd87521bf7c530a5e4506b6d3bfd4f1bf87604f
Diffstat (limited to 'include/bl31')
-rw-r--r-- | include/bl31/services/psci.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/include/bl31/services/psci.h b/include/bl31/services/psci.h index 3804bf2c..de6fe4b8 100644 --- a/include/bl31/services/psci.h +++ b/include/bl31/services/psci.h @@ -191,8 +191,8 @@ typedef struct spd_pm_ops { void (*svc_suspend)(uint64_t __unused); void (*svc_on_finish)(uint64_t __unused); void (*svc_suspend_finish)(uint64_t suspend_level); - void (*svc_migrate)(uint64_t __unused1, uint64_t __unused2); - int32_t (*svc_migrate_info)(uint64_t *__unused); + int32_t (*svc_migrate)(uint64_t from_cpu, uint64_t to_cpu); + int32_t (*svc_migrate_info)(uint64_t *resident_cpu); void (*svc_system_off)(void); void (*svc_system_reset)(void); } spd_pm_ops_t; @@ -202,9 +202,9 @@ typedef struct spd_pm_ops { ******************************************************************************/ unsigned int psci_version(void); int psci_affinity_info(unsigned long, unsigned int); -int psci_migrate(unsigned int); -unsigned int psci_migrate_info_type(void); -unsigned long psci_migrate_info_up_cpu(void); +int psci_migrate(unsigned long); +int psci_migrate_info_type(void); +long psci_migrate_info_up_cpu(void); int psci_cpu_on(unsigned long, unsigned long, unsigned long); |