1/* Simulator CPU header for sh.
2
3THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5Copyright 1996-2005 Free Software Foundation, Inc.
6
7This file is part of the GNU simulators.
8
9This program is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3 of the License, or
12(at your option) any later version.
13
14This program is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
22*/
23
24#ifndef SH_CPUALL_H
25#define SH_CPUALL_H
26
27/* Include files for each cpu family.  */
28
29#ifdef WANT_CPU_SH64
30#include "eng.h"
31#include "cgen-engine.h"
32#include "cpu.h"
33#include "decode.h"
34#endif
35
36extern const MACH sh2_mach;
37extern const MACH sh2e_mach;
38extern const MACH sh2a_fpu_mach;
39extern const MACH sh2a_nofpu_mach;
40extern const MACH sh3_mach;
41extern const MACH sh3e_mach;
42extern const MACH sh4_nofpu_mach;
43extern const MACH sh4_mach;
44extern const MACH sh4a_nofpu_mach;
45extern const MACH sh4a_mach;
46extern const MACH sh4al_mach;
47extern const MACH sh5_mach;
48
49#ifndef WANT_CPU
50/* The ARGBUF struct.  */
51struct argbuf {
52  /* These are the baseclass definitions.  */
53  IADDR addr;
54  const IDESC *idesc;
55  char trace_p;
56  char profile_p;
57  /* ??? Temporary hack for skip insns.  */
58  char skip_count;
59  char unused;
60  /* cpu specific data follows */
61};
62#endif
63
64#ifndef WANT_CPU
65/* A cached insn.
66
67   ??? SCACHE used to contain more than just argbuf.  We could delete the
68   type entirely and always just use ARGBUF, but for future concerns and as
69   a level of abstraction it is left in.  */
70
71struct scache {
72  struct argbuf argbuf;
73};
74#endif
75
76#endif /* SH_CPUALL_H */
77