diff --git a/src/arch/arm/kvm/KvmGic.py b/src/arch/arm/kvm/KvmGic.py index 9796908ddb..ce85ecb0bd 100644 --- a/src/arch/arm/kvm/KvmGic.py +++ b/src/arch/arm/kvm/KvmGic.py @@ -41,3 +41,6 @@ from m5.objects.Gic import GicV2 class MuxingKvmGic(GicV2): type = 'MuxingKvmGic' cxx_header = "arch/arm/kvm/gic.hh" + + simulate_gic = Param.Bool(False, + "Forcing the simulation to use the gem5 GIC instead of the host GIC") diff --git a/src/arch/arm/kvm/gic.cc b/src/arch/arm/kvm/gic.cc index 6767833524..feb764f8d6 100644 --- a/src/arch/arm/kvm/gic.cc +++ b/src/arch/arm/kvm/gic.cc @@ -170,7 +170,8 @@ MuxingKvmGic::MuxingKvmGic(const MuxingKvmGicParams &p) kernelGic(nullptr), usingKvm(false) { - if (auto vm = system.getKvmVM()) { + auto vm = system.getKvmVM(); + if (vm && !p.simulate_gic) { kernelGic = new KvmKernelGicV2(*vm, p.cpu_addr, p.dist_addr, p.it_lines); }