| /****************************************************************** |
| Copyright 1990, 1992 Free Software Foundation, Inc. |
| |
| This code was donated by Intel Corp. |
| |
| Intel hereby grants you permission to copy, modify, and |
| distribute this software and its documentation. Intel grants |
| this permission provided that the above copyright notice |
| appears in all copies and that both the copyright notice and |
| this permission notice appear in supporting documentation. In |
| addition, Intel grants this permission provided that you |
| prominently mark as not part of the original any modifications |
| made to this software or documentation, and that the name of |
| Intel Corporation not be used in advertising or publicity |
| pertaining to distribution of the software or the documentation |
| without specific, written prior permission. |
| |
| Intel Corporation does not warrant, guarantee or make any |
| representations regarding the use of, or the results of the use |
| of, the software and documentation in terms of correctness, |
| accuracy, reliability, currentness, or otherwise; and you rely |
| on the software, documentation and results solely at your own |
| risk. */ |
| /******************************************************************/ |
| |
| |
| /****************************************************************** |
| * |
| * REASONS WHY NINDY CAN STOP EXECUTING AN APPLICATION PROGRAM |
| * |
| * When NINDY stops executing an application program that was running |
| * under remote host ("gdb") control, it signals the host by sending |
| * a single ^P. The host can then query as to the reason for the halt. |
| * NINDY responds with two bytes of information. |
| * |
| * The first byte is a boolean flag that indicates whether or not |
| * the application has exited. |
| * |
| * If the flag is true, the second byte contains the exit code. |
| * |
| * If the flag is false, the second byte contains a "reason for |
| * stopping" code. This file defines the possible values of that |
| * code. |
| * |
| * There are three categories of reasons why the halt may have occurred: |
| * faults, traces, and software interactions. The first two categories |
| * are processor-dependent; the values of these codes are tightly coupled |
| * to the hardware and should not be changed without first examining |
| * src/nindy/common/fault.c. The software interactions involve |
| * communication between NINDY and the host debugger; their codes are |
| * arbitrary. |
| * |
| ******************************************************************/ |
| |
| #define FAULT_PARALLEL 0x00 |
| #define FAULT_UNKNOWN 0x01 |
| #define FAULT_OPERATION 0x02 |
| #define FAULT_ARITH 0x03 |
| #define FAULT_FP 0x04 |
| #define FAULT_CONSTR 0x05 |
| #define FAULT_VM 0x06 |
| #define FAULT_PROTECT 0x07 |
| #define FAULT_MACHINE 0x08 |
| #define FAULT_STRUCT 0x09 |
| #define FAULT_TYPE 0x0a |
| /* 0x0b reserved */ |
| #define FAULT_PROCESS 0x0c |
| #define FAULT_DESC 0x0d |
| #define FAULT_EVENT 0x0e |
| /* 0x0f reserved */ |
| |
| #define LAST_FAULT 0x0f |
| |
| #define TRACE_STEP 0x10 |
| #define TRACE_BRANCH 0x11 |
| #define TRACE_CALL 0x12 |
| #define TRACE_RET 0x13 |
| #define TRACE_PRERET 0x14 |
| #define TRACE_SVC 0x15 |
| #define TRACE_BKPT 0x16 |
| |
| #define STOP_SRQ 0xfe |
| /* Application program has service request to make of host */ |
| |
| #define STOP_GDB_BPT 0xff |
| /* Application program has reached breakpoint (fmark) set by host */ |