KVM: Fix page-crossing MMIO
authorAvi Kivity <avi@redhat.com>
Wed, 18 Apr 2012 16:22:47 +0000 (19:22 +0300)
committerMarcelo Tosatti <mtosatti@redhat.com>
Thu, 19 Apr 2012 23:35:07 +0000 (20:35 -0300)
commitf78146b0f9230765c6315b2e14f56112513389ad
tree2e6780f2989c73c1bf214a5728514c1dc8e15f09
parenteac0556750e727ff39144a9a9e59d5ccf1fc0e2a
KVM: Fix page-crossing MMIO

MMIO that are split across a page boundary are currently broken - the
code does not expect to be aborted by the exit to userspace for the
first MMIO fragment.

This patch fixes the problem by generalizing the current code for handling
16-byte MMIOs to handle a number of "fragments", and changes the MMIO
code to create those fragments.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/ia64/include/asm/kvm_host.h
arch/ia64/kvm/kvm-ia64.c
arch/x86/kvm/x86.c
include/linux/kvm_host.h