Disintegrate asm/system.h for S390
Disintegrate asm/system.h for S390. Signed-off-by: David Howells <dhowells@redhat.com> cc: linux-s390@vger.kernel.org
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#define __ASM_S390_PROCESSOR_H
|
||||
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/irqflags.h>
|
||||
#include <asm/cpu.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/ptrace.h>
|
||||
@@ -156,6 +157,14 @@ unsigned long get_wchan(struct task_struct *p);
|
||||
#define KSTK_EIP(tsk) (task_pt_regs(tsk)->psw.addr)
|
||||
#define KSTK_ESP(tsk) (task_pt_regs(tsk)->gprs[15])
|
||||
|
||||
static inline unsigned short stap(void)
|
||||
{
|
||||
unsigned short cpu_address;
|
||||
|
||||
asm volatile("stap %0" : "=m" (cpu_address));
|
||||
return cpu_address;
|
||||
}
|
||||
|
||||
/*
|
||||
* Give up the time slice of the virtual PU.
|
||||
*/
|
||||
@@ -303,6 +312,21 @@ static inline void __noreturn disabled_wait(unsigned long code)
|
||||
while (1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Use to set psw mask except for the first byte which
|
||||
* won't be changed by this function.
|
||||
*/
|
||||
static inline void
|
||||
__set_psw_mask(unsigned long mask)
|
||||
{
|
||||
__load_psw_mask(mask | (arch_local_save_flags() & ~(-1UL >> 8)));
|
||||
}
|
||||
|
||||
#define local_mcck_enable() \
|
||||
__set_psw_mask(psw_kernel_bits | PSW_MASK_DAT | PSW_MASK_MCHECK)
|
||||
#define local_mcck_disable() \
|
||||
__set_psw_mask(psw_kernel_bits | PSW_MASK_DAT)
|
||||
|
||||
/*
|
||||
* Basic Machine Check/Program Check Handler.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user