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