summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/plpar_wrappers.h
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2016-11-08 17:08:06 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2016-11-30 23:19:59 +1100
commit53ce299615e587e900548eb6b384c3081b71bbfa (patch)
treee22e6de5121ffaa7b2d4455192794df991af9dd7 /arch/powerpc/include/asm/plpar_wrappers.h
parent500c7ab1a9db4aaf318eba711899804f8ca34eaf (diff)
downloadop-kernel-dev-53ce299615e587e900548eb6b384c3081b71bbfa.zip
op-kernel-dev-53ce299615e587e900548eb6b384c3081b71bbfa.tar.gz
powerpc/pseries: add definitions for new H_SIGNAL_SYS_RESET hcall
This has not made its way to a PAPR release yet, but we have an hcall number assigned. H_SIGNAL_SYS_RESET = 0x380 Syntax: hcall(uint64 H_SIGNAL_SYS_RESET, int64 target); Generate a system reset NMI on the threads indicated by target. Values for target: -1 = target all online threads including the caller -2 = target all online threads except for the caller All other negative values: reserved Positive values: The thread to be targeted, obtained from the value of the "ibm,ppc-interrupt-server#s" property of the CPU in the OF device tree. Semantics: - Invalid target: return H_Parameter. - Otherwise: Generate a system reset NMI on target thread(s), return H_Success. This will be used by crash/debug code to get stuck CPUs into a known state. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/plpar_wrappers.h')
-rw-r--r--arch/powerpc/include/asm/plpar_wrappers.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/plpar_wrappers.h b/arch/powerpc/include/asm/plpar_wrappers.h
index 034a588..0bcc75e 100644
--- a/arch/powerpc/include/asm/plpar_wrappers.h
+++ b/arch/powerpc/include/asm/plpar_wrappers.h
@@ -308,4 +308,9 @@ static inline long plapr_set_watchpoint0(unsigned long dawr0, unsigned long dawr
return plpar_set_mode(0, H_SET_MODE_RESOURCE_SET_DAWR, dawr0, dawrx0);
}
+static inline long plapr_signal_sys_reset(long cpu)
+{
+ return plpar_hcall_norets(H_SIGNAL_SYS_RESET, cpu);
+}
+
#endif /* _ASM_POWERPC_PLPAR_WRAPPERS_H */
OpenPOWER on IntegriCloud