@@ -10,6 +10,24 @@
#ifndef _ASM_S390X_ARCH_DEF_H_
#define _ASM_S390X_ARCH_DEF_H_
+/* SIGP order codes */
+#define SIGP_SENSE 1
+#define SIGP_EXTERNAL_CALL 2
+#define SIGP_EMERGENCY_SIGNAL 3
+#define SIGP_START 4
+#define SIGP_STOP 5
+#define SIGP_RESTART 6
+#define SIGP_STOP_AND_STORE_STATUS 9
+#define SIGP_INITIAL_CPU_RESET 11
+#define SIGP_CPU_RESET 12
+#define SIGP_SET_PREFIX 13
+#define SIGP_STORE_STATUS_AT_ADDRESS 14
+#define SIGP_SET_ARCHITECTURE 18
+#define SIGP_COND_EMERGENCY_SIGNAL 19
+#define SIGP_SENSE_RUNNING 21
+#define SIGP_SET_MULTI_THREADING 22
+#define SIGP_STORE_ADDITIONAL_STATUS 23
+
struct psw {
uint64_t mask;
uint64_t addr;
@@ -14,6 +14,7 @@
#include <argv.h>
#include <asm/spinlock.h>
#include <asm/facility.h>
+#include <asm/arch_def.h>
#include "sclp.h"
extern char ipl_args[];
@@ -37,7 +38,7 @@ static void sigp_stop(void)
asm volatile(
" sigp %0,%1,0(%2)\n"
- : "+d" (status) : "d" (cpu), "d" (5) : "cc");
+ : "+d" (status) : "d" (cpu), "d" (SIGP_STOP) : "cc");
}
void setup(void)