/* this typedef defines how a Program Status Word looks like */ typedefstruct { unsignedlong mask; unsignedlong addr;
} __attribute__ ((aligned(8))) psw_t;
/* * The s390_regs structure is used to define the elf_gregset_t.
*/ typedefstruct {
psw_t psw; unsignedlong gprs[NUM_GPRS]; unsignedint acrs[NUM_ACRS]; unsignedlong orig_gpr2;
} s390_regs;
/* * The user_pt_regs structure exports the beginning of * the in-kernel pt_regs structure to user space.
*/ typedefstruct { unsignedlong args[1];
psw_t psw; unsignedlong gprs[NUM_GPRS];
} user_pt_regs;
/* * Now for the user space program event recording (trace) definitions. * The following structures are used only for the ptrace interface, don't * touch or even look at it if you don't want to modify the user-space * ptrace interface. In particular stay away from it for in-kernel PER.
*/ typedefstruct { unsignedlong cr[NUM_CR_WORDS];
} per_cr_words;
typedefstruct { union {
per_cr_words words;
per_cr_bits bits;
} control_regs; /* * The single_step and instruction_fetch bits are obsolete, * the kernel always sets them to zero. To enable single * stepping use ptrace(PTRACE_SINGLESTEP) instead.
*/ unsigned single_step : 1; unsigned instruction_fetch : 1; unsigned : 30; /* * These addresses are copied into cr10 & cr11 if single * stepping is switched off
*/ unsignedlong starting_addr; unsignedlong ending_addr; union {
per_lowcore_words words;
per_lowcore_bits bits;
} lowcore;
} per_struct;
/* * S/390 specific non posix ptrace requests. I chose unusual values so * they are unlikely to clash with future ptrace definitions.
*/ #define PTRACE_PEEKUSR_AREA 0x5000 #define PTRACE_POKEUSR_AREA 0x5001 #define PTRACE_PEEKTEXT_AREA 0x5002 #define PTRACE_PEEKDATA_AREA 0x5003 #define PTRACE_POKETEXT_AREA 0x5004 #define PTRACE_POKEDATA_AREA 0x5005 #define PTRACE_GET_LAST_BREAK 0x5006 #define PTRACE_PEEK_SYSTEM_CALL 0x5007 #define PTRACE_POKE_SYSTEM_CALL 0x5008 #define PTRACE_ENABLE_TE 0x5009 #define PTRACE_DISABLE_TE 0x5010 #define PTRACE_TE_ABORT_RAND 0x5011
/* * The numbers chosen here are somewhat arbitrary but absolutely MUST * not overlap with any of the number assigned in <linux/ptrace.h>.
*/ #define PTRACE_SINGLEBLOCK 12 /* resume execution until next branch */
/* * PT_PROT definition is loosely based on hppa bsd definition in * gdb/hppab-nat.c
*/ #define PTRACE_PROT 21
/* * The user_regs_struct defines the way the user registers are * store on the stack for signal handling.
*/ struct user_regs_struct {
psw_t psw; unsignedlong gprs[NUM_GPRS]; unsignedint acrs[NUM_ACRS]; unsignedlong orig_gpr2;
s390_fp_regs fp_regs; /* * These per registers are in here so that gdb can modify them * itself as there is no "official" ptrace interface for hardware * watchpoints. This is the way intel does it.
*/
per_struct per_info; unsignedlong ieee_instruction_pointer; /* obsolete, always 0 */
};
#endif/* __ASSEMBLER__ */
#endif/* _UAPI_S390_PTRACE_H */
Messung V0.5
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.