]> err.no Git - linux-2.6/commit
KVM: Do not communicate to userspace through cpu registers during PIO
authorAvi Kivity <avi@qumranet.com>
Thu, 22 Feb 2007 17:39:30 +0000 (19:39 +0200)
committerAvi Kivity <avi@qumranet.com>
Thu, 3 May 2007 07:52:23 +0000 (10:52 +0300)
commit46fc1477887c41c8e900f2c95485e222b9a54822
treeef9d4d4b6fc32f3d6b4e77a87d1b47b6da455574
parent9a2bb7f486dc639a1cf2ad803bf2227f0dc0809d
KVM: Do not communicate to userspace through cpu registers during PIO

Currently when passing the a PIO emulation request to userspace, we
rely on userspace updating %rax (on 'in' instructions) and %rsi/%rdi/%rcx
(on string instructions).  This (a) requires two extra ioctls for getting
and setting the registers and (b) is unfriendly to non-x86 archs, when
they get kvm ports.

So fix by doing the register fixups in the kernel and passing to userspace
only an abstract description of the PIO to be done.

Signed-off-by: Avi Kivity <avi@qumranet.com>
drivers/kvm/kvm.h
drivers/kvm/kvm_main.c
drivers/kvm/svm.c
drivers/kvm/vmx.c
include/linux/kvm.h