diff options
author | Andreas Sandberg <andreas@sandberg.pp.se> | 2013-05-14 16:02:45 +0200 |
---|---|---|
committer | Andreas Sandberg <andreas@sandberg.pp.se> | 2013-05-14 16:02:45 +0200 |
commit | 4e52789c6db91cd292e2de933c7c797e24fa870f (patch) | |
tree | 137cdcac6264cb1104fe2d1adb6330f7eff31873 /src/cpu/kvm/base.cc | |
parent | 3ba93822ccae1dcc5e47c6909d7e690d784ec0e1 (diff) | |
download | gem5-4e52789c6db91cd292e2de933c7c797e24fa870f.tar.xz |
kvm: Add support for disabling coalesced MMIO
Add the option useCoalescedMMIO to the BaseKvmCPU. The default
behavior is to disable coalesced MMIO since this hasn't been heavily
tested.
Diffstat (limited to 'src/cpu/kvm/base.cc')
-rw-r--r-- | src/cpu/kvm/base.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/cpu/kvm/base.cc b/src/cpu/kvm/base.cc index 7435d4364..bc650aee9 100644 --- a/src/cpu/kvm/base.cc +++ b/src/cpu/kvm/base.cc @@ -133,6 +133,9 @@ BaseKvmCPU::init() void BaseKvmCPU::startup() { + const BaseKvmCPUParams * const p( + dynamic_cast<const BaseKvmCPUParams *>(params())); + Kvm &kvm(vm.kvm); BaseCPU::startup(); @@ -159,7 +162,9 @@ BaseKvmCPU::startup() // available. The offset into the KVM's communication page is // provided by the coalesced MMIO capability. int mmioOffset(kvm.capCoalescedMMIO()); - if (mmioOffset) { + if (!p->useCoalescedMMIO) { + inform("KVM: Coalesced MMIO disabled by config.\n"); + } else if (mmioOffset) { inform("KVM: Coalesced IO available\n"); mmioRing = (struct kvm_coalesced_mmio_ring *)( (char *)_kvmRun + (mmioOffset * pageSize)); |