KVM: PPC: Enable the PAPR CAP for Book3S
authorAlexander Graf <agraf@suse.de>
Mon, 8 Aug 2011 15:29:42 +0000 (17:29 +0200)
committerAvi Kivity <avi@redhat.com>
Sun, 25 Sep 2011 16:52:26 +0000 (19:52 +0300)
Now that Book3S PV mode can also run PAPR guests, we can add a PAPR cap and
enable it for all Book3S targets. Enabling that CAP switches KVM into PAPR
mode.

Signed-off-by: Alexander Graf <agraf@suse.de>
arch/powerpc/kvm/powerpc.c
include/linux/kvm.h

index 17a5c83..13bc798 100644 (file)
@@ -189,6 +189,7 @@ int kvm_dev_ioctl_check_extension(long ext)
 #else
        case KVM_CAP_PPC_SEGSTATE:
        case KVM_CAP_PPC_HIOR:
+       case KVM_CAP_PPC_PAPR:
 #endif
        case KVM_CAP_PPC_UNSET_IRQ:
        case KVM_CAP_PPC_IRQ_LEVEL:
@@ -572,6 +573,10 @@ static int kvm_vcpu_ioctl_enable_cap(struct kvm_vcpu *vcpu,
                r = 0;
                vcpu->arch.osi_enabled = true;
                break;
+       case KVM_CAP_PPC_PAPR:
+               r = 0;
+               vcpu->arch.papr_enabled = true;
+               break;
        default:
                r = -EINVAL;
                break;
index 490b041..6884054 100644 (file)
@@ -555,6 +555,7 @@ struct kvm_ppc_pvinfo {
 #define KVM_CAP_PPC_RMA        65
 #define KVM_CAP_MAX_VCPUS 66       /* returns max vcpus per vm */
 #define KVM_CAP_PPC_HIOR 67
+#define KVM_CAP_PPC_PAPR 68
 #define KVM_CAP_S390_GMAP 71
 
 #ifdef KVM_CAP_IRQ_ROUTING