/* * Copyright (c) 1992, 1993 The Regents of the University of California * All rights reserved. * * This software was developed by the Computer Systems Engineering group * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and * contributed to Berkeley. * * All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Lawrence Berkeley Laboratories. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)remote-sl.h 8.1 (Berkeley) 6/11/93 */ /* $NetBSD: kgdb.h,v 1.4 1998/08/13 02:10:59 eeh Exp $ */ #ifndef __KGDB_H__ #define __KGDB_H__ /* * Message types. */ #define KGDB_SIGNAL '?' // last sigal #define KGDB_SET_BAUD 'b' // set baud (deprecated) #define KGDB_SET_BREAK 'B' // set breakpoint (deprecated) #define KGDB_CONT 'c' // resume #define KGDB_ASYNC_CONT 'C' // continue with signal #define KGDB_DEBUG 'd' // toggle debug flags (deprecated) #define KGDB_DETACH 'D' // detach remote gdb #define KGDB_REG_R 'g' // read general registers #define KGDB_REG_W 'G' // write general registers #define KGDB_SET_THREAD 'H' // set thread #define KGDB_CYCLE_STEP 'i' // step a single cycle #define KGDB_SIG_CYCLE_STEP 'I' // signal then single cycle step #define KGDB_KILL 'k' // kill program #define KGDB_MEM_R 'm' // read memory #define KGDB_MEM_W 'M' // write memory #define KGDB_READ_REG 'p' // read register #define KGDB_SET_REG 'P' // write register #define KGDB_QUERY_VAR 'q' // query variable #define KGDB_SET_VAR 'Q' // set variable #define KGDB_RESET 'r' // reset system. (Deprecated) #define KGDB_STEP 's' // step #define KGDB_ASYNC_STEP 'S' // signal and step #define KGDB_THREAD_ALIVE 'T' // find out if the thread is alive. #define KGDB_TARGET_EXIT 'W' // target exited #define KGDB_BINARY_DLOAD 'X' // write memory #define KGDB_CLR_HW_BKPT 'z' // remove breakpoint or watchpoint #define KGDB_SET_HW_BKPT 'Z' // insert breakpoint or watchpoint /* * start of frame/end of frame */ #define KGDB_START '$' #define KGDB_END '#' #define KGDB_GOODP '+' #define KGDB_BADP '-' /* * Stuff for KGDB. */ #define KGDB_NUMREGS 66 /* from tm-alpha.h, NUM_REGS */ #define KGDB_REG_V0 0 #define KGDB_REG_T0 1 #define KGDB_REG_T1 2 #define KGDB_REG_T2 3 #define KGDB_REG_T3 4 #define KGDB_REG_T4 5 #define KGDB_REG_T5 6 #define KGDB_REG_T6 7 #define KGDB_REG_T7 8 #define KGDB_REG_S0 9 #define KGDB_REG_S1 10 #define KGDB_REG_S2 11 #define KGDB_REG_S3 12 #define KGDB_REG_S4 13 #define KGDB_REG_S5 14 #define KGDB_REG_S6 15 /* FP */ #define KGDB_REG_A0 16 #define KGDB_REG_A1 17 #define KGDB_REG_A2 18 #define KGDB_REG_A3 19 #define KGDB_REG_A4 20 #define KGDB_REG_A5 21 #define KGDB_REG_T8 22 #define KGDB_REG_T9 23 #define KGDB_REG_T10 24 #define KGDB_REG_T11 25 #define KGDB_REG_RA 26 #define KGDB_REG_T12 27 #define KGDB_REG_AT 28 #define KGDB_REG_GP 29 #define KGDB_REG_SP 30 #define KGDB_REG_ZERO 31 #define KGDB_REG_F0 32 #define KGDB_REG_F1 33 #define KGDB_REG_F2 34 #define KGDB_REG_F3 35 #define KGDB_REG_F4 36 #define KGDB_REG_F5 37 #define KGDB_REG_F6 38 #define KGDB_REG_F7 39 #define KGDB_REG_F8 40 #define KGDB_REG_F9 41 #define KGDB_REG_F10 42 #define KGDB_REG_F11 43 #define KGDB_REG_F12 44 #define KGDB_REG_F13 45 #define KGDB_REG_F14 46 #define KGDB_REG_F15 47 #define KGDB_REG_F16 48 #define KGDB_REG_F17 49 #define KGDB_REG_F18 50 #define KGDB_REG_F19 51 #define KGDB_REG_F20 52 #define KGDB_REG_F21 53 #define KGDB_REG_F22 54 #define KGDB_REG_F23 55 #define KGDB_REG_F24 56 #define KGDB_REG_F25 57 #define KGDB_REG_F26 58 #define KGDB_REG_F27 59 #define KGDB_REG_F28 60 #define KGDB_REG_F29 61 #define KGDB_REG_F30 62 #define KGDB_REG_F31 63 #define KGDB_REG_PC 64 #define KGDB_REG_VFP 65 /* Too much? Must be large enough for register transfer. */ #define KGDB_BUFLEN 1024 #endif /* __KGDB_H__ */