* alpha-tdep.c (alpha_supply_int_regs, alpha_fill_int_regs,
[deliverable/binutils-gdb.git] / gdb / mips-tdep.h
index 768878c245bb29045bbc9799375cc57c53f62156..bbabdc15fc2988493403f0127be594dd1cee04f5 100644 (file)
@@ -1,6 +1,6 @@
 /* Target-dependent header for the MIPS architecture, for GDB, the GNU Debugger.
 
-   Copyright 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2007 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -16,8 +16,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #ifndef MIPS_TDEP_H
 #define MIPS_TDEP_H
@@ -40,9 +40,6 @@ enum mips_abi
 /* Return the MIPS ABI associated with GDBARCH.  */
 enum mips_abi mips_abi (struct gdbarch *gdbarch);
 
-/* For wince :-(.  */
-extern CORE_ADDR mips_next_pc (CORE_ADDR pc);
-
 /* Return the MIPS ISA's register size.  Just a short cut to the BFD
    architecture's word size.  */
 extern int mips_isa_regsize (struct gdbarch *gdbarch);
@@ -61,34 +58,55 @@ struct mips_regnum
 };
 extern const struct mips_regnum *mips_regnum (struct gdbarch *gdbarch);
 
+/* Register numbers of various important registers.  Note that some of
+   these values are "real" register numbers, and correspond to the
+   general registers of the machine, and some are "phony" register
+   numbers which are too large to be actual register numbers as far as
+   the user is concerned but do serve to get the desired values when
+   passed to read_register.  */
+
 enum
 {
-  MIPS_ZERO_REGNUM = 0,
+  MIPS_ZERO_REGNUM = 0,                /* Read-only register, always 0.  */
   MIPS_AT_REGNUM = 1,
-  MIPS_V0_REGNUM = 2,
-  MIPS_A0_REGNUM = 4,
-  MIPS_T9_REGNUM = 25,
+  MIPS_V0_REGNUM = 2,          /* Function integer return value.  */
+  MIPS_A0_REGNUM = 4,          /* Loc of first arg during a subr call */
+  MIPS_T9_REGNUM = 25,         /* Contains address of callee in PIC.  */
   MIPS_SP_REGNUM = 29,
   MIPS_RA_REGNUM = 31,
+  MIPS_PS_REGNUM = 32,         /* Contains processor status.  */
   MIPS_EMBED_LO_REGNUM = 33,
   MIPS_EMBED_HI_REGNUM = 34,
   MIPS_EMBED_BADVADDR_REGNUM = 35,
   MIPS_EMBED_CAUSE_REGNUM = 36,
   MIPS_EMBED_PC_REGNUM = 37,
-  MIPS_EMBED_FP0_REGNUM = 38
+  MIPS_EMBED_FP0_REGNUM = 38,
+  MIPS_UNUSED_REGNUM = 73,     /* Never used, FIXME */
+  MIPS_FIRST_EMBED_REGNUM = 74,        /* First CP0 register for embedded use.  */
+  MIPS_PRID_REGNUM = 89,       /* Processor ID.  */
+  MIPS_LAST_EMBED_REGNUM = 89  /* Last one.  */
 };
 
 /* Defined in mips-tdep.c and used in remote-mips.c */
 extern void deprecated_mips_set_processor_regs_hack (void);
 
-/* Instruction sizes.  */
-enum mips_insn_size
+/* Instruction sizes and other useful constants.  */
+enum
 {
-  MIPS16_INSN_SIZE = 2,
-  MIPS32_INSN_SIZE = 4
+  MIPS_INSN16_SIZE = 2,
+  MIPS_INSN32_SIZE = 4,
+  /* The number of floating-point or integer registers.  */
+  MIPS_NUMREGS = 32
 };
 
 /* Single step based on where the current instruction will take us.  */
-extern void mips_software_single_step (enum target_signal, int);
+extern int mips_software_single_step (struct regcache *regcache);
+
+/* Tell if the program counter value in MEMADDR is in a MIPS16
+   function.  */
+extern int mips_pc_is_mips16 (bfd_vma memaddr);
+
+/* Return the currently configured (or set) saved register size. */
+extern unsigned int mips_abi_regsize (struct gdbarch *gdbarch);
 
 #endif /* MIPS_TDEP_H */
This page took 0.026329 seconds and 4 git commands to generate.