summaryrefslogtreecommitdiff
path: root/arch/x86/kvm/x86.c
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw@amazon.co.uk>2021-02-02 13:19:35 +0000
committerDavid Woodhouse <dwmw@amazon.co.uk>2021-02-04 14:19:38 +0000
commit78e9878cb376969d184a4b7fff392528fe17a3ce (patch)
treeddb72b6e09dce019e2e883da15908103f06a626b /arch/x86/kvm/x86.c
parent79033bebf6fa3045bfa9bbe543c0eb7b43a0f4a3 (diff)
downloadlwn-78e9878cb376969d184a4b7fff392528fe17a3ce.tar.gz
lwn-78e9878cb376969d184a4b7fff392528fe17a3ce.zip
KVM: x86/xen: Move KVM_XEN_HVM_CONFIG handling to xen.c
This is already more complex than the simple memcpy it originally had. Move it to xen.c with the rest of the Xen support. Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r--arch/x86/kvm/x86.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 5a41d465134d..673dcc6fde7e 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5627,19 +5627,7 @@ set_pit2_out:
r = -EFAULT;
if (copy_from_user(&xhc, argp, sizeof(xhc)))
goto out;
- r = -EINVAL;
- if (xhc.flags & ~KVM_XEN_HVM_CONFIG_INTERCEPT_HCALL)
- goto out;
- /*
- * With hypercall interception the kernel generates its own
- * hypercall page so it must not be provided.
- */
- if ((xhc.flags & KVM_XEN_HVM_CONFIG_INTERCEPT_HCALL) &&
- (xhc.blob_addr_32 || xhc.blob_addr_64 ||
- xhc.blob_size_32 || xhc.blob_size_64))
- goto out;
- memcpy(&kvm->arch.xen_hvm_config, &xhc, sizeof(xhc));
- r = 0;
+ r = kvm_xen_hvm_config(kvm, &xhc);
break;
}
case KVM_SET_CLOCK: {