changeset 16dec978b549 in /z/repo/gem5 details: http://repo.gem5.org/gem5?cmd=changeset;node=16dec978b549 description: arm, kvm: Automatically use the MuxingKvmGic
Automatically use the MuxingKvmGic in the VExpress_GEM5_V1 platform. This removes the need to patch the host kernel or the platform configuration when using KVM on ARM. Change-Id: Ib1ed9b3b849b80c449ef1b62b83748f3f54ada26 Reviewed-by: Curtis Dunham <curtis.dun...@arm.com> diffstat: src/dev/arm/RealView.py | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-) diffs (38 lines): diff -r 16943209ed85 -r 16dec978b549 src/dev/arm/RealView.py --- a/src/dev/arm/RealView.py Tue Feb 14 15:09:18 2017 -0600 +++ b/src/dev/arm/RealView.py Tue Feb 14 15:09:18 2017 -0600 @@ -1,4 +1,4 @@ -# Copyright (c) 2009-2015 ARM Limited +# Copyright (c) 2009-2017 ARM Limited # All rights reserved. # # The license below extends only to copyright in the software and shall @@ -57,6 +57,18 @@ from ClockDomain import SrcClockDomain from SubSystem import SubSystem +# Platforms with KVM support should generally use in-kernel GIC +# emulation. Use a GIC model that automatically switches between +# gem5's GIC model and KVM's GIC model if KVM is available. +try: + from KvmGic import MuxingKvmGic + kvm_gicv2_class = MuxingKvmGic +except ImportError: + # KVM support wasn't compiled into gem5. Fallback to a + # software-only GIC. + kvm_gicv2_class = Pl390 + pass + class AmbaPioDevice(BasicPioDevice): type = 'AmbaPioDevice' abstract = True @@ -883,7 +895,8 @@ dcc = CoreTile2A15DCC() ### On-chip devices ### - gic = Pl390(dist_addr=0x2c001000, cpu_addr=0x2c002000, it_lines=512) + gic = kvm_gicv2_class(dist_addr=0x2c001000, cpu_addr=0x2c002000, + it_lines=512) vgic = VGic(vcpu_addr=0x2c006000, hv_addr=0x2c004000, ppint=25) gicv2m = Gicv2m() gicv2m.frames = [ _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev