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