X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fppc-linux-tdep.h;h=e3bb1e9c9a5dd061ecfe957a2ab273e63c611b6f;hb=39e7eccae602562368438c955b31f1d0e37feaa5;hp=52cefa3afc73d7105158300c15975b6170cb1579;hpb=0df8b4180acb4890d058c92753dafcd4ff0a87d1;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ppc-linux-tdep.h b/gdb/ppc-linux-tdep.h index 52cefa3afc..e3bb1e9c9a 100644 --- a/gdb/ppc-linux-tdep.h +++ b/gdb/ppc-linux-tdep.h @@ -1,6 +1,6 @@ /* Target-dependent code for GDB, the GNU debugger. - Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2008-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -20,12 +20,26 @@ #ifndef PPC_LINUX_TDEP_H #define PPC_LINUX_TDEP_H +#include "ppc-tdep.h" /* For PPC_NUM_REGS. */ + struct regset; /* From ppc-linux-tdep.c ... */ const struct regset *ppc_linux_gregset (int); const struct regset *ppc_linux_fpregset (void); +/* Get the vector regset that matches the target byte order. */ +const struct regset *ppc_linux_vrregset (struct gdbarch *gdbarch); +const struct regset *ppc_linux_vsxregset (void); + +/* Get the checkpointed GPR regset that matches the target wordsize + and byteorder of GDBARCH. */ +const struct regset *ppc_linux_cgprregset (struct gdbarch *gdbarch); + +/* Get the checkpointed vector regset that matches the target byte + order. */ +const struct regset* ppc_linux_cvmxregset (struct gdbarch *gdbarch); + /* Extra register number constants. The Linux kernel stores a "trap" code and the original value of r3 into special "registers"; these need to be saved and restored when performing an inferior @@ -38,21 +52,17 @@ enum { /* Return 1 if PPC_ORIG_R3_REGNUM and PPC_TRAP_REGNUM are usable. */ int ppc_linux_trap_reg_p (struct gdbarch *gdbarch); -/* Linux target descriptions. */ -extern struct target_desc *tdesc_powerpc_32l; -extern struct target_desc *tdesc_powerpc_altivec32l; -extern struct target_desc *tdesc_powerpc_cell32l; -extern struct target_desc *tdesc_powerpc_vsx32l; -extern struct target_desc *tdesc_powerpc_isa205_32l; -extern struct target_desc *tdesc_powerpc_isa205_altivec32l; -extern struct target_desc *tdesc_powerpc_isa205_vsx32l; -extern struct target_desc *tdesc_powerpc_e500l; -extern struct target_desc *tdesc_powerpc_64l; -extern struct target_desc *tdesc_powerpc_altivec64l; -extern struct target_desc *tdesc_powerpc_cell64l; -extern struct target_desc *tdesc_powerpc_vsx64l; -extern struct target_desc *tdesc_powerpc_isa205_64l; -extern struct target_desc *tdesc_powerpc_isa205_altivec64l; -extern struct target_desc *tdesc_powerpc_isa205_vsx64l; +/* Additional register sets, defined in ppc-linux-tdep.c. */ +extern const struct regset ppc32_linux_pprregset; +extern const struct regset ppc32_linux_dscrregset; +extern const struct regset ppc32_linux_tarregset; +extern const struct regset ppc32_linux_ebbregset; +extern const struct regset ppc32_linux_pmuregset; +extern const struct regset ppc32_linux_tm_sprregset; +extern const struct regset ppc32_linux_cfprregset; +extern const struct regset ppc32_linux_cvsxregset; +extern const struct regset ppc32_linux_cpprregset; +extern const struct regset ppc32_linux_cdscrregset; +extern const struct regset ppc32_linux_ctarregset; #endif /* PPC_LINUX_TDEP_H */