diff options
Diffstat (limited to 'arch/s390/include/asm/processor.h')
-rw-r--r-- | arch/s390/include/asm/processor.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h index b42715458312..73e259834e10 100644 --- a/arch/s390/include/asm/processor.h +++ b/arch/s390/include/asm/processor.h | |||
@@ -28,7 +28,7 @@ | |||
28 | 28 | ||
29 | static inline void get_cpu_id(struct cpuid *ptr) | 29 | static inline void get_cpu_id(struct cpuid *ptr) |
30 | { | 30 | { |
31 | asm volatile("stidp 0(%1)" : "=m" (*ptr) : "a" (ptr)); | 31 | asm volatile("stidp %0" : "=Q" (*ptr)); |
32 | } | 32 | } |
33 | 33 | ||
34 | extern void s390_adjust_jiffies(void); | 34 | extern void s390_adjust_jiffies(void); |
@@ -184,9 +184,9 @@ static inline void psw_set_key(unsigned int key) | |||
184 | static inline void __load_psw(psw_t psw) | 184 | static inline void __load_psw(psw_t psw) |
185 | { | 185 | { |
186 | #ifndef __s390x__ | 186 | #ifndef __s390x__ |
187 | asm volatile("lpsw 0(%0)" : : "a" (&psw), "m" (psw) : "cc"); | 187 | asm volatile("lpsw %0" : : "Q" (psw) : "cc"); |
188 | #else | 188 | #else |
189 | asm volatile("lpswe 0(%0)" : : "a" (&psw), "m" (psw) : "cc"); | 189 | asm volatile("lpswe %0" : : "Q" (psw) : "cc"); |
190 | #endif | 190 | #endif |
191 | } | 191 | } |
192 | 192 | ||
@@ -206,17 +206,17 @@ static inline void __load_psw_mask (unsigned long mask) | |||
206 | asm volatile( | 206 | asm volatile( |
207 | " basr %0,0\n" | 207 | " basr %0,0\n" |
208 | "0: ahi %0,1f-0b\n" | 208 | "0: ahi %0,1f-0b\n" |
209 | " st %0,4(%1)\n" | 209 | " st %0,%O1+4(%R1)\n" |
210 | " lpsw 0(%1)\n" | 210 | " lpsw %1\n" |
211 | "1:" | 211 | "1:" |
212 | : "=&d" (addr) : "a" (&psw), "m" (psw) : "memory", "cc"); | 212 | : "=&d" (addr), "=Q" (psw) : "Q" (psw) : "memory", "cc"); |
213 | #else /* __s390x__ */ | 213 | #else /* __s390x__ */ |
214 | asm volatile( | 214 | asm volatile( |
215 | " larl %0,1f\n" | 215 | " larl %0,1f\n" |
216 | " stg %0,8(%1)\n" | 216 | " stg %0,%O1+8(%R1)\n" |
217 | " lpswe 0(%1)\n" | 217 | " lpswe %1\n" |
218 | "1:" | 218 | "1:" |
219 | : "=&d" (addr) : "a" (&psw), "m" (psw) : "memory", "cc"); | 219 | : "=&d" (addr), "=Q" (psw) : "Q" (psw) : "memory", "cc"); |
220 | #endif /* __s390x__ */ | 220 | #endif /* __s390x__ */ |
221 | } | 221 | } |
222 | 222 | ||