Commit 67a9c428 authored by Heiko Carstens's avatar Heiko Carstens

s390/ptrace: move short psw definitions to ptrace header file

The short psw definitions are contained in compat header files, however
short psws are not compat specific. Therefore move the definitions to
ptrace header file. This also gets rid of a compat header include in kvm
code.
Acked-by: default avatarVasily Gorbik <gor@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent aceb06d1
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/sched/task_stack.h> #include <linux/sched/task_stack.h>
#include <linux/thread_info.h> #include <linux/thread_info.h>
#include <asm/ptrace.h>
#define compat_mode_t compat_mode_t #define compat_mode_t compat_mode_t
typedef u16 compat_mode_t; typedef u16 compat_mode_t;
...@@ -22,32 +23,8 @@ typedef u16 compat_mode_t; ...@@ -22,32 +23,8 @@ typedef u16 compat_mode_t;
(__force t)(__TYPE_IS_PTR(t) ? ((v) & 0x7fffffff) : (v)); \ (__force t)(__TYPE_IS_PTR(t) ? ((v) & 0x7fffffff) : (v)); \
}) })
#define PSW32_MASK_PER 0x40000000UL
#define PSW32_MASK_DAT 0x04000000UL
#define PSW32_MASK_IO 0x02000000UL
#define PSW32_MASK_EXT 0x01000000UL
#define PSW32_MASK_KEY 0x00F00000UL
#define PSW32_MASK_BASE 0x00080000UL /* Always one */
#define PSW32_MASK_MCHECK 0x00040000UL
#define PSW32_MASK_WAIT 0x00020000UL
#define PSW32_MASK_PSTATE 0x00010000UL
#define PSW32_MASK_ASC 0x0000C000UL
#define PSW32_MASK_CC 0x00003000UL
#define PSW32_MASK_PM 0x00000f00UL
#define PSW32_MASK_RI 0x00000080UL
#define PSW32_MASK_USER 0x0000FF00UL #define PSW32_MASK_USER 0x0000FF00UL
#define PSW32_ADDR_AMODE 0x80000000UL
#define PSW32_ADDR_INSN 0x7FFFFFFFUL
#define PSW32_DEFAULT_KEY (((u32) PAGE_DEFAULT_ACC) << 20)
#define PSW32_ASC_PRIMARY 0x00000000UL
#define PSW32_ASC_ACCREG 0x00004000UL
#define PSW32_ASC_SECONDARY 0x00008000UL
#define PSW32_ASC_HOME 0x0000C000UL
#define PSW32_USER_BITS (PSW32_MASK_DAT | PSW32_MASK_IO | PSW32_MASK_EXT | \ #define PSW32_USER_BITS (PSW32_MASK_DAT | PSW32_MASK_IO | PSW32_MASK_EXT | \
PSW32_DEFAULT_KEY | PSW32_MASK_BASE | \ PSW32_DEFAULT_KEY | PSW32_MASK_BASE | \
PSW32_MASK_MCHECK | PSW32_MASK_PSTATE | \ PSW32_MASK_MCHECK | PSW32_MASK_PSTATE | \
......
...@@ -71,6 +71,35 @@ enum { ...@@ -71,6 +71,35 @@ enum {
&(*(struct psw_bits *)(&(__psw))); \ &(*(struct psw_bits *)(&(__psw))); \
})) }))
#define PSW32_MASK_PER 0x40000000UL
#define PSW32_MASK_DAT 0x04000000UL
#define PSW32_MASK_IO 0x02000000UL
#define PSW32_MASK_EXT 0x01000000UL
#define PSW32_MASK_KEY 0x00F00000UL
#define PSW32_MASK_BASE 0x00080000UL /* Always one */
#define PSW32_MASK_MCHECK 0x00040000UL
#define PSW32_MASK_WAIT 0x00020000UL
#define PSW32_MASK_PSTATE 0x00010000UL
#define PSW32_MASK_ASC 0x0000C000UL
#define PSW32_MASK_CC 0x00003000UL
#define PSW32_MASK_PM 0x00000f00UL
#define PSW32_MASK_RI 0x00000080UL
#define PSW32_ADDR_AMODE 0x80000000UL
#define PSW32_ADDR_INSN 0x7FFFFFFFUL
#define PSW32_DEFAULT_KEY (((u32)PAGE_DEFAULT_ACC) << 20)
#define PSW32_ASC_PRIMARY 0x00000000UL
#define PSW32_ASC_ACCREG 0x00004000UL
#define PSW32_ASC_SECONDARY 0x00008000UL
#define PSW32_ASC_HOME 0x0000C000UL
typedef struct {
unsigned int mask;
unsigned int addr;
} psw_t32 __aligned(8);
#define PGM_INT_CODE_MASK 0x7f #define PGM_INT_CODE_MASK 0x7f
#define PGM_INT_CODE_PER 0x80 #define PGM_INT_CODE_PER 0x80
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <linux/compat.h> #include <linux/compat.h>
#include <linux/socket.h> #include <linux/socket.h>
#include <linux/syscalls.h> #include <linux/syscalls.h>
#include <asm/ptrace.h>
/* Macro that masks the high order bit of an 32 bit pointer and converts it*/ /* Macro that masks the high order bit of an 32 bit pointer and converts it*/
/* to a 64 bit pointer */ /* to a 64 bit pointer */
...@@ -32,15 +33,9 @@ typedef struct ...@@ -32,15 +33,9 @@ typedef struct
freg_t32 fprs[__NUM_FPRS]; freg_t32 fprs[__NUM_FPRS];
} _s390_fp_regs32; } _s390_fp_regs32;
typedef struct
{
__u32 mask;
__u32 addr;
} _psw_t32 __attribute__ ((aligned(8)));
typedef struct typedef struct
{ {
_psw_t32 psw; psw_t32 psw;
__u32 gprs[__NUM_GPRS]; __u32 gprs[__NUM_GPRS];
__u32 acrs[__NUM_ACRS]; __u32 acrs[__NUM_ACRS];
} _s390_regs_common32; } _s390_regs_common32;
......
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
#include <linux/kvm.h> #include <linux/kvm.h>
#include <linux/gfp.h> #include <linux/gfp.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/compat.h>
#include <linux/mm_types.h> #include <linux/mm_types.h>
#include <linux/pgtable.h> #include <linux/pgtable.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment