kvm, arm: Move ARM-specific files to arch/arm/kvm/
This changeset moves the ARM-specific KVM CPU implementation to arch/arm/kvm/. This change is expected to keep the source tree somewhat cleaner as we start adding support for ARMv8 and KVM in-kernel interrupt controller simulation. --HG-- rename : src/cpu/kvm/ArmKvmCPU.py => src/arch/arm/kvm/ArmKvmCPU.py rename : src/cpu/kvm/arm_cpu.cc => src/arch/arm/kvm/arm_cpu.cc rename : src/cpu/kvm/arm_cpu.hh => src/arch/arm/kvm/arm_cpu.hh
This commit is contained in:
parent
e590f0d1ef
commit
06cf5cc60b
5 changed files with 57 additions and 9 deletions
|
@ -40,4 +40,4 @@ from BaseKvmCPU import BaseKvmCPU
|
|||
|
||||
class ArmKvmCPU(BaseKvmCPU):
|
||||
type = 'ArmKvmCPU'
|
||||
cxx_header = "cpu/kvm/arm_cpu.hh"
|
||||
cxx_header = "arch/arm/kvm/arm_cpu.hh"
|
50
src/arch/arm/kvm/SConscript
Normal file
50
src/arch/arm/kvm/SConscript
Normal file
|
@ -0,0 +1,50 @@
|
|||
# -*- mode:python -*-
|
||||
|
||||
# Copyright (c) 2015 ARM Limited
|
||||
# All rights reserved.
|
||||
#
|
||||
# The license below extends only to copyright in the software and shall
|
||||
# not be construed as granting a license to any other intellectual
|
||||
# property including but not limited to intellectual property relating
|
||||
# to a hardware implementation of the functionality of the software
|
||||
# licensed hereunder. You may use the software subject to the license
|
||||
# terms below provided that you ensure that this notice is replicated
|
||||
# unmodified and in its entirety in all distributions of the software,
|
||||
# modified or unmodified, in source code or in binary form.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met: redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer;
|
||||
# redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution;
|
||||
# neither the name of the copyright holders nor the names of its
|
||||
# contributors may be used to endorse or promote products derived from
|
||||
# this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
# Authors: Andreas Sandberg
|
||||
|
||||
Import('*')
|
||||
|
||||
if not (env['USE_KVM'] and env['TARGET_ISA'] == 'arm'):
|
||||
Return()
|
||||
|
||||
import platform
|
||||
host_isa = platform.machine()
|
||||
|
||||
if host_isa == "armv7l":
|
||||
SimObject('ArmKvmCPU.py')
|
||||
Source('arm_cpu.cc')
|
|
@ -37,6 +37,8 @@
|
|||
* Authors: Andreas Sandberg
|
||||
*/
|
||||
|
||||
#include "arch/arm/kvm/arm_cpu.hh"
|
||||
|
||||
#include <linux/kvm.h>
|
||||
|
||||
#include <algorithm>
|
||||
|
@ -44,7 +46,6 @@
|
|||
#include <memory>
|
||||
|
||||
#include "arch/registers.hh"
|
||||
#include "cpu/kvm/arm_cpu.hh"
|
||||
#include "cpu/kvm/base.hh"
|
||||
#include "debug/Kvm.hh"
|
||||
#include "debug/KvmContext.hh"
|
|
@ -37,8 +37,8 @@
|
|||
* Authors: Andreas Sandberg
|
||||
*/
|
||||
|
||||
#ifndef __CPU_KVM_ARM_CPU_HH__
|
||||
#define __CPU_KVM_ARM_CPU_HH__
|
||||
#ifndef __ARCH_ARM_KVM_ARM_CPU_HH__
|
||||
#define __ARCH_ARM_KVM_ARM_CPU_HH__
|
||||
|
||||
#include <set>
|
||||
#include <vector>
|
||||
|
@ -167,4 +167,4 @@ class ArmKvmCPU : public BaseKvmCPU
|
|||
static const std::set<uint64_t> invariant_regs;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif // __ARCH_ARM_KVM_ARM_CPU_HH__
|
|
@ -48,10 +48,7 @@ if env['USE_KVM']:
|
|||
Source('perfevent.cc')
|
||||
Source('timer.cc')
|
||||
|
||||
if env['TARGET_ISA'] == 'arm':
|
||||
SimObject('ArmKvmCPU.py')
|
||||
Source('arm_cpu.cc')
|
||||
elif env['TARGET_ISA'] == 'x86':
|
||||
if env['TARGET_ISA'] == 'x86':
|
||||
SimObject('X86KvmCPU.py')
|
||||
Source('x86_cpu.cc')
|
||||
|
||||
|
|
Loading…
Reference in a new issue