Improvements by Matthias Pfaller (fpu regs ...)
This commit is contained in:
parent
03fa08025b
commit
f9d6b3823a
@ -1,4 +1,4 @@
|
||||
# $Id: Makefile.inc,v 1.2 1994/06/09 14:46:17 phil Exp $
|
||||
# $Id: Makefile.inc,v 1.3 1995/09/26 20:23:36 phil Exp $
|
||||
|
||||
SRCS+= coredep.c ns32k-pinsn.c ns32k-tdep.c ns32k-nat.c
|
||||
SRCS+= ns32k-pinsn.c ns32k-tdep.c ns32k-nat.c
|
||||
|
||||
|
@ -17,16 +17,16 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: ns32k-nat.c,v 1.3 1995/08/29 08:03:29 phil Exp $
|
||||
$Id: ns32k-nat.c,v 1.4 1995/09/26 20:23:38 phil Exp $
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <signal.h>
|
||||
#include <sys/ptrace.h>
|
||||
#include <sys/user.h>
|
||||
#include <machine/reg.h>
|
||||
#include <machine/frame.h>
|
||||
#include <sys/ptrace.h>
|
||||
|
||||
#include "defs.h"
|
||||
#include "inferior.h"
|
||||
@ -47,9 +47,9 @@ fetch_inferior_registers (regno)
|
||||
struct fpreg inferior_fpregisters;
|
||||
|
||||
ptrace (PT_GETREGS, inferior_pid,
|
||||
(PTRACE_ARG3_TYPE) &inferior_registers, 0);
|
||||
(PTRACE_ARG3_TYPE) &inferior_registers, 0);
|
||||
ptrace (PT_GETFPREGS, inferior_pid,
|
||||
(PTRACE_ARG3_TYPE) &inferior_fpregisters, 0);
|
||||
(PTRACE_ARG3_TYPE) &inferior_fpregisters, 0);
|
||||
|
||||
RF(R0_REGNUM + 0, inferior_registers.r_r0);
|
||||
RF(R0_REGNUM + 1, inferior_registers.r_r1);
|
||||
@ -106,16 +106,87 @@ store_inferior_registers (regno)
|
||||
(PTRACE_ARG3_TYPE) &inferior_fpregisters, 0);
|
||||
}
|
||||
|
||||
/* XXX - Add this to machine/regs.h instead? */
|
||||
struct coreregs {
|
||||
struct reg intreg;
|
||||
struct fpreg freg;
|
||||
};
|
||||
|
||||
/* Get registers from a core file. */
|
||||
void
|
||||
fetch_core_registers (core_reg_sect, core_reg_size, which, ignore)
|
||||
char *core_reg_sect;
|
||||
unsigned core_reg_size;
|
||||
int which;
|
||||
unsigned int ignore; /* reg addr, unused in this version */
|
||||
{
|
||||
struct coreregs *core_reg;
|
||||
|
||||
core_reg = (struct coreregs *)core_reg_sect;
|
||||
|
||||
/*
|
||||
* We have *all* registers
|
||||
* in the first core section.
|
||||
* Ignore which.
|
||||
*/
|
||||
|
||||
/* Integer registers */
|
||||
RF(R0_REGNUM + 0, core_reg->intreg.r_r0);
|
||||
RF(R0_REGNUM + 1, core_reg->intreg.r_r1);
|
||||
RF(R0_REGNUM + 2, core_reg->intreg.r_r2);
|
||||
RF(R0_REGNUM + 3, core_reg->intreg.r_r3);
|
||||
RF(R0_REGNUM + 4, core_reg->intreg.r_r4);
|
||||
RF(R0_REGNUM + 5, core_reg->intreg.r_r5);
|
||||
RF(R0_REGNUM + 6, core_reg->intreg.r_r6);
|
||||
RF(R0_REGNUM + 7, core_reg->intreg.r_r7);
|
||||
|
||||
RF(SP_REGNUM , core_reg->intreg.r_sp);
|
||||
RF(FP_REGNUM , core_reg->intreg.r_fp);
|
||||
RF(PC_REGNUM , core_reg->intreg.r_pc);
|
||||
RF(PS_REGNUM , core_reg->intreg.r_psr);
|
||||
|
||||
/* Floating point registers */
|
||||
RF(FPS_REGNUM , core_reg->freg.r_fsr);
|
||||
RF(FP0_REGNUM +0, core_reg->freg.r_freg[0]);
|
||||
RF(FP0_REGNUM +2, core_reg->freg.r_freg[2]);
|
||||
RF(FP0_REGNUM +4, core_reg->freg.r_freg[4]);
|
||||
RF(FP0_REGNUM +6, core_reg->freg.r_freg[6]);
|
||||
}
|
||||
|
||||
void
|
||||
fetch_kcore_registers (pcb)
|
||||
struct pcb *pcb;
|
||||
{
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
void
|
||||
clear_regs()
|
||||
{
|
||||
return;
|
||||
double zero = 0.0;
|
||||
int null = 0;
|
||||
|
||||
/* Integer registers */
|
||||
RF(R0_REGNUM + 0, null);
|
||||
RF(R0_REGNUM + 1, null);
|
||||
RF(R0_REGNUM + 2, null);
|
||||
RF(R0_REGNUM + 3, null);
|
||||
RF(R0_REGNUM + 4, null);
|
||||
RF(R0_REGNUM + 5, null);
|
||||
RF(R0_REGNUM + 6, null);
|
||||
RF(R0_REGNUM + 7, null);
|
||||
|
||||
RF(SP_REGNUM , null);
|
||||
RF(FP_REGNUM , null);
|
||||
RF(PC_REGNUM , null);
|
||||
RF(PS_REGNUM , null);
|
||||
|
||||
/* Floating point registers */
|
||||
RF(FPS_REGNUM , zero);
|
||||
RF(FP0_REGNUM +0, zero);
|
||||
RF(FP0_REGNUM +2, zero);
|
||||
RF(FP0_REGNUM +4, zero);
|
||||
RF(FP0_REGNUM +6, zero);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -17,24 +17,6 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/*
|
||||
* HISTORY
|
||||
* $Log: ns32k-tdep.c,v $
|
||||
* Revision 1.3 1995/08/29 08:03:31 phil
|
||||
* Changes from Matthias Pfaller to get gdb to work.
|
||||
*
|
||||
* Revision 1.2 1994/05/24 23:58:24 phil
|
||||
* Follow changes to sys/arch/pc532/include/reg.h.
|
||||
*
|
||||
* Revision 1.1 1994/04/28 17:11:31 phil
|
||||
* Adding ns32k support.
|
||||
*
|
||||
* Revision 2.1.1.1 93/04/16 16:35:44 pds
|
||||
* Added copyright notice and whist markers.
|
||||
* [93/04/16 pds]
|
||||
*
|
||||
*/
|
||||
|
||||
/* @@@ isa_NAN should be in ieee generic float routines file */
|
||||
|
||||
/* Check for bad floats/doubles in P
|
||||
@ -81,24 +63,3 @@ isa_NAN(p, len)
|
||||
}
|
||||
else return 1;
|
||||
}
|
||||
|
||||
/* this table must line up with REGISTER_NAMES in tm-ns32k.h */
|
||||
static int regmap[] =
|
||||
{
|
||||
REG_R0, REG_R1, REG_R2, REG_R3, REG_R4, REG_R5, REG_R6, REG_R7,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
REG_SP, REG_FP, REG_PC, REG_PSR,
|
||||
0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
/* blockend is the value of u.u_ar0, and points to the
|
||||
place where r7 is stored. */
|
||||
|
||||
int
|
||||
ns32k_register_u_addr (blockend, regnum)
|
||||
int blockend;
|
||||
int regnum;
|
||||
{
|
||||
return (blockend + 4 * regmap[regnum]);
|
||||
}
|
||||
|
||||
|
@ -17,21 +17,6 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/*
|
||||
* HISTORY
|
||||
* $Log: tm-umax.h,v $
|
||||
* Revision 1.2 1995/08/29 08:03:32 phil
|
||||
* Changes from Matthias Pfaller to get gdb to work.
|
||||
*
|
||||
* Revision 1.1 1994/04/28 17:11:32 phil
|
||||
* Adding ns32k support.
|
||||
*
|
||||
* Revision 4.8.1.1 93/04/16 15:38:43 pds
|
||||
* Mach 3.0 fixes. (jtv@hut.fi)
|
||||
* [93/02/09 14:36:37 pds]
|
||||
*
|
||||
* [93/02/09 pds]
|
||||
*/
|
||||
|
||||
#define TARGET_BYTE_ORDER LITTLE_ENDIAN
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user