X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fremote-vx68.c;h=8b008247e7259b3c81c07ccd46e9652d6e03d4f8;hb=9cbc6ef04e5d04231f2ac1c4b7fd9848d9a2b3b0;hp=59c6cdd4676de91c50ecbb42c2daa5707096e8e3;hpb=27e232885db363fb545fd2f450e72d929e59b8f6;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/remote-vx68.c b/gdb/remote-vx68.c index 59c6cdd467..8b008247e7 100644 --- a/gdb/remote-vx68.c +++ b/gdb/remote-vx68.c @@ -26,16 +26,15 @@ #include "vx-share/regPacket.h" #include "frame.h" #include "inferior.h" -#include "gdb_wait.h" #include "target.h" #include "gdbcore.h" #include "command.h" #include "symtab.h" -#include "symfile.h" /* for struct complaint */ +#include "symfile.h" +#include "regcache.h" #include "gdb_string.h" #include -#include #include #include #include @@ -77,8 +76,7 @@ extern void net_write_registers (); it is ignored. FIXME look at regno to improve efficiency. */ void -vx_read_register (regno) - int regno; +vx_read_register (int regno) { char mc68k_greg_packet[MC68K_GREG_PLEN]; char mc68k_fpreg_packet[MC68K_FPREG_PLEN]; @@ -87,11 +85,15 @@ vx_read_register (regno) net_read_registers (mc68k_greg_packet, MC68K_GREG_PLEN, PTRACE_GETREGS); - bcopy (&mc68k_greg_packet[MC68K_R_D0], registers, 16 * MC68K_GREG_SIZE); - bcopy (&mc68k_greg_packet[MC68K_R_SR], ®isters[REGISTER_BYTE (PS_REGNUM)], - MC68K_GREG_SIZE); - bcopy (&mc68k_greg_packet[MC68K_R_PC], ®isters[REGISTER_BYTE (PC_REGNUM)], - MC68K_GREG_SIZE); + memcpy (deprecated_registers, + &mc68k_greg_packet[MC68K_R_D0] + 16 * MC68K_GREG_SIZE); + memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (PS_REGNUM)], + &mc68k_greg_packet[MC68K_R_SR], + MC68K_GREG_SIZE); + memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (PC_REGNUM)], + &mc68k_greg_packet[MC68K_R_PC], + MC68K_GREG_SIZE); /* Get floating-point registers, if the target system has them. Otherwise, zero them. */ @@ -101,24 +103,24 @@ vx_read_register (regno) net_read_registers (mc68k_fpreg_packet, MC68K_FPREG_PLEN, PTRACE_GETFPREGS); - bcopy (&mc68k_fpreg_packet[MC68K_R_FP0], - ®isters[REGISTER_BYTE (FP0_REGNUM)], - MC68K_FPREG_SIZE * 8); - bcopy (&mc68k_fpreg_packet[MC68K_R_FPCR], - ®isters[REGISTER_BYTE (FPC_REGNUM)], - MC68K_FPREG_PLEN - (MC68K_FPREG_SIZE * 8)); + memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)], + &mc68k_fpreg_packet[MC68K_R_FP0], + MC68K_FPREG_SIZE * 8); + memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FPC_REGNUM)], + &mc68k_fpreg_packet[MC68K_R_FPCR], + MC68K_FPREG_PLEN - (MC68K_FPREG_SIZE * 8)); } else { - bzero (®isters[REGISTER_BYTE (FP0_REGNUM)], - MC68K_FPREG_SIZE * 8); - bzero (®isters[REGISTER_BYTE (FPC_REGNUM)], - MC68K_FPREG_PLEN - (MC68K_FPREG_SIZE * 8)); + memset (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)], + 0, MC68K_FPREG_SIZE * 8); + memset (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FPC_REGNUM)], + 0, MC68K_FPREG_PLEN - (MC68K_FPREG_SIZE * 8)); } /* Mark the register cache valid. */ - registers_fetched (); + deprecated_registers_fetched (); } /* Store a register or registers into the VxWorks target. @@ -126,19 +128,21 @@ vx_read_register (regno) it is ignored. FIXME look at regno to improve efficiency. */ void -vx_write_register (regno) - int regno; +vx_write_register (int regno) { char mc68k_greg_packet[MC68K_GREG_PLEN]; char mc68k_fpreg_packet[MC68K_FPREG_PLEN]; /* Store general-purpose registers. */ - bcopy (registers, &mc68k_greg_packet[MC68K_R_D0], 16 * MC68K_GREG_SIZE); - bcopy (®isters[REGISTER_BYTE (PS_REGNUM)], - &mc68k_greg_packet[MC68K_R_SR], MC68K_GREG_SIZE); - bcopy (®isters[REGISTER_BYTE (PC_REGNUM)], - &mc68k_greg_packet[MC68K_R_PC], MC68K_GREG_SIZE); + memcpy (&mc68k_greg_packet[MC68K_R_D0], deprecated_registers, + 16 * MC68K_GREG_SIZE); + memcpy (&mc68k_greg_packet[MC68K_R_SR], + &deprecated_registers[DEPRECATED_REGISTER_BYTE (PS_REGNUM)], + MC68K_GREG_SIZE); + memcpy (&mc68k_greg_packet[MC68K_R_PC], + &deprecated_registers[DEPRECATED_REGISTER_BYTE (PC_REGNUM)], + MC68K_GREG_SIZE); net_write_registers (mc68k_greg_packet, MC68K_GREG_PLEN, PTRACE_SETREGS); @@ -146,12 +150,12 @@ vx_write_register (regno) if (target_has_fp) { - bcopy (®isters[REGISTER_BYTE (FP0_REGNUM)], - &mc68k_fpreg_packet[MC68K_R_FP0], - MC68K_FPREG_SIZE * 8); - bcopy (®isters[REGISTER_BYTE (FPC_REGNUM)], - &mc68k_fpreg_packet[MC68K_R_FPCR], - MC68K_FPREG_PLEN - (MC68K_FPREG_SIZE * 8)); + memcpy (&mc68k_fpreg_packet[MC68K_R_FP0], + &deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)], + MC68K_FPREG_SIZE * 8); + memcpy (&mc68k_fpreg_packet[MC68K_R_FPCR], + &deprecated_registers[DEPRECATED_REGISTER_BYTE (FPC_REGNUM)], + MC68K_FPREG_PLEN - (MC68K_FPREG_SIZE * 8)); net_write_registers (mc68k_fpreg_packet, MC68K_FPREG_PLEN, PTRACE_SETFPREGS);