]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
KVM: PPC: Correctly report KVM_CAP_PPC_ALLOC_HTAB
authorDavid Gibson <david@gibson.dropbear.id.au>
Wed, 23 Nov 2016 05:14:07 +0000 (16:14 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Thu, 24 Nov 2016 03:23:05 +0000 (14:23 +1100)
At present KVM on powerpc always reports KVM_CAP_PPC_ALLOC_HTAB as enabled.
However, the ioctl() it advertises (KVM_PPC_ALLOCATE_HTAB) only actually
works on KVM HV.  On KVM PR it will fail with ENOTTY.

QEMU already has a workaround for this, so it's not breaking things in
practice, but it would be better to advertise this correctly.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/kvm/powerpc.c

index b5e470571470b2621781094633a76bfc645f9104..efd1183a6b16d576ea75474f57e4268cffd19937 100644 (file)
@@ -536,7 +536,6 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
 #ifdef CONFIG_PPC_BOOK3S_64
        case KVM_CAP_SPAPR_TCE:
        case KVM_CAP_SPAPR_TCE_64:
-       case KVM_CAP_PPC_ALLOC_HTAB:
        case KVM_CAP_PPC_RTAS:
        case KVM_CAP_PPC_FIXUP_HCALL:
        case KVM_CAP_PPC_ENABLE_HCALL:
@@ -545,6 +544,10 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
 #endif
                r = 1;
                break;
+
+       case KVM_CAP_PPC_ALLOC_HTAB:
+               r = hv_enabled;
+               break;
 #endif /* CONFIG_PPC_BOOK3S_64 */
 #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
        case KVM_CAP_PPC_SMT: