includes.isa revision 8738:66bf413b0d5b
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder.  You may use the software subject to the license
9// terms below provided that you ensure that this notice is replicated
10// unmodified and in its entirety in all distributions of the software,
11// modified or unmodified, in source code or in binary form.
12//
13// Copyright (c) 2007 The Regents of The University of Michigan
14// All rights reserved.
15//
16// Redistribution and use in source and binary forms, with or without
17// modification, are permitted provided that the following conditions are
18// met: redistributions of source code must retain the above copyright
19// notice, this list of conditions and the following disclaimer;
20// redistributions in binary form must reproduce the above copyright
21// notice, this list of conditions and the following disclaimer in the
22// documentation and/or other materials provided with the distribution;
23// neither the name of the copyright holders nor the names of its
24// contributors may be used to endorse or promote products derived from
25// this software without specific prior written permission.
26//
27// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
37// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38//
39// Authors: Gabe Black
40
41////////////////////////////////////////////////////////////////////
42//
43// Output include file directives. Also import the python modules we
44// need for all the x86 custom decoder stuff
45//
46
47let {{
48    import copy
49}};
50
51output header {{
52#include <cstring>
53#include <iostream>
54#include <sstream>
55
56#include "arch/generic/debugfaults.hh"
57#include "arch/x86/insts/macroop.hh"
58#include "arch/x86/insts/microfpop.hh"
59#include "arch/x86/insts/microldstop.hh"
60#include "arch/x86/insts/micromediaop.hh"
61#include "arch/x86/insts/microregop.hh"
62#include "arch/x86/insts/static_inst.hh"
63#include "arch/x86/emulenv.hh"
64#include "arch/x86/isa_traits.hh"
65#include "arch/x86/registers.hh"
66#include "arch/x86/types.hh"
67#include "base/misc.hh"
68#include "cpu/static_inst.hh"
69#include "mem/packet.hh"
70#include "sim/faults.hh"
71
72using X86ISA::InstRegIndex;
73}};
74
75output decoder {{
76#include "arch/x86/regs/float.hh"
77#include "arch/x86/regs/misc.hh"
78#include "arch/x86/regs/segment.hh"
79#include "arch/x86/faults.hh"
80#include "arch/x86/microcode_rom.hh"
81#include "arch/x86/tlb.hh"
82#include "base/loader/symtab.hh"
83#include "base/cprintf.hh"
84#include "base/misc.hh"
85#include "cpu/thread_context.hh"  // for Jump::branchTarget()
86#include "mem/packet.hh"
87#include "sim/full_system.hh"
88
89#if defined(linux) || defined(__APPLE__)
90#include <fenv.h>
91#endif
92#include <algorithm>
93
94using namespace X86ISA;
95}};
96
97output exec {{
98#if defined(linux) || defined(__APPLE__)
99#include <fenv.h>
100#endif
101
102#if defined(__sun) || defined (__OpenBSD__)
103#include <ieeefp.h>
104#endif
105
106#include <cmath>
107#include <limits>
108
109#include "arch/x86/regs/misc.hh"
110#include "arch/x86/cpuid.hh"
111#include "arch/x86/faults.hh"
112#include "arch/x86/memhelpers.hh"
113#include "arch/x86/tlb.hh"
114#include "base/bigint.hh"
115#include "base/compiler.hh"
116#include "base/condcodes.hh"
117#include "cpu/base.hh"
118#include "cpu/exetrace.hh"
119#include "debug/X86.hh"
120#include "mem/packet.hh"
121#include "mem/packet_access.hh"
122#include "mem/request.hh"
123#include "sim/pseudo_inst.hh"
124#include "sim/sim_exit.hh"
125
126using namespace X86ISA;
127using namespace std;
128}};
129
130