GDB (xrefs)

Classes | Macros | Typedefs | Functions | Variables
/tmp/gdb-8.1/gdb/s390-linux-nat.c File Reference
`#include "defs.h"`
`#include "regcache.h"`
`#include "inferior.h"`
`#include "target.h"`
`#include "linux-nat.h"`
`#include "auxv.h"`
`#include "gregset.h"`
`#include "regset.h"`
`#include "nat/linux-ptrace.h"`
`#include "gdbcmd.h"`
`#include "s390-linux-tdep.h"`
`#include "elf/common.h"`
`#include <asm/ptrace.h>`
`#include "nat/gdb_ptrace.h"`
`#include <asm/types.h>`
`#include <sys/procfs.h>`
`#include <sys/ucontext.h>`
`#include <elf.h>`
`#include <algorithm>`
`#include "inf-ptrace.h"`

Go to the source code of this file.

## Classes
struct | arch_lwp_info
struct | watch_area
struct | s390_debug_reg_state
struct | s390_process_info

## Macros
#define | PER_BIT(n) (1UL << (63 - (n)))
#define | PER_EVENT_BRANCH PER_BIT (32)
#define | PER_EVENT_IFETCH PER_BIT (33)
#define | PER_EVENT_STORE PER_BIT (34)
#define | PER_EVENT_NULLIFICATION PER_BIT (39)
#define | PER_CONTROL_BRANCH_ADDRESS PER_BIT (40)
#define | PER_CONTROL_SUSPENSION PER_BIT (41)
#define | PER_CONTROL_ALTERATION PER_BIT (42)

## Typedefs
typedef struct watch_area | s390_watch_area

## Functions
void | supply_gregset (struct regcache *regcache, const gregset_t *regp)
void | fill_gregset (const struct regcache *regcache, gregset_t *regp, int regno)
void | supply_fpregset (struct regcache *regcache, const fpregset_t *regp)
void | fill_fpregset (const struct regcache *regcache, fpregset_t *regp, int regno)
static int | s390_inferior_tid (void)
static void | fetch_regs (struct regcache *regcache, int tid)
static void | store_regs (const struct regcache *regcache, int tid, int regnum)
static void | fetch_fpregs (struct regcache *regcache, int tid)
static void | store_fpregs (const struct regcache *regcache, int tid, int regnum)
static void | fetch_regset (struct regcache *regcache, int tid, int regset_id, int regsize, const struct regset *regset)
static void | store_regset (struct regcache *regcache, int tid, int regset_id, int regsize, const struct regset *regset)
static int | check_regset (int tid, int regset, int regsize)
static void | s390_linux_fetch_inferior_registers (struct target_ops *ops, struct regcache *regcache, int regnum)
static void | s390_linux_store_inferior_registers (struct target_ops *ops, struct regcache *regcache, int regnum)
| DEF_VEC_O (s390_watch_area)
static struct s390_process_info * | s390_find_process_pid (pid_t pid)
static struct s390_process_info * | s390_add_process (pid_t pid)
static struct s390_process_info * | s390_process_info_get (pid_t pid)
static struct s390_debug_reg_state * | s390_get_debug_reg_state (pid_t pid)
static void | s390_forget_process (pid_t pid)
static void | s390_linux_new_fork (struct lwp_info *parent, pid_t child_pid)
static void | s390_show_debug_regs (int tid, const char *where)
static int | s390_stopped_by_watchpoint (struct target_ops *ops)
static void | s390_prepare_to_resume (struct lwp_info *lp)
static void | s390_mark_per_info_changed (struct lwp_info *lp)
static void | s390_new_thread (struct lwp_info *lp)
static void | s390_delete_thread (struct arch_lwp_info *arch_lwp)
static int | s390_refresh_per_info_cb (struct lwp_info *lp, void *arg)
static int | s390_refresh_per_info (void)
static int | s390_insert_watchpoint (struct target_ops *self, CORE_ADDR addr, int len, enum target_hw_bp_type type, struct expression *cond)
static int | s390_remove_watchpoint (struct target_ops *self, CORE_ADDR addr, int len, enum target_hw_bp_type type, struct expression *cond)
static int | s390_can_use_hw_breakpoint (struct target_ops *self, enum bptype type, int cnt, int othertype)
static int | s390_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
static int | s390_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
static int | s390_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR addr, int cnt)
static int | s390_target_wordsize (void)
static int | s390_auxv_parse (struct target_ops *ops, gdb_byte **readptr, gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
static const struct target_desc * | s390_read_description (struct target_ops *ops)
void | _initialize_s390_nat (void)

## Variables
static int | have_regset_last_break = 0
static int | have_regset_system_call = 0
static int | have_regset_tdb = 0
static int | have_regset_vxrs = 0
static int | have_regset_gs = 0
static struct s390_process_info * | s390_process_list = NULL

## Macro Definition Documentation

## ◆ PER_BIT

#define PER_BIT | ( |  | n | ) | (1UL << (63 - (n)))

Definition at line 101 of file s390-linux-nat.c.

## ◆ PER_CONTROL_ALTERATION

#define PER_CONTROL_ALTERATION PER_BIT (42)

Definition at line 108 of file s390-linux-nat.c.

Referenced by s390_prepare_to_resume().

## ◆ PER_CONTROL_BRANCH_ADDRESS

#define PER_CONTROL_BRANCH_ADDRESS PER_BIT (40)

Definition at line 106 of file s390-linux-nat.c.

Referenced by s390_prepare_to_resume().

## ◆ PER_CONTROL_SUSPENSION

#define PER_CONTROL_SUSPENSION PER_BIT (41)

Definition at line 107 of file s390-linux-nat.c.

## ◆ PER_EVENT_BRANCH

#define PER_EVENT_BRANCH PER_BIT (32)

Definition at line 102 of file s390-linux-nat.c.

Referenced by s390_prepare_to_resume().

## ◆ PER_EVENT_IFETCH

#define PER_EVENT_IFETCH PER_BIT (33)

Definition at line 103 of file s390-linux-nat.c.

Referenced by s390_prepare_to_resume().

## ◆ PER_EVENT_NULLIFICATION

#define PER_EVENT_NULLIFICATION PER_BIT (39)

Definition at line 105 of file s390-linux-nat.c.

Referenced by s390_prepare_to_resume().

## ◆ PER_EVENT_STORE

#define PER_EVENT_STORE PER_BIT (34)

Definition at line 104 of file s390-linux-nat.c.

Referenced by s390_prepare_to_resume().

## Typedef Documentation

## ◆ s390_watch_area

typedef struct watch_area s390_watch_area

## Function Documentation

## ◆ _initialize_s390_nat()

void _initialize_s390_nat | ( | void |  | ) |

Definition at line 1033 of file s390-linux-nat.c.

References _, add_setshow_boolean_cmd(), class_maintenance, linux_nat_add_target(), linux_nat_set_delete_thread(), linux_nat_set_forget_process(), linux_nat_set_new_fork(), linux_nat_set_new_thread(), linux_nat_set_prepare_to_resume(), linux_target(), maintenance_set_cmdlist, maintenance_show_cmdlist, s390_auxv_parse(), s390_can_use_hw_breakpoint(), s390_delete_thread(), s390_forget_process(), s390_insert_hw_breakpoint(), s390_insert_watchpoint(), s390_linux_fetch_inferior_registers(), s390_linux_new_fork(), s390_linux_store_inferior_registers(), s390_new_thread(), s390_prepare_to_resume(), s390_read_description(), s390_region_ok_for_hw_watchpoint(), s390_remove_hw_breakpoint(), s390_remove_watchpoint(), s390_stopped_by_watchpoint(), show_debug_regs, target_ops::to_auxv_parse, target_ops::to_can_use_hw_breakpoint, target_ops::to_fetch_registers, target_ops::to_have_continuable_watchpoint, target_ops::to_insert_hw_breakpoint, target_ops::to_insert_watchpoint, target_ops::to_read_description, target_ops::to_region_ok_for_hw_watchpoint, target_ops::to_remove_hw_breakpoint, target_ops::to_remove_watchpoint, target_ops::to_stopped_by_watchpoint, and target_ops::to_store_registers.

## ◆ check_regset()

static int check_regset | ( | int | tid,
|  | int | regset,
|  | int | regsize
| ) |  |
| static

Definition at line 355 of file s390-linux-nat.c.

References ptrace(), PTRACE_GETREGSET, and selftests::ptid::tid.

Referenced by s390_read_description().

## ◆ DEF_VEC_O()

DEF_VEC_O | ( | s390_watch_area |  | ) |

## ◆ fetch_fpregs()

static void fetch_fpregs | ( | struct regcache * | regcache,
|  | int | tid
| ) |  |
| static

Definition at line 271 of file s390-linux-nat.c.

References _, perror_with_name(), ptrace(), supply_fpregset(), and selftests::ptid::tid.

Referenced by s390_linux_fetch_inferior_registers().

## ◆ fetch_regs()

static void fetch_regs | ( | struct regcache * | regcache,
|  | int | tid
| ) |  |
| static

Definition at line 234 of file s390-linux-nat.c.

References _, perror_with_name(), ptrace(), supply_gregset(), and selftests::ptid::tid.

Referenced by s390_linux_fetch_inferior_registers().

## ◆ fetch_regset()

static void fetch_regset | ( | struct regcache * | regcache,
|  | int | tid,
|  | int | regset_id,
|  | int | regsize,
|  | const struct regset * | regset
| ) |  |
| static

Definition at line 310 of file s390-linux-nat.c.

References _, perror_with_name(), ptrace(), PTRACE_GETREGSET, regcache_supply_regset(), and selftests::ptid::tid.

Referenced by s390_linux_fetch_inferior_registers().

## ◆ fill_fpregset()

void fill_fpregset | ( | const struct regcache * | regcache,
|  | fpregset_t * | regp,
|  | int | regno
| ) |  |

Definition at line 213 of file s390-linux-nat.c.

References regcache_collect_regset(), and s390_fpregset.

Referenced by store_fpregs().

## ◆ fill_gregset()

void fill_gregset | ( | const struct regcache * | regcache,
|  | gregset_t * | regp,
|  | int | regno
| ) |  |

Definition at line 153 of file s390-linux-nat.c.

References regcache::arch(), gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_ptr_bit(), regcache_collect_regset(), regcache_raw_collect(), s390_gregset, S390_PSWA_REGNUM, S390_PSWM_REGNUM, and store_unsigned_integer().

Referenced by store_regs().

## ◆ s390_add_process()

static struct s390_process_info* s390_add_process | ( | pid_t | pid | ) |
| static

Definition at line 512 of file s390-linux-nat.c.

References proc::next, pid, s390_process_list, and XCNEW.

Referenced by s390_process_info_get().

## ◆ s390_auxv_parse()

static int s390_auxv_parse | ( | struct target_ops * | ops,
|  | gdb_byte ** | readptr,
|  | gdb_byte * | endptr,
|  | CORE_ADDR * | typep,
|  | CORE_ADDR * | valp
| ) |  |
| static

Definition at line 949 of file s390-linux-nat.c.

References extract_unsigned_integer(), gdbarch_byte_order(), s390_target_wordsize(), and target_gdbarch().

Referenced by _initialize_s390_nat().

## ◆ s390_can_use_hw_breakpoint()

static int s390_can_use_hw_breakpoint | ( | struct target_ops * | self,
|  | enum bptype | type,
|  | int | cnt,
|  | int | othertype
| ) |  |
| static

Definition at line 868 of file s390-linux-nat.c.

References bp_hardware_breakpoint, and bp_hardware_watchpoint.

Referenced by _initialize_s390_nat().

## ◆ s390_delete_thread()

static void s390_delete_thread | ( | struct arch_lwp_info * | arch_lwp | ) |
| static

Definition at line 795 of file s390-linux-nat.c.

References xfree().

Referenced by _initialize_s390_nat().

## ◆ s390_find_process_pid()

static struct s390_process_info* s390_find_process_pid | ( | pid_t | pid | ) |
| static

Definition at line 497 of file s390-linux-nat.c.

References proc::next, pid, and s390_process_list.

Referenced by s390_process_info_get().

## ◆ s390_forget_process()

static void s390_forget_process | ( | pid_t | pid | ) |
| static

Definition at line 550 of file s390-linux-nat.c.

References proc::next, pid, s390_process_list, proc::state, VEC_free, and xfree().

Referenced by _initialize_s390_nat().

## ◆ s390_get_debug_reg_state()

static struct s390_debug_reg_state* s390_get_debug_reg_state | ( | pid_t | pid | ) |
| static

Definition at line 541 of file s390-linux-nat.c.

References pid, s390_process_info_get(), and s390_process_info::state.

Referenced by s390_insert_hw_breakpoint(), s390_insert_watchpoint(), s390_linux_new_fork(), s390_prepare_to_resume(), s390_remove_hw_breakpoint(), s390_remove_watchpoint(), and s390_stopped_by_watchpoint().

## ◆ s390_inferior_tid()

static int s390_inferior_tid | ( | void |  | ) |
| static

Definition at line 221 of file s390-linux-nat.c.

References inferior_ptid, ptid_get_lwp(), ptid_get_pid(), and selftests::ptid::tid.

Referenced by s390_read_description(), s390_stopped_by_watchpoint(), and s390_target_wordsize().

## ◆ s390_insert_hw_breakpoint()

static int s390_insert_hw_breakpoint | ( | struct target_ops * | self,
|  | struct gdbarch * | gdbarch,
|  | struct bp_target_info * | bp_tgt
| ) |  |
| static

Definition at line 879 of file s390-linux-nat.c.

References s390_debug_reg_state::break_areas, watch_area::hi_addr, inferior_ptid, watch_area::lo_addr, bp_target_info::placed_address, ptid_get_pid(), bp_target_info::reqstd_address, s390_get_debug_reg_state(), s390_refresh_per_info(), and VEC_safe_push.

Referenced by _initialize_s390_nat().

## ◆ s390_insert_watchpoint()

static int s390_insert_watchpoint | ( | struct target_ops * | self,
|  | CORE_ADDR | addr,
|  | int | len,
|  | enum target_hw_bp_type | type,
|  | struct expression * | cond
| ) |  |
| static

Definition at line 824 of file s390-linux-nat.c.

References watch_area::hi_addr, inferior_ptid, watch_area::lo_addr, ptid_get_pid(), s390_get_debug_reg_state(), s390_refresh_per_info(), VEC_safe_push, and s390_debug_reg_state::watch_areas.

Referenced by _initialize_s390_nat().

## ◆ s390_linux_fetch_inferior_registers()

static void s390_linux_fetch_inferior_registers | ( | struct target_ops * | ops,
|  | struct regcache * | regcache,
|  | int | regnum
| ) |  |
| static

Definition at line 372 of file s390-linux-nat.c.

References regcache::arch(), fetch_fpregs(), fetch_regs(), fetch_regset(), gdbarch_ptr_bit(), get_ptrace_pid(), have_regset_gs, have_regset_last_break, have_regset_system_call, have_regset_tdb, have_regset_vxrs, regcache_get_ptid(), regnum, S390_BC_GSD_REGNUM, S390_BC_GSEPLA_REGNUM, s390_gs_regset, s390_gsbc_regset, S390_GSD_REGNUM, S390_GSEPLA_REGNUM, S390_IS_FPREGSET_REGNUM, S390_IS_GREGSET_REGNUM, S390_IS_TDBREGSET_REGNUM, S390_LAST_BREAK_REGNUM, s390_last_break_regset, s390_sizeof_tdbregset, S390_SYSTEM_CALL_REGNUM, s390_system_call_regset, s390_tdb_regset, S390_V0_LOWER_REGNUM, S390_V15_LOWER_REGNUM, S390_V16_REGNUM, S390_V31_REGNUM, s390_vxrs_high_regset, s390_vxrs_low_regset, s390x_last_break_regset, and selftests::ptid::tid.

Referenced by _initialize_s390_nat().

## ◆ s390_linux_new_fork()

static void s390_linux_new_fork | ( | struct lwp_info * | parent,
|  | pid_t | child_pid
| ) |  |
| static

Definition at line 576 of file s390-linux-nat.c.

References s390_debug_reg_state::break_areas, lwp_arch_private_info(), lwp_info::ptid, ptid_get_pid(), s390_get_debug_reg_state(), VEC_copy, and s390_debug_reg_state::watch_areas.

Referenced by _initialize_s390_nat().

## ◆ s390_linux_store_inferior_registers()

static void s390_linux_store_inferior_registers | ( | struct target_ops * | ops,
|  | struct regcache * | regcache,
|  | int | regnum
| ) |  |
| static

Definition at line 427 of file s390-linux-nat.c.

References get_ptrace_pid(), have_regset_system_call, have_regset_vxrs, regcache_get_ptid(), regnum, S390_IS_FPREGSET_REGNUM, S390_IS_GREGSET_REGNUM, S390_SYSTEM_CALL_REGNUM, s390_system_call_regset, S390_V0_LOWER_REGNUM, S390_V15_LOWER_REGNUM, S390_V16_REGNUM, S390_V31_REGNUM, s390_vxrs_high_regset, s390_vxrs_low_regset, store_fpregs(), store_regs(), store_regset(), and selftests::ptid::tid.

Referenced by _initialize_s390_nat().

## ◆ s390_mark_per_info_changed()

static void s390_mark_per_info_changed | ( | struct lwp_info * | lp | ) |
| static

Definition at line 776 of file s390-linux-nat.c.

References lwp_arch_private_info(), lwp_set_arch_private_info(), arch_lwp_info::per_info_changed, and XCNEW.

Referenced by s390_new_thread(), and s390_refresh_per_info_cb().

## ◆ s390_new_thread()

static void s390_new_thread | ( | struct lwp_info * | lp | ) |
| static

Definition at line 787 of file s390-linux-nat.c.

References s390_mark_per_info_changed().

Referenced by _initialize_s390_nat().

## ◆ s390_prepare_to_resume()

static void s390_prepare_to_resume | ( | struct lwp_info * | lp | ) |
| static

Definition at line 670 of file s390-linux-nat.c.

References _, s390_debug_reg_state::break_areas, watch_area::hi_addr, watch_area::lo_addr, lwp_arch_private_info(), lwp_is_stepping(), memset(), PER_CONTROL_ALTERATION, PER_CONTROL_BRANCH_ADDRESS, PER_EVENT_BRANCH, PER_EVENT_IFETCH, PER_EVENT_NULLIFICATION, PER_EVENT_STORE, arch_lwp_info::per_info_changed, perror_with_name(), pid, ptid_get_lwp(), ptid_get_pid(), ptid_of_lwp(), ptrace(), s390_get_debug_reg_state(), s390_show_debug_regs(), show_debug_regs, selftests::ptid::tid, VEC_empty, VEC_iterate, and s390_debug_reg_state::watch_areas.

Referenced by _initialize_s390_nat().

## ◆ s390_process_info_get()

static struct s390_process_info* s390_process_info_get | ( | pid_t | pid | ) |
| static

Definition at line 527 of file s390-linux-nat.c.

References pid, s390_add_process(), and s390_find_process_pid().

Referenced by s390_get_debug_reg_state().

## ◆ s390_read_description()

static const struct target_desc* s390_read_description | ( | struct target_ops * | ops | ) |
| static

Definition at line 972 of file s390-linux-nat.c.

References check_regset(), current_target, have_regset_gs, have_regset_last_break, have_regset_system_call, have_regset_tdb, have_regset_vxrs, HWCAP_S390_GS, HWCAP_S390_HIGH_GPRS, HWCAP_S390_TE, HWCAP_S390_VX, s390_inferior_tid(), s390_sizeof_tdbregset, s390_target_wordsize(), target_auxv_search(), tdesc_s390_gs_linux64, tdesc_s390_linux32, tdesc_s390_linux32v1, tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1, tdesc_s390_linux64v2, tdesc_s390_te_linux64, tdesc_s390_tevx_linux64, tdesc_s390_vx_linux64, tdesc_s390x_gs_linux64, tdesc_s390x_linux64, tdesc_s390x_linux64v1, tdesc_s390x_linux64v2, tdesc_s390x_te_linux64, tdesc_s390x_tevx_linux64, tdesc_s390x_vx_linux64, and selftests::ptid::tid.

Referenced by _initialize_s390_nat().

## ◆ s390_refresh_per_info()

static int s390_refresh_per_info | ( | void |  | ) |
| static

Definition at line 815 of file s390-linux-nat.c.

References current_lwp_ptid(), iterate_over_lwps(), pid_to_ptid(), ptid_get_pid(), and s390_refresh_per_info_cb().

Referenced by s390_insert_hw_breakpoint(), s390_insert_watchpoint(), s390_remove_hw_breakpoint(), and s390_remove_watchpoint().

## ◆ s390_refresh_per_info_cb()

static int s390_refresh_per_info_cb | ( | struct lwp_info * | lp,
|  | void * | arg
| ) |  |
| static

Definition at line 803 of file s390-linux-nat.c.

References linux_stop_lwp(), lwp_is_stopped(), and s390_mark_per_info_changed().

Referenced by s390_refresh_per_info().

## ◆ s390_region_ok_for_hw_watchpoint()

static int s390_region_ok_for_hw_watchpoint | ( | struct target_ops * | self,
|  | CORE_ADDR | addr,
|  | int | cnt
| ) |  |
| static

Definition at line 923 of file s390-linux-nat.c.

Referenced by _initialize_s390_nat().

## ◆ s390_remove_hw_breakpoint()

static int s390_remove_hw_breakpoint | ( | struct target_ops * | self,
|  | struct gdbarch * | gdbarch,
|  | struct bp_target_info * | bp_tgt
| ) |  |
| static

Definition at line 897 of file s390-linux-nat.c.

References s390_debug_reg_state::break_areas, fprintf_unfiltered(), gdb_stderr, inferior_ptid, watch_area::lo_addr, bp_target_info::placed_address, ptid_get_pid(), s390_get_debug_reg_state(), s390_refresh_per_info(), VEC_iterate, and VEC_unordered_remove.

Referenced by _initialize_s390_nat().

## ◆ s390_remove_watchpoint()

static int s390_remove_watchpoint | ( | struct target_ops * | self,
|  | CORE_ADDR | addr,
|  | int | len,
|  | enum target_hw_bp_type | type,
|  | struct expression * | cond
| ) |  |
| static

Definition at line 840 of file s390-linux-nat.c.

References fprintf_unfiltered(), gdb_stderr, watch_area::hi_addr, inferior_ptid, watch_area::lo_addr, ptid_get_pid(), s390_get_debug_reg_state(), s390_refresh_per_info(), VEC_iterate, VEC_unordered_remove, and s390_debug_reg_state::watch_areas.

Referenced by _initialize_s390_nat().

## ◆ s390_show_debug_regs()

static void s390_show_debug_regs | ( | int | tid,
|  | const char * | where
| ) |  |
| static

Definition at line 603 of file s390-linux-nat.c.

References _, debug_printf(), perror_with_name(), ptrace(), and selftests::ptid::tid.

Referenced by s390_prepare_to_resume(), and s390_stopped_by_watchpoint().

## ◆ s390_stopped_by_watchpoint()

static int s390_stopped_by_watchpoint | ( | struct target_ops * | ops | ) |
| static

Definition at line 632 of file s390-linux-nat.c.

References _, inferior_ptid, memset(), perror_with_name(), ptid_get_pid(), ptrace(), s390_get_debug_reg_state(), s390_inferior_tid(), s390_show_debug_regs(), show_debug_regs, VEC_empty, and s390_debug_reg_state::watch_areas.

Referenced by _initialize_s390_nat().

## ◆ s390_target_wordsize()

static int s390_target_wordsize | ( | void |  | ) |
| static

Definition at line 930 of file s390-linux-nat.c.

References gdb.printer.bound_registers::long, ptrace(), s390_inferior_tid(), and wordsize.

Referenced by s390_auxv_parse(), and s390_read_description().

## ◆ store_fpregs()

static void store_fpregs | ( | const struct regcache * | regcache,
|  | int | tid,
|  | int | regnum
| ) |  |
| static

Definition at line 288 of file s390-linux-nat.c.

References _, fill_fpregset(), perror_with_name(), ptrace(), regnum, and selftests::ptid::tid.

Referenced by s390_linux_store_inferior_registers().

## ◆ store_regs()

static void store_regs | ( | const struct regcache * | regcache,
|  | int | tid,
|  | int | regnum
| ) |  |
| static

Definition at line 251 of file s390-linux-nat.c.

References _, fill_gregset(), perror_with_name(), ptrace(), regnum, and selftests::ptid::tid.

Referenced by s390_linux_store_inferior_registers().

## ◆ store_regset()

static void store_regset | ( | struct regcache * | regcache,
|  | int | tid,
|  | int | regset_id,
|  | int | regsize,
|  | const struct regset * | regset
| ) |  |
| static

Definition at line 334 of file s390-linux-nat.c.

References _, perror_with_name(), ptrace(), PTRACE_GETREGSET, PTRACE_SETREGSET, regcache_collect_regset(), and selftests::ptid::tid.

Referenced by s390_linux_store_inferior_registers().

## ◆ supply_fpregset()

void supply_fpregset | ( | struct regcache * | regcache,
|  | const fpregset_t * | regp
| ) |  |

Definition at line 203 of file s390-linux-nat.c.

References regcache_supply_regset(), and s390_fpregset.

Referenced by fetch_fpregs().

## ◆ supply_gregset()

void supply_gregset | ( | struct regcache * | regcache,
|  | const gregset_t * | regp
| ) |  |

Definition at line 119 of file s390-linux-nat.c.

References regcache::arch(), gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_ptr_bit(), regcache_raw_supply(), regcache_supply_regset(), s390_gregset, S390_PSWA_REGNUM, S390_PSWM_REGNUM, and store_unsigned_integer().

Referenced by fetch_regs().

## Variable Documentation

## ◆ have_regset_gs

int have_regset_gs = 0
| static

Definition at line 57 of file s390-linux-nat.c.

Referenced by s390_linux_fetch_inferior_registers(), and s390_read_description().

## ◆ have_regset_last_break

int have_regset_last_break = 0
| static

Definition at line 53 of file s390-linux-nat.c.

Referenced by s390_linux_fetch_inferior_registers(), and s390_read_description().

## ◆ have_regset_system_call

int have_regset_system_call = 0
| static

Definition at line 54 of file s390-linux-nat.c.

Referenced by s390_linux_fetch_inferior_registers(), s390_linux_store_inferior_registers(), and s390_read_description().

## ◆ have_regset_tdb

int have_regset_tdb = 0
| static

Definition at line 55 of file s390-linux-nat.c.

Referenced by s390_linux_fetch_inferior_registers(), and s390_read_description().

## ◆ have_regset_vxrs

int have_regset_vxrs = 0
| static

Definition at line 56 of file s390-linux-nat.c.

Referenced by s390_linux_fetch_inferior_registers(), s390_linux_store_inferior_registers(), and s390_read_description().

## ◆ s390_process_list

struct s390_process_info* s390_process_list = NULL
| static

Definition at line 492 of file s390-linux-nat.c.

Referenced by s390_add_process(), s390_find_process_pid(), and s390_forget_process().