diff options
author | Fred Fish <fnf@specifix.com> | 1994-08-13 16:17:45 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1994-08-13 16:17:45 +0000 |
commit | 96ff369d81abbd31d404d3d5e0ffd7a9d33db87b (patch) | |
tree | 9a373cc32462d093a1168b27e83140dfd56ffca1 /gdb/cxux-nat.c | |
parent | 71ed485dc32429fb55e15adec79180f3e595d2e3 (diff) | |
download | gdb-96ff369d81abbd31d404d3d5e0ffd7a9d33db87b.zip gdb-96ff369d81abbd31d404d3d5e0ffd7a9d33db87b.tar.gz gdb-96ff369d81abbd31d404d3d5e0ffd7a9d33db87b.tar.bz2 |
Harris CX/UX support, from Bob Rusk (rrusk@mail.csd.harris.com).
* cxux-nat.c: Remove dangling #else block.
((m88k_harris_core_register_addr): New function.
Diffstat (limited to 'gdb/cxux-nat.c')
-rw-r--r-- | gdb/cxux-nat.c | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/gdb/cxux-nat.c b/gdb/cxux-nat.c index 52a4eb3..6216ede 100644 --- a/gdb/cxux-nat.c +++ b/gdb/cxux-nat.c @@ -54,11 +54,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define PSR_OFFSET (PT_PSR * sizeof(int)) #define FPSR_OFFSET (PT_FPSR * sizeof(int)) #define FPCR_OFFSET (PT_FPCR * sizeof(int)) -#else /* _CX_UX */ -/* define offsets to the pc instruction offsets in ptrace_user struct */ -#define SXIP_OFFSET ((char *)&u.pt_sigframe.dg_sigframe.sc_sxip - (char *)&u) -#define SNIP_OFFSET ((char *)&u.pt_sigframe.dg_sigframe.sc_snip - (char *)&u) -#define SFIP_OFFSET ((char *)&u.pt_sigframe.dg_sigframe.sc_sfip - (char *)&u) #define XREGADDR(r) (((char *)&u.pt_x0-(char *)&u) + \ ((r)-X0_REGNUM)*sizeof(X_REGISTER_RAW_TYPE)) @@ -498,3 +493,29 @@ supply_fpregset (fpregsetp) } #endif /* _ES_MP */ + +#ifdef _CX_UX + +#include <sys/regset.h> + +unsigned int m88k_harris_core_register_addr(int regno, int reg_ptr) +{ + unsigned int word_offset; + + switch (regno) { + case PSR_REGNUM : word_offset = R_PSR; break; + case FPSR_REGNUM : word_offset = R_FPSR; break; + case FPCR_REGNUM : word_offset = R_FPCR; break; + case SXIP_REGNUM : word_offset = R_XIP; break; + case SNIP_REGNUM : word_offset = R_NIP; break; + case SFIP_REGNUM : word_offset = R_FIP; break; + default : + if (regno <= FP_REGNUM) + word_offset = regno; + else + word_offset = ((regno - X0_REGNUM) * 4) + R_X0; + } + return (word_offset * 4); +} + +#endif /* _CX_UX */ |