[linux-next:master 10210/14948] arch/powerpc/kvm/powerpc.c:716:29: error: implicit declaration of function 'kvmhv_on_pseries'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nicholas,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   fdcbcd1348f4ef713668bae1b0fa9774e1811205
commit: f771b55731fc82b1e8e9ef123f6f1b8d8c92bc63 [10210/14948] KVM: PPC: Use KVM_CAP_PPC_AIL_MODE_3
config: powerpc-randconfig-c003-20220331 (https://download.01.org/0day-ci/archive/20220331/202203311821.zttpWgVU-lkp@xxxxxxxxx/config)
compiler: powerpc-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=f771b55731fc82b1e8e9ef123f6f1b8d8c92bc63
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout f771b55731fc82b1e8e9ef123f6f1b8d8c92bc63
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash arch/powerpc/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   arch/powerpc/kvm/powerpc.c: In function 'kvm_vm_ioctl_check_extension':
>> arch/powerpc/kvm/powerpc.c:716:29: error: implicit declaration of function 'kvmhv_on_pseries' [-Werror=implicit-function-declaration]
     716 |                         if (kvmhv_on_pseries()) {
         |                             ^~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/kvmhv_on_pseries +716 arch/powerpc/kvm/powerpc.c

   593	
   594		case KVM_CAP_PPC_ALLOC_HTAB:
   595			r = hv_enabled;
   596			break;
   597	#endif /* CONFIG_PPC_BOOK3S_64 */
   598	#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
   599		case KVM_CAP_PPC_SMT:
   600			r = 0;
   601			if (kvm) {
   602				if (kvm->arch.emul_smt_mode > 1)
   603					r = kvm->arch.emul_smt_mode;
   604				else
   605					r = kvm->arch.smt_mode;
   606			} else if (hv_enabled) {
   607				if (cpu_has_feature(CPU_FTR_ARCH_300))
   608					r = 1;
   609				else
   610					r = threads_per_subcore;
   611			}
   612			break;
   613		case KVM_CAP_PPC_SMT_POSSIBLE:
   614			r = 1;
   615			if (hv_enabled) {
   616				if (!cpu_has_feature(CPU_FTR_ARCH_300))
   617					r = ((threads_per_subcore << 1) - 1);
   618				else
   619					/* P9 can emulate dbells, so allow any mode */
   620					r = 8 | 4 | 2 | 1;
   621			}
   622			break;
   623		case KVM_CAP_PPC_RMA:
   624			r = 0;
   625			break;
   626		case KVM_CAP_PPC_HWRNG:
   627			r = kvmppc_hwrng_present();
   628			break;
   629		case KVM_CAP_PPC_MMU_RADIX:
   630			r = !!(hv_enabled && radix_enabled());
   631			break;
   632		case KVM_CAP_PPC_MMU_HASH_V3:
   633			r = !!(hv_enabled && kvmppc_hv_ops->hash_v3_possible &&
   634			       kvmppc_hv_ops->hash_v3_possible());
   635			break;
   636		case KVM_CAP_PPC_NESTED_HV:
   637			r = !!(hv_enabled && kvmppc_hv_ops->enable_nested &&
   638			       !kvmppc_hv_ops->enable_nested(NULL));
   639			break;
   640	#endif
   641		case KVM_CAP_SYNC_MMU:
   642	#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
   643			r = hv_enabled;
   644	#elif defined(KVM_ARCH_WANT_MMU_NOTIFIER)
   645			r = 1;
   646	#else
   647			r = 0;
   648	#endif
   649			break;
   650	#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
   651		case KVM_CAP_PPC_HTAB_FD:
   652			r = hv_enabled;
   653			break;
   654	#endif
   655		case KVM_CAP_NR_VCPUS:
   656			/*
   657			 * Recommending a number of CPUs is somewhat arbitrary; we
   658			 * return the number of present CPUs for -HV (since a host
   659			 * will have secondary threads "offline"), and for other KVM
   660			 * implementations just count online CPUs.
   661			 */
   662			if (hv_enabled)
   663				r = min_t(unsigned int, num_present_cpus(), KVM_MAX_VCPUS);
   664			else
   665				r = min_t(unsigned int, num_online_cpus(), KVM_MAX_VCPUS);
   666			break;
   667		case KVM_CAP_MAX_VCPUS:
   668			r = KVM_MAX_VCPUS;
   669			break;
   670		case KVM_CAP_MAX_VCPU_ID:
   671			r = KVM_MAX_VCPU_IDS;
   672			break;
   673	#ifdef CONFIG_PPC_BOOK3S_64
   674		case KVM_CAP_PPC_GET_SMMU_INFO:
   675			r = 1;
   676			break;
   677		case KVM_CAP_SPAPR_MULTITCE:
   678			r = 1;
   679			break;
   680		case KVM_CAP_SPAPR_RESIZE_HPT:
   681			r = !!hv_enabled;
   682			break;
   683	#endif
   684	#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
   685		case KVM_CAP_PPC_FWNMI:
   686			r = hv_enabled;
   687			break;
   688	#endif
   689	#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
   690		case KVM_CAP_PPC_HTM:
   691			r = !!(cur_cpu_spec->cpu_user_features2 & PPC_FEATURE2_HTM) ||
   692			     (hv_enabled && cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST));
   693			break;
   694	#endif
   695	#if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE)
   696		case KVM_CAP_PPC_SECURE_GUEST:
   697			r = hv_enabled && kvmppc_hv_ops->enable_svm &&
   698				!kvmppc_hv_ops->enable_svm(NULL);
   699			break;
   700		case KVM_CAP_PPC_DAWR1:
   701			r = !!(hv_enabled && kvmppc_hv_ops->enable_dawr1 &&
   702			       !kvmppc_hv_ops->enable_dawr1(NULL));
   703			break;
   704		case KVM_CAP_PPC_RPT_INVALIDATE:
   705			r = 1;
   706			break;
   707	#endif
   708		case KVM_CAP_PPC_AIL_MODE_3:
   709			r = 0;
   710			/*
   711			 * KVM PR, POWER7, and some POWER9s don't support AIL=3 mode.
   712			 * The POWER9s can support it if the guest runs in hash mode,
   713			 * but QEMU doesn't necessarily query the capability in time.
   714			 */
   715			if (hv_enabled) {
 > 716				if (kvmhv_on_pseries()) {
   717					if (pseries_reloc_on_exception())
   718						r = 1;
   719				} else if (cpu_has_feature(CPU_FTR_ARCH_207S) &&
   720					  !cpu_has_feature(CPU_FTR_P9_RADIX_PREFETCH_BUG)) {
   721					r = 1;
   722				}
   723			}
   724			break;
   725		default:
   726			r = 0;
   727			break;
   728		}
   729		return r;
   730	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux