aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv7/psci-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/cpu/armv7/psci-common.c')
-rw-r--r--arch/arm/cpu/armv7/psci-common.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/psci-common.c b/arch/arm/cpu/armv7/psci-common.c
index 8cb4107be6..73f986bf72 100644
--- a/arch/arm/cpu/armv7/psci-common.c
+++ b/arch/arm/cpu/armv7/psci-common.c
@@ -25,10 +25,19 @@
#include <linux/linkage.h>
static u32 psci_target_pc[CONFIG_ARMV7_PSCI_NR_CPUS] __secure_data = { 0 };
+static u32 psci_context_id[CONFIG_ARMV7_PSCI_NR_CPUS] __secure_data = { 0 };
void __secure psci_save_target_pc(int cpu, u32 pc)
{
psci_target_pc[cpu] = pc;
+ psci_context_id[cpu] = 0;
+ dsb();
+}
+
+void __secure psci_save(int cpu, u32 pc, u32 context_id)
+{
+ psci_target_pc[cpu] = pc;
+ psci_context_id[cpu] = context_id;
dsb();
}
@@ -37,3 +46,8 @@ u32 __secure psci_get_target_pc(int cpu)
return psci_target_pc[cpu];
}
+u32 __secure psci_get_context_id(int cpu)
+{
+ return psci_context_id[cpu];
+}
+