X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=gdb%2Fppc-linux-tdep.h;h=e3bb1e9c9a5dd061ecfe957a2ab273e63c611b6f;hb=733d0a679536628eb1be4b4b8aa6384de24ff1f1;hp=b1acfde71bcf61772364dfe6cd4f2af52764b9f6;hpb=7b6bb8daaceb9ecf3f42dea57ae82733d6a3b2f6;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ppc-linux-tdep.h b/gdb/ppc-linux-tdep.h index b1acfde71b..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 ... */ +/* 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 */