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:
Andreas Sandberg 2015-06-01 19:43:40 +01:00
parent e590f0d1ef
commit 06cf5cc60b
5 changed files with 57 additions and 9 deletions

View file

@ -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"

View 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')

View file

@ -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"

View file

@ -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__

View file

@ -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')