diff options
Diffstat (limited to 'src/cpu/kvm/x86_cpu.cc')
-rw-r--r-- | src/cpu/kvm/x86_cpu.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/cpu/kvm/x86_cpu.cc b/src/cpu/kvm/x86_cpu.cc index bdbdadf71..467e1baaf 100644 --- a/src/cpu/kvm/x86_cpu.cc +++ b/src/cpu/kvm/x86_cpu.cc @@ -1346,10 +1346,9 @@ X86KvmCPU::handleKvmExitIO() } const MemCmd cmd(isWrite ? MemCmd::WriteReq : MemCmd::ReadReq); - // Temporarily lock and migrate to the event queue of the - // VM. This queue is assumed to "own" all devices we need to - // access if running in multi-core mode. - EventQueue::ScopedMigration migrate(vm.eventQueue()); + // Temporarily lock and migrate to the device event queue to + // prevent races in multi-core mode. + EventQueue::ScopedMigration migrate(deviceEventQueue()); for (int i = 0; i < count; ++i) { RequestPtr io_req = new Request(pAddr, kvm_run.io.size, Request::UNCACHEABLE, dataMasterId()); |