From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx> Move processor compatibility check from kvm_arch_processor_compat() into kvm_arch_hardware_setup(). The check does model name comparison with a global variable, cur_cpu_spec. There is no point to check it at run time on all processors. Suggested-by: Sean Christopherson <seanjc@xxxxxxxxxx> Signed-off-by: Isaku Yamahata <isaku.yamahata@xxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: Fabiano Rosas <farosas@xxxxxxxxxxxxx> --- arch/powerpc/kvm/powerpc.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c index 7b56d6ccfdfb..7e3a6659f107 100644 --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c @@ -444,12 +444,21 @@ int kvm_arch_hardware_enable(void) int kvm_arch_hardware_setup(void *opaque) { - return 0; + /* + * kvmppc_core_check_processor_compat() checks the global variable. + * No point to check on all processors or at runtime. + * arch/powerpc/kvm/book3s.c: return 0 + * arch/powerpc/kvm/e500.c: strcmp(cur_cpu_spec->cpu_name, "e500v2") + * arch/powerpc/kvm/e500mc.c: strcmp(cur_cpu_spec->cpu_name, "e500mc") + * strcmp(cur_cpu_spec->cpu_name, "e5500") + * strcmp(cur_cpu_spec->cpu_name, "e6500") + */ + return kvmppc_core_check_processor_compat(); } int kvm_arch_check_processor_compat(void) { - return kvmppc_core_check_processor_compat(); + return 0; } int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) -- 2.25.1