summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2008-12-08 16:25:27 (GMT)
committerAvi Kivity <avi@redhat.com>2008-12-31 14:55:46 (GMT)
commit1a811b6167089bcdb84284f2dc9fd0b4d0f1899d (patch)
tree6a5d9fbf78475dd7fe2f0b85aa98dd8b82b660d8
parent7f59f492da722eb3551bbe1f8f4450a21896f05d (diff)
downloadlinux-fsl-qoriq-1a811b6167089bcdb84284f2dc9fd0b4d0f1899d.tar.xz
KVM: Advertise the bug in memory region destruction as fixed
Userspace might need to act differently. Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r--include/linux/kvm.h2
-rw-r--r--virt/kvm/kvm_main.c13
2 files changed, 14 insertions, 1 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 0997e6f..4880776 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -395,6 +395,8 @@ struct kvm_trace_rec {
#if defined(CONFIG_X86)
#define KVM_CAP_DEVICE_MSI 20
#endif
+/* Bug in KVM_SET_USER_MEMORY_REGION fixed: */
+#define KVM_CAP_DESTROY_MEMORY_REGION_WORKS 21
/*
* ioctls for VM fds
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index e7644b9..e066eb1 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1905,6 +1905,17 @@ static int kvm_dev_ioctl_create_vm(void)
return fd;
}
+static long kvm_dev_ioctl_check_extension_generic(long arg)
+{
+ switch (arg) {
+ case KVM_CAP_DESTROY_MEMORY_REGION_WORKS:
+ return 1;
+ default:
+ break;
+ }
+ return kvm_dev_ioctl_check_extension(arg);
+}
+
static long kvm_dev_ioctl(struct file *filp,
unsigned int ioctl, unsigned long arg)
{
@@ -1924,7 +1935,7 @@ static long kvm_dev_ioctl(struct file *filp,
r = kvm_dev_ioctl_create_vm();
break;
case KVM_CHECK_EXTENSION:
- r = kvm_dev_ioctl_check_extension(arg);
+ r = kvm_dev_ioctl_check_extension_generic(arg);
break;
case KVM_GET_VCPU_MMAP_SIZE:
r = -EINVAL;