1/* Simulator signal support
2   Copyright (C) 1997, 2007 Free Software Foundation, Inc.
3   Contributed by Cygnus Support
4
5This file is part of the GNU Simulators.
6
7This program is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20#ifndef SIM_SIGNAL_H
21#define SIM_SIGNAL_H
22
23#include "gdb/signals.h"
24
25/* Signals we use.
26   This provides a layer between our values and host/target values.  */
27
28typedef enum {
29  SIM_SIGNONE = 64,
30  /* illegal insn */
31  SIM_SIGILL,
32  /* breakpoint */
33  SIM_SIGTRAP,
34  /* misaligned memory access */
35  SIM_SIGBUS,
36  /* tried to read/write memory that's not readable/writable */
37  SIM_SIGSEGV,
38  /* cpu limit exceeded */
39  SIM_SIGXCPU,
40  /* simulation interrupted (sim_stop called) */
41  SIM_SIGINT,
42  /* Floating point or integer divide */
43  SIM_SIGFPE,
44  /* simulation aborted */
45  SIM_SIGABRT
46} SIM_SIGNAL;
47
48int sim_signal_to_host (SIM_DESC sd, SIM_SIGNAL);
49enum target_signal sim_signal_to_target (SIM_DESC sd, SIM_SIGNAL);
50
51#endif /* SIM_SIGNAL_H */
52