From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21347 invoked by alias); 8 Jan 2002 18:32:18 -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 21306 invoked from network); 8 Jan 2002 18:32:17 -0000 Received: from unknown (HELO zimmail1.ZIM.Zimismobile.com) (216.191.44.62) by sources.redhat.com with SMTP; 8 Jan 2002 18:32:17 -0000 X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3 content-class: urn:content-classes:message Subject: RE: [RFA] arm linux nat and regcache MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Date: Tue, 08 Jan 2002 10:32:00 -0000 Message-ID: <7E9632ACB647DC4BA6F9A3A7897DDF1F1C2F61@zimmail1.ZIM.Zimismobile.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [RFA] arm linux nat and regcache Thread-Index: AcGX7NpxvD6SSvdFSJaZUSy19JPaTwAheB5Q From: "Scott Bambrough" To: "Michael Snyder" , Cc: , X-SW-Source: 2002-01/txt/msg00138.txt.bz2 This is ok to commit. -----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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 =3D regno - F0_REGNUM; switch (fpa11->fType[fn]) --- 194,200 ---- void store_nwfpe_register (int regno, FPA11 * fpa11) { ! if (register_cached (regno)) { unsigned int fn =3D regno - F0_REGNUM; switch (fpa11->fType[fn]) *************** store_nwfpe_register (int regno, FPA11 * *** 216,222 **** =20=20 =20=20 /* Get the value of a particular register from the floating point ! state of the process and store it into registers[]. */ =20=20 static void fetch_fpregister (int regno) --- 216,222 ---- =20=20 =20=20 /* Get the value of a particular register from the floating point ! state of the process and store it into regcache. */ =20=20 static void fetch_fpregister (int regno) *************** fetch_fpregister (int regno) *** 265,271 **** } =20=20 /* Get the whole floating point state of the process and store it ! into registers[]. */ =20=20 static void fetch_fpregs (void) --- 265,271 ---- } =20=20 /* Get the whole floating point state of the process and store it ! into regcache. */ =20=20 static void fetch_fpregs (void) *************** fetch_fpregs (void) *** 313,319 **** } =20=20 /* Save a particular register into the floating point state of the ! process using the contents from registers[]. */ =20=20 static void store_fpregister (int regno) --- 313,319 ---- } =20=20 /* Save a particular register into the floating point state of the ! process using the contents from regcache. */ =20=20 static void store_fpregister (int regno) *************** store_fpregister (int regno) *** 333,339 **** } =20=20 /* Store fpsr. */ ! if (FPS_REGNUM =3D=3D regno && register_valid[FPS_REGNUM]) read_register_gen (FPS_REGNUM, (char *) &fp.fpsr); =20=20 /* Store the floating point register. */ --- 333,339 ---- } =20=20 /* Store fpsr. */ ! if (FPS_REGNUM =3D=3D regno && register_cached (FPS_REGNUM)) read_register_gen (FPS_REGNUM, (char *) &fp.fpsr); =20=20 /* Store the floating point register. */ *************** store_fpregister (int regno) *** 351,357 **** } =20=20 /* Save the whole floating point state of the process using ! the contents from registers[]. */ =20=20 static void store_fpregs (void) --- 351,357 ---- } =20=20 /* Save the whole floating point state of the process using ! the contents from regcache. */ =20=20 static void store_fpregs (void) *************** store_fpregs (void) *** 371,377 **** } =20=20 /* Store fpsr. */ ! if (register_valid[FPS_REGNUM]) read_register_gen (FPS_REGNUM, (char *) &fp.fpsr); =20=20 /* Store the floating point registers. */ --- 371,377 ---- } =20=20 /* Store fpsr. */ ! if (register_cached (FPS_REGNUM)) read_register_gen (FPS_REGNUM, (char *) &fp.fpsr); =20=20 /* Store the floating point registers. */ *************** store_fpregs (void) *** 389,395 **** } =20=20 /* Fetch a general register of the process and store into ! registers[]. */ =20=20 static void fetch_register (int regno) --- 389,395 ---- } =20=20 /* Fetch a general register of the process and store into ! regcache. */ =20=20 static void fetch_register (int regno) *************** fetch_register (int regno) *** 426,432 **** } =20=20 /* Fetch all general registers of the process and store into ! registers[]. */ =20=20 static void fetch_regs (void) --- 426,432 ---- } =20=20 /* Fetch all general registers of the process and store into ! regcache. */ =20=20 static void fetch_regs (void) *************** fetch_regs (void) *** 457,463 **** } =20=20 /* Store all general registers of the process from the values in ! registers[]. */ =20=20 static void store_register (int regno) --- 457,463 ---- } =20=20 /* Store all general registers of the process from the values in ! regcache. */ =20=20 static void store_register (int regno) *************** store_register (int regno) *** 465,471 **** int ret, tid; elf_gregset_t regs; =20=20=20=20 ! if (!register_valid[regno]) return; =20=20 /* Get the thread id for the ptrace call. */ --- 465,471 ---- int ret, tid; elf_gregset_t regs; =20=20=20=20 ! if (!register_cached (regno)) return; =20=20 /* Get the thread id for the ptrace call. */ *************** store_regs (void) *** 509,515 **** =20=20 for (regno =3D A1_REGNUM; regno <=3D PC_REGNUM; regno++) { ! if (register_valid[regno]) read_register_gen (regno, (char *) ®s[regno]); } =20=20 --- 509,515 ---- =20=20 for (regno =3D A1_REGNUM; regno <=3D PC_REGNUM; regno++) { ! if (register_cached (regno)) read_register_gen (regno, (char *) ®s[regno]); } =20=20