mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-04 18:36:32 +00:00
87 lines
3.2 KiB
C
87 lines
3.2 KiB
C
/******************************************************************
|
|
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 */
|