mirror of https://gitee.com/openkylin/qemu.git
kvm: Switch to unlocked MMIO
Do not take the BQL before dispatching MMIO requests of KVM VCPUs. Instead, address_space_rw will do it if necessary. This enables completely BQL-free MMIO handling in KVM mode for upcoming devices with fine-grained locking. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1434646046-27150-10-git-send-email-pbonzini@redhat.com>
This commit is contained in:
parent
7070e085d4
commit
de7ea885c5
|
@ -1814,13 +1814,12 @@ int kvm_cpu_exec(CPUState *cpu)
|
|||
break;
|
||||
case KVM_EXIT_MMIO:
|
||||
DPRINTF("handle_mmio\n");
|
||||
qemu_mutex_lock_iothread();
|
||||
/* Called outside BQL */
|
||||
address_space_rw(&address_space_memory,
|
||||
run->mmio.phys_addr, attrs,
|
||||
run->mmio.data,
|
||||
run->mmio.len,
|
||||
run->mmio.is_write);
|
||||
qemu_mutex_unlock_iothread();
|
||||
ret = 0;
|
||||
break;
|
||||
case KVM_EXIT_IRQ_WINDOW_OPEN:
|
||||
|
|
Loading…
Reference in New Issue