arch/arm64/kvm/hyp/nvhe/setup.c:133:17: warning: no previous prototype for '__pkvm_init_finalise'

From: kernel test robot
Date: Sat Apr 09 2022 - 18:17:39 EST


Hi Quentin,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e1f700ebd6bea293abe3c7e2807b252018efde01
commit: f320bc742bc23c1d43567712fe2814bf04b19ebc KVM: arm64: Prepare the creation of s1 mappings at EL2
date: 1 year, 1 month ago
config: arm64-randconfig-r002-20220410 (https://download.01.org/0day-ci/archive/20220410/202204100501.3dZ5BTDU-lkp@xxxxxxxxx/config)
compiler: aarch64-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/torvalds/linux.git/commit/?id=f320bc742bc23c1d43567712fe2814bf04b19ebc
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout f320bc742bc23c1d43567712fe2814bf04b19ebc
# 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=arm64 SHELL=/bin/bash arch/arm64/kvm/

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

All warnings (new ones prefixed by >>):

>> arch/arm64/kvm/hyp/nvhe/setup.c:133:17: warning: no previous prototype for '__pkvm_init_finalise' [-Wmissing-prototypes]
133 | void __noreturn __pkvm_init_finalise(void)
| ^~~~~~~~~~~~~~~~~~~~


vim +/__pkvm_init_finalise +133 arch/arm64/kvm/hyp/nvhe/setup.c

132
> 133 void __noreturn __pkvm_init_finalise(void)
134 {
135 struct kvm_host_data *host_data = this_cpu_ptr(&kvm_host_data);
136 struct kvm_cpu_context *host_ctxt = &host_data->host_ctxt;
137 unsigned long nr_pages, reserved_pages, pfn;
138 int ret;
139
140 /* Now that the vmemmap is backed, install the full-fledged allocator */
141 pfn = hyp_virt_to_pfn(hyp_pgt_base);
142 nr_pages = hyp_s1_pgtable_pages();
143 reserved_pages = hyp_early_alloc_nr_used_pages();
144 ret = hyp_pool_init(&hpool, pfn, nr_pages, reserved_pages);
145 if (ret)
146 goto out;
147
148 pkvm_pgtable_mm_ops = (struct kvm_pgtable_mm_ops) {
149 .zalloc_page = hyp_zalloc_hyp_page,
150 .phys_to_virt = hyp_phys_to_virt,
151 .virt_to_phys = hyp_virt_to_phys,
152 .get_page = hyp_get_page,
153 .put_page = hyp_put_page,
154 };
155 pkvm_pgtable.mm_ops = &pkvm_pgtable_mm_ops;
156
157 out:
158 /*
159 * We tail-called to here from handle___pkvm_init() and will not return,
160 * so make sure to propagate the return value to the host.
161 */
162 cpu_reg(host_ctxt, 1) = ret;
163
164 __host_enter(host_ctxt);
165 }
166

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