SConscript revision 9883
12139SN/A# -*- mode:python -*- 22139SN/A 32139SN/A# Copyright (c) 2012 ARM Limited 42139SN/A# All rights reserved. 52139SN/A# 62139SN/A# The license below extends only to copyright in the software and shall 72139SN/A# not be construed as granting a license to any other intellectual 82139SN/A# property including but not limited to intellectual property relating 92139SN/A# to a hardware implementation of the functionality of the software 102139SN/A# licensed hereunder. You may use the software subject to the license 112139SN/A# terms below provided that you ensure that this notice is replicated 122139SN/A# unmodified and in its entirety in all distributions of the software, 132139SN/A# modified or unmodified, in source code or in binary form. 142139SN/A# 152139SN/A# Redistribution and use in source and binary forms, with or without 162139SN/A# modification, are permitted provided that the following conditions are 172139SN/A# met: redistributions of source code must retain the above copyright 182139SN/A# notice, this list of conditions and the following disclaimer; 192139SN/A# redistributions in binary form must reproduce the above copyright 202139SN/A# notice, this list of conditions and the following disclaimer in the 212139SN/A# documentation and/or other materials provided with the distribution; 222139SN/A# neither the name of the copyright holders nor the names of its 232139SN/A# contributors may be used to endorse or promote products derived from 242139SN/A# this software without specific prior written permission. 252139SN/A# 262139SN/A# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 272139SN/A# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 282665Ssaidi@eecs.umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 292665Ssaidi@eecs.umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 302139SN/A# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 312718Sstever@eecs.umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 322139SN/A# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 332139SN/A# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 342139SN/A# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 352139SN/A# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 362152SN/A# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 372152SN/A# 382152SN/A# Authors: Andreas Sandberg 392152SN/A 402139SN/AImport('*') 412139SN/A 422139SN/Aif env['USE_KVM']: 432139SN/A SimObject('KvmVM.py') 442139SN/A SimObject('BaseKvmCPU.py') 452152SN/A 462152SN/A Source('base.cc') 472139SN/A Source('vm.cc') 482139SN/A Source('perfevent.cc') 492139SN/A Source('timer.cc') 502984Sgblack@eecs.umich.edu 512439SN/A if env['TARGET_ISA'] == 'arm': 522139SN/A SimObject('ArmKvmCPU.py') 533170Sstever@eecs.umich.edu Source('arm_cpu.cc') 542439SN/A elif env['TARGET_ISA'] == 'x86': 552460SN/A SimObject('X86KvmCPU.py') 562439SN/A Source('x86_cpu.cc') 572972Sgblack@eecs.umich.edu 582171SN/A DebugFlag('Kvm', 'Basic KVM Functionality') 592439SN/A DebugFlag('KvmContext', 'KVM/gem5 context synchronization') 602439SN/A DebugFlag('KvmIO', 'KVM MMIO diagnostics') 612170SN/A DebugFlag('KvmInt', 'KVM Interrupt handling') 622139SN/A DebugFlag('KvmRun', 'KvmRun entry/exit diagnostics') 632139SN/A DebugFlag('KvmTimer', 'KVM timing') 642139SN/A 652139SN/A CompoundFlag('KvmAll', [ 'Kvm', 'KvmContext', 'KvmRun', 662139SN/A 'KvmIO', 'KvmInt', 'KvmTimer' ], 672139SN/A 'All KVM debug flags') 682139SN/A