*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / mips-tdep.h
index 404ec7d76c77f681343ff1991615f470e58c5508..3917951f8431b62e0ef2a84cffb4d4c2fcc24d57 100644 (file)
@@ -1,12 +1,12 @@
 /* Target-dependent header for the MIPS architecture, for GDB, the GNU Debugger.
 
 /* Target-dependent header for the MIPS architecture, for GDB, the GNU Debugger.
 
-   Copyright 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2007, 2008 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -15,9 +15,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    GNU General Public License for more details.
 
    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.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef MIPS_TDEP_H
 #define MIPS_TDEP_H
 
 #ifndef MIPS_TDEP_H
 #define MIPS_TDEP_H
@@ -40,9 +38,6 @@ enum mips_abi
 /* Return the MIPS ABI associated with GDBARCH.  */
 enum mips_abi mips_abi (struct gdbarch *gdbarch);
 
 /* 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);
 /* 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,21 +56,28 @@ struct mips_regnum
 };
 extern const struct mips_regnum *mips_regnum (struct gdbarch *gdbarch);
 
 };
 extern const struct mips_regnum *mips_regnum (struct gdbarch *gdbarch);
 
+/* Register numbers of various important registers.  */
+
 enum
 {
 enum
 {
-  MIPS_ZERO_REGNUM = 0,
+  MIPS_ZERO_REGNUM = 0,                /* Read-only register, always 0.  */
   MIPS_AT_REGNUM = 1,
   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_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_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 */
 };
 
 /* Defined in mips-tdep.c and used in remote-mips.c */
@@ -91,7 +93,7 @@ enum
 };
 
 /* Single step based on where the current instruction will take us.  */
 };
 
 /* 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 frame_info *frame);
 
 /* Tell if the program counter value in MEMADDR is in a MIPS16
    function.  */
 
 /* Tell if the program counter value in MEMADDR is in a MIPS16
    function.  */
@@ -100,4 +102,9 @@ 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);
 
 /* Return the currently configured (or set) saved register size. */
 extern unsigned int mips_abi_regsize (struct gdbarch *gdbarch);
 
+/* Target descriptions which only indicate the size of general
+   registers.  */
+extern struct target_desc *mips_tdesc_gp32;
+extern struct target_desc *mips_tdesc_gp64;
+
 #endif /* MIPS_TDEP_H */
 #endif /* MIPS_TDEP_H */
This page took 0.024433 seconds and 4 git commands to generate.