GDBserver
|
#include "server.h"
#include "linux-low.h"
#include "elf/common.h"
#include <asm/ptrace.h>
#include <sys/ptrace.h>
#include <sys/uio.h>
#include <elf.h>
Go to the source code of this file.
#define HWCAP_S390_HIGH_GPRS 512 |
Definition at line 32 of file linux-s390-low.c.
Referenced by s390_arch_setup().
#define PTRACE_GETREGSET 0x4204 |
Definition at line 36 of file linux-s390-low.c.
Referenced by aarch64_arch_setup(), ps_get_thread_area(), s390_arch_setup(), and s390_check_regset().
#define PTRACE_SETREGSET 0x4205 |
Definition at line 40 of file linux-s390-low.c.
Referenced by aarch64_linux_set_debug_regs().
#define s390_breakpoint_len 2 |
Definition at line 327 of file linux-s390-low.c.
Referenced by s390_breakpoint_at().
#define s390_num_regs 52 |
Definition at line 87 of file linux-s390-low.c.
void init_registers_s390_linux32 | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_s390_linux32v1 | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_s390_linux32v2 | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_s390_linux64 | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_s390_linux64v1 | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_s390_linux64v2 | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_s390_te_linux64 | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_s390x_linux64 | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_s390x_linux64v1 | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_s390x_linux64v2 | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_s390x_te_linux64 | ( | void | ) |
Referenced by initialize_low_arch().
void initialize_low_arch | ( | void | ) |
Definition at line 583 of file linux-s390-low.c.
References init_registers_s390_linux32(), init_registers_s390_linux32v1(), init_registers_s390_linux32v2(), init_registers_s390_linux64(), init_registers_s390_linux64v1(), init_registers_s390_linux64v2(), init_registers_s390_te_linux64(), init_registers_s390x_linux64(), init_registers_s390x_linux64v1(), init_registers_s390x_linux64v2(), and init_registers_s390x_te_linux64().
static void s390_arch_setup | ( | void | ) | [static] |
Definition at line 415 of file linux-s390-low.c.
References collect_register_by_name(), current_inferior, current_process(), fetch_inferior_registers, find_regno(), free_register_cache(), get_thread_lwp, HWCAP_S390_HIGH_GPRS, new_register_cache(), pid_of, PTRACE_GETREGSET, s390_check_regset(), s390_regsets, regcache::tdesc, and process_info::tdesc.
static int s390_breakpoint_at | ( | CORE_ADDR | pc | ) | [static] |
Definition at line 497 of file linux-s390-low.c.
References memcmp(), read_inferior_memory(), s390_breakpoint, and s390_breakpoint_len.
static int s390_cannot_fetch_register | ( | int | regno | ) | [static] |
Definition at line 152 of file linux-s390-low.c.
static int s390_cannot_store_register | ( | int | regno | ) | [static] |
Definition at line 158 of file linux-s390-low.c.
static int s390_check_regset | ( | int | pid, |
int | regset, | ||
int | regsize | ||
) | [static] |
Definition at line 394 of file linux-s390-low.c.
References errno, and PTRACE_GETREGSET.
Referenced by s390_arch_setup().
static void s390_collect_ptrace_register | ( | struct regcache * | regcache, |
int | regno, | ||
char * | buf | ||
) | [static] |
Definition at line 164 of file linux-s390-low.c.
References collect_register(), memset(), usrregs_info::num_regs, register_size(), usrregs_info::regmap, linux_target_ops::regs_info, regcache::tdesc, the_low_target, and regs_info::usrregs.
Referenced by s390_fill_gregset().
static void s390_fill_gregset | ( | struct regcache * | regcache, |
void * | buf | ||
) | [static] |
Definition at line 269 of file linux-s390-low.c.
References usrregs_info::num_regs, usrregs_info::regmap, linux_target_ops::regs_info, s390_collect_ptrace_register(), the_low_target, and regs_info::usrregs.
static void s390_fill_last_break | ( | struct regcache * | regcache, |
void * | buf | ||
) | [static] |
Definition at line 289 of file linux-s390-low.c.
static void s390_fill_system_call | ( | struct regcache * | regcache, |
void * | buf | ||
) | [static] |
Definition at line 304 of file linux-s390-low.c.
References collect_register_by_name().
static CORE_ADDR s390_get_pc | ( | struct regcache * | regcache | ) | [static] |
Definition at line 330 of file linux-s390-low.c.
References collect_register_by_name(), register_size(), and regcache::tdesc.
static struct regs_info* s390_regs_info | ( | void | ) | [static, read] |
Definition at line 547 of file linux-s390-low.c.
References current_process(), register_size(), regs_info, and process_info::tdesc.
static void s390_set_pc | ( | struct regcache * | regcache, |
CORE_ADDR | newpc | ||
) | [static] |
Definition at line 347 of file linux-s390-low.c.
References collect_register_by_name(), register_size(), supply_register_by_name(), and regcache::tdesc.
static void s390_store_last_break | ( | struct regcache * | regcache, |
const void * | buf | ||
) | [static] |
Definition at line 295 of file linux-s390-low.c.
References register_size(), supply_register_by_name(), and regcache::tdesc.
static void s390_store_system_call | ( | struct regcache * | regcache, |
const void * | buf | ||
) | [static] |
Definition at line 310 of file linux-s390-low.c.
References supply_register_by_name().
static void s390_supply_ptrace_register | ( | struct regcache * | regcache, |
int | regno, | ||
const char * | buf | ||
) | [static] |
Definition at line 210 of file linux-s390-low.c.
References collect_register(), memcpy(), usrregs_info::num_regs, register_size(), usrregs_info::regmap, linux_target_ops::regs_info, supply_register(), regcache::tdesc, the_low_target, and regs_info::usrregs.
{ NULL, &s390_usrregs_info, &s390_regsets_info }
Definition at line 517 of file linux-s390-low.c.
Referenced by s390_regs_info().
const unsigned char s390_breakpoint[] = { 0, 1 } [static] |
Definition at line 326 of file linux-s390-low.c.
Referenced by s390_breakpoint_at().
int s390_regmap[] [static] |
{ PT_PSWMASK, PT_PSWADDR, PT_GPR0, PT_GPR1, PT_GPR2, PT_GPR3, PT_GPR4, PT_GPR5, PT_GPR6, PT_GPR7, PT_GPR8, PT_GPR9, PT_GPR10, PT_GPR11, PT_GPR12, PT_GPR13, PT_GPR14, PT_GPR15, PT_ACR0, PT_ACR1, PT_ACR2, PT_ACR3, PT_ACR4, PT_ACR5, PT_ACR6, PT_ACR7, PT_ACR8, PT_ACR9, PT_ACR10, PT_ACR11, PT_ACR12, PT_ACR13, PT_ACR14, PT_ACR15, PT_FPC, PT_FPR0_HI, PT_FPR1_HI, PT_FPR2_HI, PT_FPR3_HI, PT_FPR4_HI, PT_FPR5_HI, PT_FPR6_HI, PT_FPR7_HI, PT_FPR8_HI, PT_FPR9_HI, PT_FPR10_HI, PT_FPR11_HI, PT_FPR12_HI, PT_FPR13_HI, PT_FPR14_HI, PT_FPR15_HI, PT_ORIGGPR2, }
Definition at line 89 of file linux-s390-low.c.
struct regset_info s390_regsets[] [static] |
{ { 0, 0, 0, 0, GENERAL_REGS, s390_fill_gregset, NULL }, { PTRACE_GETREGSET, PTRACE_GETREGSET, NT_S390_LAST_BREAK, 0, EXTENDED_REGS, s390_fill_last_break, s390_store_last_break }, { PTRACE_GETREGSET, PTRACE_SETREGSET, NT_S390_SYSTEM_CALL, 0, EXTENDED_REGS, s390_fill_system_call, s390_store_system_call }, { 0, 0, 0, -1, -1, NULL, NULL } }
Definition at line 315 of file linux-s390-low.c.
Referenced by s390_arch_setup().
struct regsets_info s390_regsets_info [static] |
{ s390_regsets, 0, NULL, }
Definition at line 510 of file linux-s390-low.c.
struct usrregs_info s390_usrregs_info [static] |
{ s390_num_regs, s390_regmap, }
Definition at line 504 of file linux-s390-low.c.
struct target_desc* tdesc_s390_linux32 |
struct target_desc* tdesc_s390_linux32v1 |
struct target_desc* tdesc_s390_linux32v2 |
struct target_desc* tdesc_s390_linux64 |
struct target_desc* tdesc_s390_linux64v1 |
struct target_desc* tdesc_s390_linux64v2 |
struct target_desc* tdesc_s390_te_linux64 |
struct target_desc* tdesc_s390x_linux64 |
struct target_desc* tdesc_s390x_linux64v1 |
struct target_desc* tdesc_s390x_linux64v2 |
struct target_desc* tdesc_s390x_te_linux64 |
struct linux_target_ops the_low_target |
{ s390_arch_setup, s390_regs_info, s390_cannot_fetch_register, s390_cannot_store_register, NULL, s390_get_pc, s390_set_pc, s390_breakpoint, s390_breakpoint_len, NULL, s390_breakpoint_len, s390_breakpoint_at, NULL, NULL, NULL, NULL, s390_collect_ptrace_register, s390_supply_ptrace_register, }
Definition at line 561 of file linux-s390-low.c.