From: Simon Guo <wei.guo.si...@gmail.com>

In both HV/PR KVM, the KVM_SET_ONE_REG/KVM_GET_ONE_REG ioctl should
be able to perform without load vcpu. This patch adds
KVM_SET_ONE_REG/KVM_GET_ONE_REG implementation to async ioctl
function.

Signed-off-by: Simon Guo <wei.guo.si...@gmail.com>
---
 arch/powerpc/kvm/powerpc.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 7987fa3..6afd004 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -1619,6 +1619,19 @@ long kvm_arch_vcpu_async_ioctl(struct file *filp,
                        return -EFAULT;
                return kvm_vcpu_ioctl_interrupt(vcpu, &irq);
        }
+
+       if ((ioctl == KVM_SET_ONE_REG) || (ioctl == KVM_GET_ONE_REG)) {
+               struct kvm_one_reg reg;
+
+               if (copy_from_user(&reg, argp, sizeof(reg)))
+                       return -EFAULT;
+
+               if (ioctl == KVM_SET_ONE_REG)
+                       return kvm_vcpu_ioctl_set_one_reg(vcpu, &reg);
+               else
+                       return kvm_vcpu_ioctl_get_one_reg(vcpu, &reg);
+       }
+
        return -ENOIOCTLCMD;
 }
 
-- 
1.8.3.1

Reply via email to