From: Alexandru Dutu Date: Mon, 24 Nov 2014 02:01:08 +0000 (-0800) Subject: config, kvm: Enabling KvmCPU in SE mode X-Git-Tag: stable_2015_04_15~112 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a19cf6943b58d9d76dd7256705394e002500a464;p=gem5.git config, kvm: Enabling KvmCPU in SE mode This patch modifies se.py such that it can now use kvm cpu model. --- diff --git a/configs/example/se.py b/configs/example/se.py index 83eabdc83..eb8448270 100644 --- a/configs/example/se.py +++ b/configs/example/se.py @@ -62,6 +62,13 @@ import MemConfig from Caches import * from cpu2000 import * +# Check if KVM support has been enabled, we might need to do VM +# configuration if that's the case. +have_kvm_support = 'BaseKvmCPU' in globals() +def is_kvm_cpu(cpu_class): + return have_kvm_support and cpu_class != None and \ + issubclass(cpu_class, BaseKvmCPU) + def get_processes(options): """Interprets provided options and returns a list of processes""" @@ -187,6 +194,15 @@ system.cpu_clk_domain = SrcClockDomain(clock = options.cpu_clock, for cpu in system.cpu: cpu.clk_domain = system.cpu_clk_domain +if is_kvm_cpu(CPUClass) or is_kvm_cpu(FutureClass): + if buildEnv['TARGET_ISA'] == 'x86': + system.vm = KvmVM() + for process in multiprocesses: + process.useArchPT = True + process.kvmInSE = True + else: + fatal("KvmCPU can only be used in SE mode with x86") + # Sanity check if options.fastmem: if CPUClass != AtomicSimpleCPU: