From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19200 invoked by alias); 10 Apr 2003 20:39:35 -0000 Mailing-List: contact rda-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: rda-owner@sources.redhat.com Received: (qmail 19165 invoked from network); 10 Apr 2003 20:39:34 -0000 Date: Thu, 10 Apr 2003 20:39:00 -0000 From: Kevin Buettner Message-Id: <1030410203928.ZM8838@localhost.localdomain> X-Mailer: Z-Mail (4.0.1 13Jan97 Caldera) To: rda@sources.redhat.com Subject: [PATCH] Add/fix support of MIPS "fir"/"fsr" registers MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2003-q2/txt/msg00000.txt.bz2 I've just committed that patch below. * 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. Index: linux-target.c =================================================================== RCS file: /cvs/src/src/rda/unix/linux-target.c,v retrieving revision 1.5 diff -u -p -r1.5 linux-target.c --- linux-target.c 7 Feb 2003 23:03:08 -0000 1.5 +++ linux-target.c 10 Apr 2003 20:06:32 -0000 @@ -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 { 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 { 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 (str enum { - NUM_REGS = 70, + NUM_REGS = 72, PC_REGNUM = 37, sign_extend = 1 }; @@ -642,7 +645,10 @@ static struct peekuser_pokeuser_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);