• Paolo Bonzini's avatar
    KVM: x86: add system attribute to retrieve full set of supported xsave states · dd6e6312
    Paolo Bonzini authored
    Because KVM_GET_SUPPORTED_CPUID is meant to be passed (by simple-minded
    VMMs) to KVM_SET_CPUID2, it cannot include any dynamic xsave states that
    have not been enabled.  Probing those, for example so that they can be
    passed to ARCH_REQ_XCOMP_GUEST_PERM, requires a new ioctl or arch_prctl.
    The latter is in fact worse, even though that is what the rest of the
    API uses, because it would require supported_xcr0 to be moved from the
    KVM module to the kernel just for this use.  In addition, the value
    would be nonsensical (or an error would have to be returned) until
    the KVM module is loaded in.
    
    Therefore, to limit the growth of system ioctls, add a /dev/kvm
    variant of KVM_{GET,HAS}_DEVICE_ATTR, and implement it in x86
    with just one group (0) and attribute (KVM_X86_XCOMP_GUEST_SUPP).
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    dd6e6312
api.rst 255 KB