1*b725ae77Skettenis /* Native-dependent definitions for GNU/Linux on MIPS. 2*b725ae77Skettenis 3*b725ae77Skettenis Copyright 1996, 2001, 2002, 2003 Free Software Foundation, Inc. 4*b725ae77Skettenis 5*b725ae77Skettenis This file is part of GDB. 6*b725ae77Skettenis 7*b725ae77Skettenis This program is free software; you can redistribute it and/or modify 8*b725ae77Skettenis it under the terms of the GNU General Public License as published by 9*b725ae77Skettenis the Free Software Foundation; either version 2 of the License, or 10*b725ae77Skettenis (at your option) any later version. 11*b725ae77Skettenis 12*b725ae77Skettenis This program is distributed in the hope that it will be useful, 13*b725ae77Skettenis but WITHOUT ANY WARRANTY; without even the implied warranty of 14*b725ae77Skettenis MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*b725ae77Skettenis GNU General Public License for more details. 16*b725ae77Skettenis 17*b725ae77Skettenis You should have received a copy of the GNU General Public License 18*b725ae77Skettenis along with this program; if not, write to the Free Software 19*b725ae77Skettenis Foundation, Inc., 59 Temple Place - Suite 330, 20*b725ae77Skettenis Boston, MA 02111-1307, USA. */ 21*b725ae77Skettenis 22*b725ae77Skettenis #ifndef NM_MIPSLINUX_H 23*b725ae77Skettenis #define NM_MIPSLINUX_H 24*b725ae77Skettenis 25*b725ae77Skettenis #include "config/nm-linux.h" 26*b725ae77Skettenis 27*b725ae77Skettenis /* Return sizeof user struct to callers in less machine dependent 28*b725ae77Skettenis routines. Hard coded for cross-compilation friendliness. */ 29*b725ae77Skettenis 30*b725ae77Skettenis #define KERNEL_U_SIZE 504 31*b725ae77Skettenis 32*b725ae77Skettenis /* ptrace register ``addresses'' are absolute. */ 33*b725ae77Skettenis 34*b725ae77Skettenis #define U_REGS_OFFSET 0 35*b725ae77Skettenis 36*b725ae77Skettenis /* ptrace transfers longs, and expects addresses as longs. */ 37*b725ae77Skettenis 38*b725ae77Skettenis #define PTRACE_ARG3_TYPE long 39*b725ae77Skettenis #define PTRACE_XFER_TYPE long 40*b725ae77Skettenis 41*b725ae77Skettenis #define REGISTER_U_ADDR(addr, blockend, regno) \ 42*b725ae77Skettenis (addr) = mips_register_addr ((regno),(blockend)) 43*b725ae77Skettenis 44*b725ae77Skettenis int mips_linux_cannot_fetch_register (int regno); 45*b725ae77Skettenis int mips_linux_cannot_store_register (int regno); 46*b725ae77Skettenis #define CANNOT_FETCH_REGISTER(regno) mips_linux_cannot_fetch_register (regno) 47*b725ae77Skettenis #define CANNOT_STORE_REGISTER(regno) mips_linux_cannot_store_register (regno) 48*b725ae77Skettenis 49*b725ae77Skettenis #endif /* NM_MIPSLINUX_H */ 50