• P
    KVM: x86: add system attribute to retrieve full set of supported xsave states · 953b514a
    Paolo Bonzini 提交于
    mainline inclusion
    from mainline-v5.17-rc2
    commit dd6e6312
    category: feature
    bugzilla: https://gitee.com/openeuler/intel-kernel/issues/I5RQLJ
    CVE: NA
    
    Intel-SIG: commit dd6e6312 KVM: x86: add system attribute to retrieve
    full set of supported xsave states.
    
    --------------------------------
    
    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: NPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: NLin Wang <lin.x.wang@intel.com>
    953b514a
kvm.h 11.0 KB