OSDN Git Service

Add support for the MIPS "fir" register. Fix support for the MIPS "fsr"
authorkevinb <kevinb>
Thu, 10 Apr 2003 20:35:54 +0000 (20:35 +0000)
committerkevinb <kevinb>
Thu, 10 Apr 2003 20:35:54 +0000 (20:35 +0000)
register.

rda/unix/ChangeLog
rda/unix/linux-target.c

index 60bead7..88c43d6 100644 (file)
@@ -1,3 +1,12 @@
+2003-04-10  Kevin Buettner  <kevinb@redhat.com>
+
+       * linux-target.c (NUM_REGS) [MIPS_LINUX_TARGET, MIPS64_LINUX_TARGET]:
+       Bump to 72.
+       (struct peekuser_pokeuser_reginfo) [MIPS_LINUX_TARGET]: Use
+       PROTO_SIZE for ``bad'' and ``cause''.
+       (struct peekuser_pokeuser_reginfo) [MIPS_LINUX_TARGET]
+       [MIPS64_LINUX_TARGET]: Add ``fir'' register.
+
 2003-02-07  Kevin Buettner  <kevinb@redhat.com>
 
        * gdbserv-thread-db.h (singlestep_lwp): Add ``struct gdbserv *''
index c3bf144..26572b3 100644 (file)
@@ -385,7 +385,7 @@ is_extended_reg (int regnum)
 
 enum
 {
-  NUM_REGS = 70,
+  NUM_REGS = 72,
   PC_REGNUM = 37,
   sign_extend = 1
 };
@@ -478,8 +478,8 @@ static struct peekuser_pokeuser_reginfo reginfo[] =
   { BADVADDR,      4, GREGS,  35 * 4, 4, PROTO_SIZE },      /* bad */
   { CAUSE,         4, GREGS,  36 * 4, 4, PROTO_SIZE },      /* cause */
 #else
-  { 0,             8, NOREGS, 0,      8, 8 },               /* bad */
-  { 0,             8, NOREGS, 0,      8, 8 },               /* cause */
+  { 0,             8, NOREGS, 0,      8, PROTO_SIZE },      /* bad */
+  { 0,             8, NOREGS, 0,      8, PROTO_SIZE },      /* cause */
 #endif
   { PC,            4, GREGS,  34 * 4, 4, PROTO_SIZE },      /* pc */
 
@@ -522,7 +522,10 @@ static struct peekuser_pokeuser_reginfo reginfo[] =
   { FPR_BASE + 29, 4, FPREGS, 29 * 4, 4, PROTO_SIZE },      /* $f29 */
   { FPR_BASE + 30, 4, FPREGS, 30 * 4, 4, PROTO_SIZE },      /* $f30 */
   { FPR_BASE + 31, 4, FPREGS, 31 * 4, 4, PROTO_SIZE },      /* $f31 */
-  { FPC_CSR,       4, FPREGS, 64 * 4, 4, PROTO_SIZE }       /* fsr */
+  { FPC_CSR,       4, FPREGS, 64 * 4, 4, PROTO_SIZE },      /* fsr */
+  /* The "fir" value actually ends up occupying fp_pad in the fpregset
+     struct.  */
+  { FPC_EIR,       4, FPREGS, 65 * 4, 4, PROTO_SIZE }       /* fir */
 };
 
 static void mips_singlestep_program (struct gdbserv *serv);
@@ -535,7 +538,7 @@ static void mips_singlestep_program (struct gdbserv *serv);
 
 enum
 {
-  NUM_REGS = 70,
+  NUM_REGS = 72,
   PC_REGNUM = 37,
   sign_extend = 1
 };
@@ -642,7 +645,10 @@ static struct peekuser_pokeuser_reginfo reginfo[] =
   { 32       + 29, 8, FPREGS, 29 * 8, 8, 8 },      /* $f29 */
   { 32       + 30, 8, FPREGS, 30 * 8, 8, 8 },      /* $f30 */
   { 32       + 31, 8, FPREGS, 31 * 8, 8, 8 },      /* $f31 */
-  { 69,            4, FPREGS, 32 * 8, 4, 8 }       /* fsr */
+  { 69,            8, FPREGS, 32 * 8, 4, 8 },      /* fsr */
+  /* The "fir" value actually ends up occupying fp_pad in the fpregset
+     struct.  */
+  { 70,            8, FPREGS, 33 * 8 + 4, 4, 8}    /* fir */
 };
 
 static void mips_singlestep_program (struct gdbserv *serv);