summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv8/fwcall.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-01-10 16:38:40 -0500
committerTom Rini <trini@konsulko.com>2020-01-10 16:38:40 -0500
commitef2f0d323652c1162937df668b33b3bfe0ca3904 (patch)
treef957b7e9edcf79403f8a582d17dc4103f293fc10 /arch/arm/cpu/armv8/fwcall.c
parentc00bd81ae0d6eb1f94e26b31be3a64cadaa05bcb (diff)
parent4f731c795d75aee548f6886f4f0da0a49a99354d (diff)
Merge branch '2020-01-10-master-imports'
- Android image support enhancements - Assorted ARM fixes and enhancements - m68k update
Diffstat (limited to 'arch/arm/cpu/armv8/fwcall.c')
-rw-r--r--arch/arm/cpu/armv8/fwcall.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv8/fwcall.c b/arch/arm/cpu/armv8/fwcall.c
index b0aca1b72a..cbd35b7f4a 100644
--- a/arch/arm/cpu/armv8/fwcall.c
+++ b/arch/arm/cpu/armv8/fwcall.c
@@ -98,6 +98,22 @@ void __noreturn psci_system_reset(void)
;
}
+void __noreturn psci_system_reset2(u32 reset_level, u32 cookie)
+{
+ struct pt_regs regs;
+
+ regs.regs[0] = ARM_PSCI_0_2_FN64_SYSTEM_RESET2;
+ regs.regs[1] = PSCI_RESET2_TYPE_VENDOR | reset_level;
+ regs.regs[2] = cookie;
+ if (use_smc_for_psci)
+ smc_call(&regs);
+ else
+ hvc_call(&regs);
+
+ while (1)
+ ;
+}
+
void __noreturn psci_system_off(void)
{
struct pt_regs regs;