From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1256 invoked by alias); 8 Jan 2002 23:15:32 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 888 invoked by uid 22784); 8 Jan 2002 23:15:26 -0000 From: Michael Snyder Newsgroups: cygnus.patches.gdb Subject: Re: [RFA] arm linux nat and regcache Date: Tue, 08 Jan 2002 15:15:00 -0000 Organization: Red Hat, Inc. Message-ID: <3C3B6E25.8A7EC0F2@redhat.com> References: <7E9632ACB647DC4BA6F9A3A7897DDF1F1C2F61@zimmail1.ZIM.Zimismobile.com> NNTP-Posting-Host: reddwarf.cygnus.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: cronkite.cygnus.com 1010528082 16181 205.180.231.12 (8 Jan 2002 22:14:42 GMT) X-Complaints-To: postmaster@cygnus.com NNTP-Posting-Date: 8 Jan 2002 22:14:42 GMT X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.2-2smp i686) X-Accept-Language: en To: gdb-patches@sources.redhat.com DJ-Gateway: from newsgroup cygnus.patches.gdb X-SW-Source: 2002-01/txt/msg00151.txt.bz2 Scott Bambrough wrote: > > This is ok to commit. Committed. > > -----Original Message----- > From: Michael Snyder [mailto:msnyder@cygnus.com] > Sent: January 7, 2002 21:28 > To: gdb-patches@sources.redhat.com > Cc: drow@mvista.com; kevinb@redhat.com > Subject: [RFA] arm linux nat and regcache > > 2002-01-07 Michael Snyder > > * arm-linux-nat.c: Remove references to regcache.c internal data > (registers[] and register_valid[]). > > Index: arm-linux-nat.c > =================================================================== > RCS file: /cvs/src/src/gdb/arm-linux-nat.c,v > retrieving revision 1.14 > diff -p -r1.14 arm-linux-nat.c > *** arm-linux-nat.c 2001/11/17 20:31:18 1.14 > --- arm-linux-nat.c 2002/01/08 02:26:03 > *************** store_nwfpe_extended (unsigned int fn, F > *** 194,200 **** > void > store_nwfpe_register (int regno, FPA11 * fpa11) > { > ! if (register_valid[regno]) > { > unsigned int fn = regno - F0_REGNUM; > switch (fpa11->fType[fn]) > --- 194,200 ---- > void > store_nwfpe_register (int regno, FPA11 * fpa11) > { > ! if (register_cached (regno)) > { > unsigned int fn = regno - F0_REGNUM; > switch (fpa11->fType[fn]) > *************** store_nwfpe_register (int regno, FPA11 * > *** 216,222 **** > > > /* Get the value of a particular register from the floating point > ! state of the process and store it into registers[]. */ > > static void > fetch_fpregister (int regno) > --- 216,222 ---- > > > /* Get the value of a particular register from the floating point > ! state of the process and store it into regcache. */ > > static void > fetch_fpregister (int regno) > *************** fetch_fpregister (int regno) > *** 265,271 **** > } > > /* Get the whole floating point state of the process and store it > ! into registers[]. */ > > static void > fetch_fpregs (void) > --- 265,271 ---- > } > > /* Get the whole floating point state of the process and store it > ! into regcache. */ > > static void > fetch_fpregs (void) > *************** fetch_fpregs (void) > *** 313,319 **** > } > > /* Save a particular register into the floating point state of the > ! process using the contents from registers[]. */ > > static void > store_fpregister (int regno) > --- 313,319 ---- > } > > /* Save a particular register into the floating point state of the > ! process using the contents from regcache. */ > > static void > store_fpregister (int regno) > *************** store_fpregister (int regno) > *** 333,339 **** > } > > /* Store fpsr. */ > ! if (FPS_REGNUM == regno && register_valid[FPS_REGNUM]) > read_register_gen (FPS_REGNUM, (char *) &fp.fpsr); > > /* Store the floating point register. */ > --- 333,339 ---- > } > > /* Store fpsr. */ > ! if (FPS_REGNUM == regno && register_cached (FPS_REGNUM)) > read_register_gen (FPS_REGNUM, (char *) &fp.fpsr); > > /* Store the floating point register. */ > *************** store_fpregister (int regno) > *** 351,357 **** > } > > /* Save the whole floating point state of the process using > ! the contents from registers[]. */ > > static void > store_fpregs (void) > --- 351,357 ---- > } > > /* Save the whole floating point state of the process using > ! the contents from regcache. */ > > static void > store_fpregs (void) > *************** store_fpregs (void) > *** 371,377 **** > } > > /* Store fpsr. */ > ! if (register_valid[FPS_REGNUM]) > read_register_gen (FPS_REGNUM, (char *) &fp.fpsr); > > /* Store the floating point registers. */ > --- 371,377 ---- > } > > /* Store fpsr. */ > ! if (register_cached (FPS_REGNUM)) > read_register_gen (FPS_REGNUM, (char *) &fp.fpsr); > > /* Store the floating point registers. */ > *************** store_fpregs (void) > *** 389,395 **** > } > > /* Fetch a general register of the process and store into > ! registers[]. */ > > static void > fetch_register (int regno) > --- 389,395 ---- > } > > /* Fetch a general register of the process and store into > ! regcache. */ > > static void > fetch_register (int regno) > *************** fetch_register (int regno) > *** 426,432 **** > } > > /* Fetch all general registers of the process and store into > ! registers[]. */ > > static void > fetch_regs (void) > --- 426,432 ---- > } > > /* Fetch all general registers of the process and store into > ! regcache. */ > > static void > fetch_regs (void) > *************** fetch_regs (void) > *** 457,463 **** > } > > /* Store all general registers of the process from the values in > ! registers[]. */ > > static void > store_register (int regno) > --- 457,463 ---- > } > > /* Store all general registers of the process from the values in > ! regcache. */ > > static void > store_register (int regno) > *************** store_register (int regno) > *** 465,471 **** > int ret, tid; > elf_gregset_t regs; > > ! if (!register_valid[regno]) > return; > > /* Get the thread id for the ptrace call. */ > --- 465,471 ---- > int ret, tid; > elf_gregset_t regs; > > ! if (!register_cached (regno)) > return; > > /* Get the thread id for the ptrace call. */ > *************** store_regs (void) > *** 509,515 **** > > for (regno = A1_REGNUM; regno <= PC_REGNUM; regno++) > { > ! if (register_valid[regno]) > read_register_gen (regno, (char *) ®s[regno]); > } > > --- 509,515 ---- > > for (regno = A1_REGNUM; regno <= PC_REGNUM; regno++) > { > ! if (register_cached (regno)) > read_register_gen (regno, (char *) ®s[regno]); > } >