includes.isa revision 7965
12023SN/A// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
22023SN/A// All rights reserved.
32023SN/A//
42023SN/A// The license below extends only to copyright in the software and shall
52023SN/A// not be construed as granting a license to any other intellectual
62023SN/A// property including but not limited to intellectual property relating
72023SN/A// to a hardware implementation of the functionality of the software
82023SN/A// licensed hereunder.  You may use the software subject to the license
92023SN/A// terms below provided that you ensure that this notice is replicated
102023SN/A// unmodified and in its entirety in all distributions of the software,
112023SN/A// modified or unmodified, in source code or in binary form.
122023SN/A//
132023SN/A// Copyright (c) 2007 The Regents of The University of Michigan
142023SN/A// All rights reserved.
152023SN/A//
162023SN/A// Redistribution and use in source and binary forms, with or without
172023SN/A// modification, are permitted provided that the following conditions are
182023SN/A// met: redistributions of source code must retain the above copyright
192023SN/A// notice, this list of conditions and the following disclaimer;
202023SN/A// redistributions in binary form must reproduce the above copyright
212023SN/A// notice, this list of conditions and the following disclaimer in the
222023SN/A// documentation and/or other materials provided with the distribution;
232023SN/A// neither the name of the copyright holders nor the names of its
242023SN/A// contributors may be used to endorse or promote products derived from
252023SN/A// this software without specific prior written permission.
262023SN/A//
272665Ssaidi@eecs.umich.edu// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
282665Ssaidi@eecs.umich.edu// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
292665Ssaidi@eecs.umich.edu// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
302023SN/A// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
312023SN/A// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
322028SN/A// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
332028SN/A// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
342023SN/A// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
355228Sgblack@eecs.umich.edu// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
362597SN/A// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
372023SN/A// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
382023SN/A//
392239SN/A// Authors: Gabe Black
402239SN/A
412028SN/A////////////////////////////////////////////////////////////////////
422023SN/A//
432131SN/A// Output include file directives. Also import the python modules we
442023SN/A// need for all the x86 custom decoder stuff
452131SN/A//
462023SN/A
472525SN/Alet {{
485228Sgblack@eecs.umich.edu    import copy
495228Sgblack@eecs.umich.edu}};
502525SN/A
512447SN/Aoutput header {{
522023SN/A#include <cstring>
533093Sksewell@umich.edu#include <sstream>
543093Sksewell@umich.edu#include <iostream>
553093Sksewell@umich.edu
562972Sgblack@eecs.umich.edu#include "arch/generic/debugfaults.hh"
572972Sgblack@eecs.umich.edu#include "arch/x86/emulenv.hh"
582972Sgblack@eecs.umich.edu#include "arch/x86/insts/macroop.hh"
592972Sgblack@eecs.umich.edu#include "arch/x86/insts/microfpop.hh"
602239SN/A#include "arch/x86/insts/microldstop.hh"
612972Sgblack@eecs.umich.edu#include "arch/x86/insts/micromediaop.hh"
622972Sgblack@eecs.umich.edu#include "arch/x86/insts/microregop.hh"
632131SN/A#include "arch/x86/insts/static_inst.hh"
642972Sgblack@eecs.umich.edu#include "arch/x86/isa_traits.hh"
652972Sgblack@eecs.umich.edu#include "arch/x86/registers.hh"
664661Sksewell@umich.edu#include "arch/x86/types.hh"
672972Sgblack@eecs.umich.edu#include "base/misc.hh"
682972Sgblack@eecs.umich.edu#include "cpu/static_inst.hh"
692597SN/A#include "mem/packet.hh"
702972Sgblack@eecs.umich.edu#include "sim/faults.hh"
712972Sgblack@eecs.umich.edu
722972Sgblack@eecs.umich.eduusing X86ISA::InstRegIndex;
732972Sgblack@eecs.umich.edu}};
742972Sgblack@eecs.umich.edu
752972Sgblack@eecs.umich.eduoutput decoder {{
764772Sgblack@eecs.umich.edu#include "arch/x86/faults.hh"
774772Sgblack@eecs.umich.edu#include "arch/x86/microcode_rom.hh"
784772Sgblack@eecs.umich.edu#include "arch/x86/regs/float.hh"
794772Sgblack@eecs.umich.edu#include "arch/x86/regs/misc.hh"
802972Sgblack@eecs.umich.edu#include "arch/x86/regs/segment.hh"
812972Sgblack@eecs.umich.edu#include "arch/x86/tlb.hh"
822972Sgblack@eecs.umich.edu#include "base/cprintf.hh"
832972Sgblack@eecs.umich.edu#include "base/loader/symtab.hh"
842972Sgblack@eecs.umich.edu#include "base/misc.hh"
852972Sgblack@eecs.umich.edu#include "cpu/thread_context.hh"  // for Jump::branchTarget()
862597SN/A#include "mem/packet.hh"
872972Sgblack@eecs.umich.edu
884661Sksewell@umich.edu#if defined(linux) || defined(__APPLE__)
894772Sgblack@eecs.umich.edu#include <fenv.h>
902131SN/A#endif
912972Sgblack@eecs.umich.edu#include <algorithm>
922972Sgblack@eecs.umich.edu
932131SN/Ausing namespace X86ISA;
942972Sgblack@eecs.umich.edu}};
952131SN/A
962972Sgblack@eecs.umich.eduoutput exec {{
972972Sgblack@eecs.umich.edu#if defined(linux) || defined(__APPLE__)
982972Sgblack@eecs.umich.edu#include <fenv.h>
992972Sgblack@eecs.umich.edu#endif
1002131SN/A
1012972Sgblack@eecs.umich.edu#if defined(__sun) || defined (__OpenBSD__)
1022972Sgblack@eecs.umich.edu#include <ieeefp.h>
1032131SN/A#endif
1044661Sksewell@umich.edu
1054661Sksewell@umich.edu#if FULL_SYSTEM
1064661Sksewell@umich.edu#include "sim/pseudo_inst.hh"
1074661Sksewell@umich.edu#endif
1084661Sksewell@umich.edu
1094661Sksewell@umich.edu#include <limits>
1104661Sksewell@umich.edu
1114661Sksewell@umich.edu#include <cmath>
1124661Sksewell@umich.edu#include "arch/x86/cpuid.hh"
1134661Sksewell@umich.edu#include "arch/x86/faults.hh"
1144661Sksewell@umich.edu#include "arch/x86/regs/misc.hh"
1154661Sksewell@umich.edu#include "arch/x86/tlb.hh"
1164661Sksewell@umich.edu#include "base/bigint.hh"
1174661Sksewell@umich.edu#include "base/condcodes.hh"
1184661Sksewell@umich.edu#include "cpu/base.hh"
1194661Sksewell@umich.edu#include "cpu/exetrace.hh"
1204661Sksewell@umich.edu#include "sim/sim_exit.hh"
1214661Sksewell@umich.edu#include "mem/packet.hh"
1224661Sksewell@umich.edu#include "mem/packet_access.hh"
1234661Sksewell@umich.edu#include "mem/request.hh"
1244661Sksewell@umich.edu#include "sim/pseudo_inst.hh"
1254661Sksewell@umich.edu
1264661Sksewell@umich.eduusing namespace X86ISA;
1274661Sksewell@umich.eduusing namespace std;
1284661Sksewell@umich.edu}};
1294661Sksewell@umich.edu
1304661Sksewell@umich.edu