Message ID | 20220518170118.66263-1-likexu@tencent.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] KVM: x86/pmu: Move the vmx_icl_pebs_cpu[] definition out of the header file | expand |
Queued all three, thanks. Paolo On Wed, May 18, 2022 at 7:01 PM Like Xu <like.xu.linux@gmail.com> wrote: > > From: Like Xu <likexu@tencent.com> > > Defining a static const array in a header file would introduce redundant > definitions to the point of confusing semantics, and such a use case would > only bring complaints from the compiler: > > arch/x86/kvm/pmu.h:20:32: warning: ‘vmx_icl_pebs_cpu’ defined but not used [-Wunused-const-variable=] > 20 | static const struct x86_cpu_id vmx_icl_pebs_cpu[] = { > | ^~~~~~~~~~~~~~~~ > > Fixes: a095df2c5f48 ("KVM: x86/pmu: Adjust precise_ip to emulate Ice Lake guest PDIR counter") > Signed-off-by: Like Xu <likexu@tencent.com> > --- > arch/x86/kvm/pmu.c | 7 +++++++ > arch/x86/kvm/pmu.h | 8 -------- > 2 files changed, 7 insertions(+), 8 deletions(-) > > diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c > index b5d0c36b869b..a2eaae85d97b 100644 > --- a/arch/x86/kvm/pmu.c > +++ b/arch/x86/kvm/pmu.c > @@ -16,6 +16,7 @@ > #include <linux/bsearch.h> > #include <linux/sort.h> > #include <asm/perf_event.h> > +#include <asm/cpu_device_id.h> > #include "x86.h" > #include "cpuid.h" > #include "lapic.h" > @@ -27,6 +28,12 @@ > struct x86_pmu_capability __read_mostly kvm_pmu_cap; > EXPORT_SYMBOL_GPL(kvm_pmu_cap); > > +static const struct x86_cpu_id vmx_icl_pebs_cpu[] = { > + X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_D, NULL), > + X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X, NULL), > + {} > +}; > + > /* NOTE: > * - Each perf counter is defined as "struct kvm_pmc"; > * - There are two types of perf counters: general purpose (gp) and fixed. > diff --git a/arch/x86/kvm/pmu.h b/arch/x86/kvm/pmu.h > index dbf4c83519a4..ecf2962510e4 100644 > --- a/arch/x86/kvm/pmu.h > +++ b/arch/x86/kvm/pmu.h > @@ -4,8 +4,6 @@ > > #include <linux/nospec.h> > > -#include <asm/cpu_device_id.h> > - > #define vcpu_to_pmu(vcpu) (&(vcpu)->arch.pmu) > #define pmu_to_vcpu(pmu) (container_of((pmu), struct kvm_vcpu, arch.pmu)) > #define pmc_to_pmu(pmc) (&(pmc)->vcpu->arch.pmu) > @@ -17,12 +15,6 @@ > #define VMWARE_BACKDOOR_PMC_REAL_TIME 0x10001 > #define VMWARE_BACKDOOR_PMC_APPARENT_TIME 0x10002 > > -static const struct x86_cpu_id vmx_icl_pebs_cpu[] = { > - X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_D, NULL), > - X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X, NULL), > - {} > -}; > - > struct kvm_event_hw_type_mapping { > u8 eventsel; > u8 unit_mask; > -- > 2.36.1 >
diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c index b5d0c36b869b..a2eaae85d97b 100644 --- a/arch/x86/kvm/pmu.c +++ b/arch/x86/kvm/pmu.c @@ -16,6 +16,7 @@ #include <linux/bsearch.h> #include <linux/sort.h> #include <asm/perf_event.h> +#include <asm/cpu_device_id.h> #include "x86.h" #include "cpuid.h" #include "lapic.h" @@ -27,6 +28,12 @@ struct x86_pmu_capability __read_mostly kvm_pmu_cap; EXPORT_SYMBOL_GPL(kvm_pmu_cap); +static const struct x86_cpu_id vmx_icl_pebs_cpu[] = { + X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_D, NULL), + X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X, NULL), + {} +}; + /* NOTE: * - Each perf counter is defined as "struct kvm_pmc"; * - There are two types of perf counters: general purpose (gp) and fixed. diff --git a/arch/x86/kvm/pmu.h b/arch/x86/kvm/pmu.h index dbf4c83519a4..ecf2962510e4 100644 --- a/arch/x86/kvm/pmu.h +++ b/arch/x86/kvm/pmu.h @@ -4,8 +4,6 @@ #include <linux/nospec.h> -#include <asm/cpu_device_id.h> - #define vcpu_to_pmu(vcpu) (&(vcpu)->arch.pmu) #define pmu_to_vcpu(pmu) (container_of((pmu), struct kvm_vcpu, arch.pmu)) #define pmc_to_pmu(pmc) (&(pmc)->vcpu->arch.pmu) @@ -17,12 +15,6 @@ #define VMWARE_BACKDOOR_PMC_REAL_TIME 0x10001 #define VMWARE_BACKDOOR_PMC_APPARENT_TIME 0x10002 -static const struct x86_cpu_id vmx_icl_pebs_cpu[] = { - X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_D, NULL), - X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X, NULL), - {} -}; - struct kvm_event_hw_type_mapping { u8 eventsel; u8 unit_mask;