>+static void svm_ibs_set_cpu_caps(void) >+{ >+ kvm_cpu_cap_set(X86_FEATURE_IBS); >+ kvm_cpu_cap_set(X86_FEATURE_EXTLVT); >+ kvm_cpu_cap_set(X86_FEATURE_EXTAPIC); EXTLVT is a misnomer to me. It indicates the AVIC change about handling guest's accesses to externed LVTs rather than the presence of extended LVTs (that's what EXTAPIC is for). >+ kvm_cpu_cap_set(X86_FEATURE_IBS_AVAIL); >+ kvm_cpu_cap_set(X86_FEATURE_IBS_FETCHSAM); >+ kvm_cpu_cap_set(X86_FEATURE_IBS_OPSAM); >+ kvm_cpu_cap_set(X86_FEATURE_IBS_RDWROPCNT); >+ kvm_cpu_cap_set(X86_FEATURE_IBS_OPCNT); >+ kvm_cpu_cap_set(X86_FEATURE_IBS_BRNTRGT); >+ kvm_cpu_cap_set(X86_FEATURE_IBS_OPCNTEXT); >+ kvm_cpu_cap_set(X86_FEATURE_IBS_RIPINVALIDCHK); >+ kvm_cpu_cap_set(X86_FEATURE_IBS_OPBRNFUSE); >+ kvm_cpu_cap_set(X86_FEATURE_IBS_FETCHCTLEXTD); >+ kvm_cpu_cap_set(X86_FEATURE_IBS_ZEN4_EXT); any reason for not using kvm_cpu_cap_check_and_set(), which takes hardware capabilities into account?