1// OBSOLETE /* This program is free software; you can redistribute it and/or modify 2// OBSOLETE it under the terms of the GNU General Public License as published by 3// OBSOLETE the Free Software Foundation; either version 2 of the License, or 4// OBSOLETE (at your option) any later version. 5// OBSOLETE 6// OBSOLETE This program is distributed in the hope that it will be useful, 7// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of 8// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9// OBSOLETE GNU General Public License for more details. 10// OBSOLETE 11// OBSOLETE You should have received a copy of the GNU General Public License 12// OBSOLETE along with this program; if not, write to the Free Software 13// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330, 14// OBSOLETE Boston, MA 02111-1307, USA. */ 15// OBSOLETE 16// OBSOLETE /* MIPS running RISC/os 4.52C. */ 17// OBSOLETE 18// OBSOLETE #define PCB_OFFSET(FIELD) ((int)&((struct user*)0)->u_pcb.FIELD) 19// OBSOLETE 20// OBSOLETE /* RISC/os 5.0 defines this in machparam.h. */ 21// OBSOLETE #include <bsd43/machine/machparam.h> 22// OBSOLETE #define NBPG BSD43_NBPG 23// OBSOLETE #define UPAGES BSD43_UPAGES 24// OBSOLETE 25// OBSOLETE /* Where is this used? I don't see any uses in mips-nat.c, and I don't think 26// OBSOLETE the uses in infptrace.c are used if FETCH_INFERIOR_REGISTERS is defined. 27// OBSOLETE Does the compiler react badly to "extern CORE_ADDR kernel_u_addr" (even 28// OBSOLETE if never referenced)? */ 29// OBSOLETE #define KERNEL_U_ADDR BSD43_UADDR 30// OBSOLETE 31// OBSOLETE #define REGISTER_U_ADDR(addr, blockend, regno) \ 32// OBSOLETE if (regno < FP0_REGNUM) \ 33// OBSOLETE addr = UPAGES*NBPG-EF_SIZE+4*((regno)+EF_AT-1); \ 34// OBSOLETE else if (regno < PC_REGNUM) \ 35// OBSOLETE addr = PCB_OFFSET(pcb_fpregs[0]) + 4*(regno-FP0_REGNUM); \ 36// OBSOLETE else if (regno == PS_REGNUM) \ 37// OBSOLETE addr = UPAGES*NBPG-EF_SIZE+4*EF_SR; \ 38// OBSOLETE else if (regno == mips_regnum (current_gdbarch)->badvaddr) \ 39// OBSOLETE addr = UPAGES*NBPG-EF_SIZE+4*EF_BADVADDR; \ 40// OBSOLETE else if (regno == mips_regnum (current_gdbarch)->lo) \ 41// OBSOLETE addr = UPAGES*NBPG-EF_SIZE+4*EF_MDLO; \ 42// OBSOLETE else if (regno == mips_regnum (current_gdbarch)->hi) \ 43// OBSOLETE addr = UPAGES*NBPG-EF_SIZE+4*EF_MDHI; \ 44// OBSOLETE else if (regno == mips_regnum (current_gdbarch)->cause) \ 45// OBSOLETE addr = UPAGES*NBPG-EF_SIZE+4*EF_CAUSE; \ 46// OBSOLETE else if (regno == mips_regnum (current_gdbarch)->pc) \ 47// OBSOLETE addr = UPAGES*NBPG-EF_SIZE+4*EF_EPC; \ 48// OBSOLETE else if (regno < mips_regnum (current_gdbarch)->fp_control_status) \ 49// OBSOLETE addr = PCB_OFFSET(pcb_fpregs[0]) + 4*(regno-FP0_REGNUM); \ 50// OBSOLETE else if (regno == mips_regnum (current_gdbarch)->fp_control_status) \ 51// OBSOLETE addr = PCB_OFFSET(pcb_fpc_csr); \ 52// OBSOLETE else if (regno == mips_regnum (current_gdbarch)->fp_implementation_revision) \ 53// OBSOLETE addr = PCB_OFFSET(pcb_fpc_eir); \ 54// OBSOLETE else \ 55// OBSOLETE addr = 0; 56// OBSOLETE 57// OBSOLETE #include "mips/nm-mips.h" 58// OBSOLETE 59// OBSOLETE /* Override copies of {fetch,store}_inferior_registers in infptrace.c. */ 60// OBSOLETE #define FETCH_INFERIOR_REGISTERS 61