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