aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/ptrace.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/include/asm/ptrace.h')
-rw-r--r--arch/s390/include/asm/ptrace.h29
1 files changed, 13 insertions, 16 deletions
diff --git a/arch/s390/include/asm/ptrace.h b/arch/s390/include/asm/ptrace.h
index 62fd80c9e98c..a65846340d51 100644
--- a/arch/s390/include/asm/ptrace.h
+++ b/arch/s390/include/asm/ptrace.h
@@ -230,17 +230,21 @@ typedef struct
230#define PSW_MASK_IO 0x02000000UL 230#define PSW_MASK_IO 0x02000000UL
231#define PSW_MASK_EXT 0x01000000UL 231#define PSW_MASK_EXT 0x01000000UL
232#define PSW_MASK_KEY 0x00F00000UL 232#define PSW_MASK_KEY 0x00F00000UL
233#define PSW_MASK_BASE 0x00080000UL /* always one */
233#define PSW_MASK_MCHECK 0x00040000UL 234#define PSW_MASK_MCHECK 0x00040000UL
234#define PSW_MASK_WAIT 0x00020000UL 235#define PSW_MASK_WAIT 0x00020000UL
235#define PSW_MASK_PSTATE 0x00010000UL 236#define PSW_MASK_PSTATE 0x00010000UL
236#define PSW_MASK_ASC 0x0000C000UL 237#define PSW_MASK_ASC 0x0000C000UL
237#define PSW_MASK_CC 0x00003000UL 238#define PSW_MASK_CC 0x00003000UL
238#define PSW_MASK_PM 0x00000F00UL 239#define PSW_MASK_PM 0x00000F00UL
240#define PSW_MASK_EA 0x00000000UL
241#define PSW_MASK_BA 0x00000000UL
242
243#define PSW_MASK_USER 0x00003F00UL
239 244
240#define PSW_ADDR_AMODE 0x80000000UL 245#define PSW_ADDR_AMODE 0x80000000UL
241#define PSW_ADDR_INSN 0x7FFFFFFFUL 246#define PSW_ADDR_INSN 0x7FFFFFFFUL
242 247
243#define PSW_BASE_BITS 0x00080000UL
244#define PSW_DEFAULT_KEY (((unsigned long) PAGE_DEFAULT_ACC) << 20) 248#define PSW_DEFAULT_KEY (((unsigned long) PAGE_DEFAULT_ACC) << 20)
245 249
246#define PSW_ASC_PRIMARY 0x00000000UL 250#define PSW_ASC_PRIMARY 0x00000000UL
@@ -254,6 +258,7 @@ typedef struct
254#define PSW_MASK_DAT 0x0400000000000000UL 258#define PSW_MASK_DAT 0x0400000000000000UL
255#define PSW_MASK_IO 0x0200000000000000UL 259#define PSW_MASK_IO 0x0200000000000000UL
256#define PSW_MASK_EXT 0x0100000000000000UL 260#define PSW_MASK_EXT 0x0100000000000000UL
261#define PSW_MASK_BASE 0x0000000000000000UL
257#define PSW_MASK_KEY 0x00F0000000000000UL 262#define PSW_MASK_KEY 0x00F0000000000000UL
258#define PSW_MASK_MCHECK 0x0004000000000000UL 263#define PSW_MASK_MCHECK 0x0004000000000000UL
259#define PSW_MASK_WAIT 0x0002000000000000UL 264#define PSW_MASK_WAIT 0x0002000000000000UL
@@ -261,12 +266,14 @@ typedef struct
261#define PSW_MASK_ASC 0x0000C00000000000UL 266#define PSW_MASK_ASC 0x0000C00000000000UL
262#define PSW_MASK_CC 0x0000300000000000UL 267#define PSW_MASK_CC 0x0000300000000000UL
263#define PSW_MASK_PM 0x00000F0000000000UL 268#define PSW_MASK_PM 0x00000F0000000000UL
269#define PSW_MASK_EA 0x0000000100000000UL
270#define PSW_MASK_BA 0x0000000080000000UL
271
272#define PSW_MASK_USER 0x00003F0180000000UL
264 273
265#define PSW_ADDR_AMODE 0x0000000000000000UL 274#define PSW_ADDR_AMODE 0x0000000000000000UL
266#define PSW_ADDR_INSN 0xFFFFFFFFFFFFFFFFUL 275#define PSW_ADDR_INSN 0xFFFFFFFFFFFFFFFFUL
267 276
268#define PSW_BASE_BITS 0x0000000180000000UL
269#define PSW_BASE32_BITS 0x0000000080000000UL
270#define PSW_DEFAULT_KEY (((unsigned long) PAGE_DEFAULT_ACC) << 52) 277#define PSW_DEFAULT_KEY (((unsigned long) PAGE_DEFAULT_ACC) << 52)
271 278
272#define PSW_ASC_PRIMARY 0x0000000000000000UL 279#define PSW_ASC_PRIMARY 0x0000000000000000UL
@@ -279,18 +286,7 @@ typedef struct
279#ifdef __KERNEL__ 286#ifdef __KERNEL__
280extern long psw_kernel_bits; 287extern long psw_kernel_bits;
281extern long psw_user_bits; 288extern long psw_user_bits;
282#ifdef CONFIG_64BIT
283extern long psw_user32_bits;
284#endif 289#endif
285#endif
286
287/* This macro merges a NEW PSW mask specified by the user into
288 the currently active PSW mask CURRENT, modifying only those
289 bits in CURRENT that the user may be allowed to change: this
290 is the condition code and the program mask bits. */
291#define PSW_MASK_MERGE(CURRENT,NEW) \
292 (((CURRENT) & ~(PSW_MASK_CC|PSW_MASK_PM)) | \
293 ((NEW) & (PSW_MASK_CC|PSW_MASK_PM)))
294 290
295/* 291/*
296 * The s390_regs structure is used to define the elf_gregset_t. 292 * The s390_regs structure is used to define the elf_gregset_t.
@@ -328,8 +324,7 @@ struct pt_regs
328 psw_t psw; 324 psw_t psw;
329 unsigned long gprs[NUM_GPRS]; 325 unsigned long gprs[NUM_GPRS];
330 unsigned long orig_gpr2; 326 unsigned long orig_gpr2;
331 unsigned short ilc; 327 unsigned int svc_code;
332 unsigned short svcnr;
333}; 328};
334 329
335/* 330/*
@@ -487,6 +482,8 @@ typedef struct
487#define PTRACE_POKETEXT_AREA 0x5004 482#define PTRACE_POKETEXT_AREA 0x5004
488#define PTRACE_POKEDATA_AREA 0x5005 483#define PTRACE_POKEDATA_AREA 0x5005
489#define PTRACE_GET_LAST_BREAK 0x5006 484#define PTRACE_GET_LAST_BREAK 0x5006
485#define PTRACE_PEEK_SYSTEM_CALL 0x5007
486#define PTRACE_POKE_SYSTEM_CALL 0x5008
490 487
491/* 488/*
492 * PT_PROT definition is loosely based on hppa bsd definition in 489 * PT_PROT definition is loosely based on hppa bsd definition in