summaryrefslogtreecommitdiff
path: root/src/cpu/kvm/base.cc
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas@sandberg.pp.se>2013-05-14 16:02:45 +0200
committerAndreas Sandberg <andreas@sandberg.pp.se>2013-05-14 16:02:45 +0200
commit4e52789c6db91cd292e2de933c7c797e24fa870f (patch)
tree137cdcac6264cb1104fe2d1adb6330f7eff31873 /src/cpu/kvm/base.cc
parent3ba93822ccae1dcc5e47c6909d7e690d784ec0e1 (diff)
downloadgem5-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.cc7
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));