Merge trivial low-risk suspend hotkey bugzilla-5918 into release
[cascardo/linux.git] / include / asm-s390 / processor.h
index 4ec652e..5b71d37 100644 (file)
@@ -191,23 +191,21 @@ extern void show_registers(struct pt_regs *regs);
 extern void show_trace(struct task_struct *task, unsigned long *sp);
 
 unsigned long get_wchan(struct task_struct *p);
-#define __KSTK_PTREGS(tsk) ((struct pt_regs *) \
-        ((unsigned long) tsk->thread_info + THREAD_SIZE - sizeof(struct pt_regs)))
-#define KSTK_EIP(tsk)  (__KSTK_PTREGS(tsk)->psw.addr)
-#define KSTK_ESP(tsk)  (__KSTK_PTREGS(tsk)->gprs[15])
+#define task_pt_regs(tsk) ((struct pt_regs *) \
+        (task_stack_page(tsk) + THREAD_SIZE) - 1)
+#define KSTK_EIP(tsk)  (task_pt_regs(tsk)->psw.addr)
+#define KSTK_ESP(tsk)  (task_pt_regs(tsk)->gprs[15])
 
 /*
  * Give up the time slice of the virtual PU.
  */
-#ifndef __s390x__
-# define cpu_relax()   asm volatile ("diag 0,0,68" : : : "memory")
-#else /* __s390x__ */
-# define cpu_relax() \
-       do { \
-               if (MACHINE_HAS_DIAG44) \
-                       asm volatile ("diag 0,0,68" : : : "memory"); \
-       } while (0)
-#endif /* __s390x__ */
+static inline void cpu_relax(void)
+{
+       if (MACHINE_HAS_DIAG44)
+               asm volatile ("diag 0,0,68" : : : "memory");
+       else
+               barrier();
+}
 
 /*
  * Set PSW to specified value.