summaryrefslogtreecommitdiff
path: root/include/bl31
diff options
context:
space:
mode:
authorSoby Mathew <soby.mathew@arm.com>2014-10-23 10:35:34 +0100
committerDan Handley <dan.handley@arm.com>2015-01-26 12:42:45 +0000
commit8991eed7439cb565da505a2bf88e9ac87ad79c1c (patch)
tree7f9294e7e79f337eeafd725c520ac3cd8c083a83 /include/bl31
parent860331aa15ab251c515c396a5c095662de4ae5e6 (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.h10
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);