1 |
578 |
markom |
/******************************************************************
|
2 |
|
|
Copyright 1990, 1992 Free Software Foundation, Inc.
|
3 |
|
|
|
4 |
|
|
This code was donated by Intel Corp.
|
5 |
|
|
|
6 |
|
|
Intel hereby grants you permission to copy, modify, and
|
7 |
|
|
distribute this software and its documentation. Intel grants
|
8 |
|
|
this permission provided that the above copyright notice
|
9 |
|
|
appears in all copies and that both the copyright notice and
|
10 |
|
|
this permission notice appear in supporting documentation. In
|
11 |
|
|
addition, Intel grants this permission provided that you
|
12 |
|
|
prominently mark as not part of the original any modifications
|
13 |
|
|
made to this software or documentation, and that the name of
|
14 |
|
|
Intel Corporation not be used in advertising or publicity
|
15 |
|
|
pertaining to distribution of the software or the documentation
|
16 |
|
|
without specific, written prior permission.
|
17 |
|
|
|
18 |
|
|
Intel Corporation does not warrant, guarantee or make any
|
19 |
|
|
representations regarding the use of, or the results of the use
|
20 |
|
|
of, the software and documentation in terms of correctness,
|
21 |
|
|
accuracy, reliability, currentness, or otherwise; and you rely
|
22 |
|
|
on the software, documentation and results solely at your own
|
23 |
|
|
risk. */
|
24 |
|
|
/******************************************************************/
|
25 |
|
|
|
26 |
|
|
|
27 |
|
|
/******************************************************************
|
28 |
|
|
*
|
29 |
|
|
* REASONS WHY NINDY CAN STOP EXECUTING AN APPLICATION PROGRAM
|
30 |
|
|
*
|
31 |
|
|
* When NINDY stops executing an application program that was running
|
32 |
|
|
* under remote host ("gdb") control, it signals the host by sending
|
33 |
|
|
* a single ^P. The host can then query as to the reason for the halt.
|
34 |
|
|
* NINDY responds with two bytes of information.
|
35 |
|
|
*
|
36 |
|
|
* The first byte is a boolean flag that indicates whether or not
|
37 |
|
|
* the application has exited.
|
38 |
|
|
*
|
39 |
|
|
* If the flag is true, the second byte contains the exit code.
|
40 |
|
|
*
|
41 |
|
|
* If the flag is false, the second byte contains a "reason for
|
42 |
|
|
* stopping" code. This file defines the possible values of that
|
43 |
|
|
* code.
|
44 |
|
|
*
|
45 |
|
|
* There are three categories of reasons why the halt may have occurred:
|
46 |
|
|
* faults, traces, and software interactions. The first two categories
|
47 |
|
|
* are processor-dependent; the values of these codes are tightly coupled
|
48 |
|
|
* to the hardware and should not be changed without first examining
|
49 |
|
|
* src/nindy/common/fault.c. The software interactions involve
|
50 |
|
|
* communication between NINDY and the host debugger; their codes are
|
51 |
|
|
* arbitrary.
|
52 |
|
|
*
|
53 |
|
|
******************************************************************/
|
54 |
|
|
|
55 |
|
|
#define FAULT_PARALLEL 0x00
|
56 |
|
|
#define FAULT_UNKNOWN 0x01
|
57 |
|
|
#define FAULT_OPERATION 0x02
|
58 |
|
|
#define FAULT_ARITH 0x03
|
59 |
|
|
#define FAULT_FP 0x04
|
60 |
|
|
#define FAULT_CONSTR 0x05
|
61 |
|
|
#define FAULT_VM 0x06
|
62 |
|
|
#define FAULT_PROTECT 0x07
|
63 |
|
|
#define FAULT_MACHINE 0x08
|
64 |
|
|
#define FAULT_STRUCT 0x09
|
65 |
|
|
#define FAULT_TYPE 0x0a
|
66 |
|
|
/* 0x0b reserved */
|
67 |
|
|
#define FAULT_PROCESS 0x0c
|
68 |
|
|
#define FAULT_DESC 0x0d
|
69 |
|
|
#define FAULT_EVENT 0x0e
|
70 |
|
|
/* 0x0f reserved */
|
71 |
|
|
|
72 |
|
|
#define LAST_FAULT 0x0f
|
73 |
|
|
|
74 |
|
|
#define TRACE_STEP 0x10
|
75 |
|
|
#define TRACE_BRANCH 0x11
|
76 |
|
|
#define TRACE_CALL 0x12
|
77 |
|
|
#define TRACE_RET 0x13
|
78 |
|
|
#define TRACE_PRERET 0x14
|
79 |
|
|
#define TRACE_SVC 0x15
|
80 |
|
|
#define TRACE_BKPT 0x16
|
81 |
|
|
|
82 |
|
|
#define STOP_SRQ 0xfe
|
83 |
|
|
/* Application program has service request to make of host */
|
84 |
|
|
|
85 |
|
|
#define STOP_GDB_BPT 0xff
|
86 |
|
|
/* Application program has reached breakpoint (fmark) set by host */
|