diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-06-18 22:21:38 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-06-18 22:21:38 +0000 |
commit | 3222c7d01c76a316a2e1a83e1fa0ce929fe59d79 (patch) | |
tree | 211ef284d26ba162cdb31f1a86c446d33c54a1a1 /gdb/config/mips/nm-riscos.h | |
parent | 7f6175b4dc6b15c337aee405058447081d416d28 (diff) | |
download | gdb-3222c7d01c76a316a2e1a83e1fa0ce929fe59d79.zip gdb-3222c7d01c76a316a2e1a83e1fa0ce929fe59d79.tar.gz gdb-3222c7d01c76a316a2e1a83e1fa0ce929fe59d79.tar.bz2 |
new files for riscos
Diffstat (limited to 'gdb/config/mips/nm-riscos.h')
-rw-r--r-- | gdb/config/mips/nm-riscos.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gdb/config/mips/nm-riscos.h b/gdb/config/mips/nm-riscos.h new file mode 100644 index 0000000..31e829b --- /dev/null +++ b/gdb/config/mips/nm-riscos.h @@ -0,0 +1,46 @@ +/* This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +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. */ + +/* MIPS running RISC/os 4.52C. */ + +#define PCB_OFFSET(FIELD) ((int)&((struct user*)0)->u_pcb.FIELD) + +#define REGISTER_U_ADDR(addr, blockend, regno) \ + if (regno < FP0_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*((regno)+EF_AT-1); \ + else if (regno < PC_REGNUM) \ + addr = PCB_OFFSET(pcb_fpregs[0]) + 4*(regno-FP0_REGNUM); \ + else if (regno == PS_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_SR; \ + else if (regno == BADVADDR_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_BADVADDR; \ + else if (regno == LO_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_MDLO; \ + else if (regno == HI_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_MDHI; \ + else if (regno == CAUSE_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_CAUSE; \ + else if (regno == PC_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_EPC; \ + else if (regno < FCRCS_REGNUM) \ + addr = PCB_OFFSET(pcb_fpregs[0]) + 4*(regno-FP0_REGNUM); \ + else if (regno == FCRCS_REGNUM) \ + addr = PCB_OFFSET(pcb_fpc_csr); \ + else if (regno == FCRIR_REGNUM) \ + addr = PCB_OFFSET(pcb_fpc_eir); \ + else \ + addr = 0; +#endif + +#include "mips/nm-mips.h" |