diff options
Diffstat (limited to 'arch/s390/include/asm/ptrace.h')
-rw-r--r-- | arch/s390/include/asm/ptrace.h | 29 |
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__ |
280 | extern long psw_kernel_bits; | 287 | extern long psw_kernel_bits; |
281 | extern long psw_user_bits; | 288 | extern long psw_user_bits; |
282 | #ifdef CONFIG_64BIT | ||
283 | extern 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 |