includes.isa revision 8442
17087Snate@binkert.org// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
27087Snate@binkert.org// All rights reserved.
37087Snate@binkert.org//
47087Snate@binkert.org// The license below extends only to copyright in the software and shall
57087Snate@binkert.org// not be construed as granting a license to any other intellectual
67087Snate@binkert.org// property including but not limited to intellectual property relating
77087Snate@binkert.org// to a hardware implementation of the functionality of the software
87087Snate@binkert.org// licensed hereunder.  You may use the software subject to the license
97087Snate@binkert.org// terms below provided that you ensure that this notice is replicated
107087Snate@binkert.org// unmodified and in its entirety in all distributions of the software,
117087Snate@binkert.org// modified or unmodified, in source code or in binary form.
127087Snate@binkert.org//
134158Sgblack@eecs.umich.edu// Copyright (c) 2007 The Regents of The University of Michigan
144158Sgblack@eecs.umich.edu// All rights reserved.
154158Sgblack@eecs.umich.edu//
164158Sgblack@eecs.umich.edu// Redistribution and use in source and binary forms, with or without
174158Sgblack@eecs.umich.edu// modification, are permitted provided that the following conditions are
184158Sgblack@eecs.umich.edu// met: redistributions of source code must retain the above copyright
194158Sgblack@eecs.umich.edu// notice, this list of conditions and the following disclaimer;
204158Sgblack@eecs.umich.edu// redistributions in binary form must reproduce the above copyright
214158Sgblack@eecs.umich.edu// notice, this list of conditions and the following disclaimer in the
224158Sgblack@eecs.umich.edu// documentation and/or other materials provided with the distribution;
234158Sgblack@eecs.umich.edu// neither the name of the copyright holders nor the names of its
244158Sgblack@eecs.umich.edu// contributors may be used to endorse or promote products derived from
254158Sgblack@eecs.umich.edu// this software without specific prior written permission.
264158Sgblack@eecs.umich.edu//
274158Sgblack@eecs.umich.edu// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
284158Sgblack@eecs.umich.edu// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
294158Sgblack@eecs.umich.edu// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
304158Sgblack@eecs.umich.edu// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
314158Sgblack@eecs.umich.edu// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
324158Sgblack@eecs.umich.edu// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
334158Sgblack@eecs.umich.edu// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
344158Sgblack@eecs.umich.edu// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
354158Sgblack@eecs.umich.edu// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
364158Sgblack@eecs.umich.edu// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
374158Sgblack@eecs.umich.edu// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
384158Sgblack@eecs.umich.edu//
394158Sgblack@eecs.umich.edu// Authors: Gabe Black
404158Sgblack@eecs.umich.edu
414158Sgblack@eecs.umich.edu////////////////////////////////////////////////////////////////////
424158Sgblack@eecs.umich.edu//
434323Sgblack@eecs.umich.edu// Output include file directives. Also import the python modules we
444323Sgblack@eecs.umich.edu// need for all the x86 custom decoder stuff
454158Sgblack@eecs.umich.edu//
464158Sgblack@eecs.umich.edu
474323Sgblack@eecs.umich.edulet {{
484323Sgblack@eecs.umich.edu    import copy
494323Sgblack@eecs.umich.edu}};
504323Sgblack@eecs.umich.edu
514158Sgblack@eecs.umich.eduoutput header {{
524158Sgblack@eecs.umich.edu#include <cstring>
538229Snate@binkert.org#include <iostream>
544158Sgblack@eecs.umich.edu#include <sstream>
554158Sgblack@eecs.umich.edu
567965Sgblack@eecs.umich.edu#include "arch/generic/debugfaults.hh"
575786Sgblack@eecs.umich.edu#include "arch/x86/insts/macroop.hh"
585083Sgblack@eecs.umich.edu#include "arch/x86/insts/microfpop.hh"
594679Sgblack@eecs.umich.edu#include "arch/x86/insts/microldstop.hh"
606516Sgblack@eecs.umich.edu#include "arch/x86/insts/micromediaop.hh"
614679Sgblack@eecs.umich.edu#include "arch/x86/insts/microregop.hh"
624679Sgblack@eecs.umich.edu#include "arch/x86/insts/static_inst.hh"
638229Snate@binkert.org#include "arch/x86/emulenv.hh"
644158Sgblack@eecs.umich.edu#include "arch/x86/isa_traits.hh"
656329Sgblack@eecs.umich.edu#include "arch/x86/registers.hh"
664528Sgblack@eecs.umich.edu#include "arch/x86/types.hh"
674158Sgblack@eecs.umich.edu#include "base/misc.hh"
684158Sgblack@eecs.umich.edu#include "cpu/static_inst.hh"
694158Sgblack@eecs.umich.edu#include "mem/packet.hh"
704616Sgblack@eecs.umich.edu#include "sim/faults.hh"
716345Sgblack@eecs.umich.edu
726345Sgblack@eecs.umich.eduusing X86ISA::InstRegIndex;
734158Sgblack@eecs.umich.edu}};
744158Sgblack@eecs.umich.edu
754158Sgblack@eecs.umich.eduoutput decoder {{
767629Sgblack@eecs.umich.edu#include "arch/x86/regs/float.hh"
777629Sgblack@eecs.umich.edu#include "arch/x86/regs/misc.hh"
787629Sgblack@eecs.umich.edu#include "arch/x86/regs/segment.hh"
798229Snate@binkert.org#include "arch/x86/faults.hh"
808229Snate@binkert.org#include "arch/x86/microcode_rom.hh"
815912Sgblack@eecs.umich.edu#include "arch/x86/tlb.hh"
828229Snate@binkert.org#include "base/loader/symtab.hh"
834158Sgblack@eecs.umich.edu#include "base/cprintf.hh"
845425Sgblack@eecs.umich.edu#include "base/misc.hh"
854158Sgblack@eecs.umich.edu#include "cpu/thread_context.hh"  // for Jump::branchTarget()
864158Sgblack@eecs.umich.edu#include "mem/packet.hh"
874158Sgblack@eecs.umich.edu
884158Sgblack@eecs.umich.edu#if defined(linux) || defined(__APPLE__)
894158Sgblack@eecs.umich.edu#include <fenv.h>
904158Sgblack@eecs.umich.edu#endif
914158Sgblack@eecs.umich.edu#include <algorithm>
924158Sgblack@eecs.umich.edu
934158Sgblack@eecs.umich.eduusing namespace X86ISA;
944158Sgblack@eecs.umich.edu}};
954158Sgblack@eecs.umich.edu
964158Sgblack@eecs.umich.eduoutput exec {{
974158Sgblack@eecs.umich.edu#if defined(linux) || defined(__APPLE__)
984158Sgblack@eecs.umich.edu#include <fenv.h>
994158Sgblack@eecs.umich.edu#endif
1004158Sgblack@eecs.umich.edu
1014158Sgblack@eecs.umich.edu#if defined(__sun) || defined (__OpenBSD__)
1024158Sgblack@eecs.umich.edu#include <ieeefp.h>
1034158Sgblack@eecs.umich.edu#endif
1044158Sgblack@eecs.umich.edu
1054158Sgblack@eecs.umich.edu#if FULL_SYSTEM
1064158Sgblack@eecs.umich.edu#include "sim/pseudo_inst.hh"
1074158Sgblack@eecs.umich.edu#endif
1084158Sgblack@eecs.umich.edu
1098229Snate@binkert.org#include <cmath>
1104158Sgblack@eecs.umich.edu#include <limits>
1114158Sgblack@eecs.umich.edu
1128229Snate@binkert.org#include "arch/x86/regs/misc.hh"
1135659Sgblack@eecs.umich.edu#include "arch/x86/cpuid.hh"
1146336Sgblack@eecs.umich.edu#include "arch/x86/faults.hh"
1158442Sgblack@eecs.umich.edu#include "arch/x86/memhelpers.hh"
1165118Sgblack@eecs.umich.edu#include "arch/x86/tlb.hh"
1174158Sgblack@eecs.umich.edu#include "base/bigint.hh"
1187969Sgblack@eecs.umich.edu#include "base/compiler.hh"
1196570Sgblack@eecs.umich.edu#include "base/condcodes.hh"
1204158Sgblack@eecs.umich.edu#include "cpu/base.hh"
1214158Sgblack@eecs.umich.edu#include "cpu/exetrace.hh"
1228232Snate@binkert.org#include "debug/X86.hh"
1234158Sgblack@eecs.umich.edu#include "mem/packet.hh"
1244158Sgblack@eecs.umich.edu#include "mem/packet_access.hh"
1255920Sgblack@eecs.umich.edu#include "mem/request.hh"
1265789Sgblack@eecs.umich.edu#include "sim/pseudo_inst.hh"
1278229Snate@binkert.org#include "sim/sim_exit.hh"
1284158Sgblack@eecs.umich.edu
1294158Sgblack@eecs.umich.eduusing namespace X86ISA;
1304158Sgblack@eecs.umich.eduusing namespace std;
1314158Sgblack@eecs.umich.edu}};
1324158Sgblack@eecs.umich.edu
133