While I'm a little surprise to see an i386 build pulling in vfio_fsl_mc, I see that CONFIG_FSL_MC_BUS does enable compile testing on various other archs. I assume therefore that this is just the lack of the necessary fsl-bus series to enable the vfio_fsl_mc driver. Both should be present in the next linux-next tree and I'm aware to send my pull request after GregKH's to get the ordering of these correct in mainline. Please let me know if there are any other concerns from anyone. Thanks, Alex On Tue, 13 Oct 2020 05:59:09 +0800 kernel test robot <lkp@xxxxxxxxx> wrote: > tree: https://github.com/awilliam/linux-vfio.git next > head: 2099363255f123f6c9abcfa8531bbec65a8f1820 > commit: 67247289688d49a610a956c23c4ff032f0281845 [19/27] vfio/fsl-mc: Allow userspace to MMAP fsl-mc device MMIO regions > config: i386-allyesconfig (attached as .config) > compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 > reproduce (this is a W=1 build): > # https://github.com/awilliam/linux-vfio/commit/67247289688d49a610a956c23c4ff032f0281845 > git remote add vfio https://github.com/awilliam/linux-vfio.git > git fetch --no-tags vfio next > git checkout 67247289688d49a610a956c23c4ff032f0281845 > # save the attached .config to linux build tree > make W=1 ARCH=i386 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > All errors (new ones prefixed by >>): > > drivers/vfio/fsl-mc/vfio_fsl_mc.c: In function 'vfio_fsl_mc_mmap_mmio': > >> drivers/vfio/fsl-mc/vfio_fsl_mc.c:189:36: error: 'FSL_MC_REGION_CACHEABLE' undeclared (first use in this function) > 189 | region_cacheable = (region.type & FSL_MC_REGION_CACHEABLE) && > | ^~~~~~~~~~~~~~~~~~~~~~~ > drivers/vfio/fsl-mc/vfio_fsl_mc.c:189:36: note: each undeclared identifier is reported only once for each function it appears in > >> drivers/vfio/fsl-mc/vfio_fsl_mc.c:190:22: error: 'FSL_MC_REGION_SHAREABLE' undeclared (first use in this function) > 190 | (region.type & FSL_MC_REGION_SHAREABLE); > | ^~~~~~~~~~~~~~~~~~~~~~~ > drivers/vfio/fsl-mc/vfio_fsl_mc.c: In function 'vfio_fsl_mc_bus_notifier': > drivers/vfio/fsl-mc/vfio_fsl_mc.c:256:9: error: 'struct fsl_mc_device' has no member named 'driver_override' > 256 | mc_dev->driver_override = kasprintf(GFP_KERNEL, "%s", > | ^~ > drivers/vfio/fsl-mc/vfio_fsl_mc.c:258:14: error: 'struct fsl_mc_device' has no member named 'driver_override' > 258 | if (!mc_dev->driver_override) > | ^~ > drivers/vfio/fsl-mc/vfio_fsl_mc.c: In function 'vfio_fsl_mc_init_device': > drivers/vfio/fsl-mc/vfio_fsl_mc.c:295:8: error: implicit declaration of function 'dprc_setup' [-Werror=implicit-function-declaration] > 295 | ret = dprc_setup(mc_dev); > | ^~~~~~~~~~ > drivers/vfio/fsl-mc/vfio_fsl_mc.c:301:8: error: implicit declaration of function 'dprc_scan_container' [-Werror=implicit-function-declaration] > 301 | ret = dprc_scan_container(mc_dev, false); > | ^~~~~~~~~~~~~~~~~~~ > drivers/vfio/fsl-mc/vfio_fsl_mc.c:310:2: error: implicit declaration of function 'dprc_remove_devices' [-Werror=implicit-function-declaration] > 310 | dprc_remove_devices(mc_dev, NULL, 0); > | ^~~~~~~~~~~~~~~~~~~ > drivers/vfio/fsl-mc/vfio_fsl_mc.c:311:2: error: implicit declaration of function 'dprc_cleanup' [-Werror=implicit-function-declaration] > 311 | dprc_cleanup(mc_dev); > | ^~~~~~~~~~~~ > cc1: some warnings being treated as errors > > vim +/FSL_MC_REGION_CACHEABLE +189 drivers/vfio/fsl-mc/vfio_fsl_mc.c > > 174 > 175 static int vfio_fsl_mc_mmap_mmio(struct vfio_fsl_mc_region region, > 176 struct vm_area_struct *vma) > 177 { > 178 u64 size = vma->vm_end - vma->vm_start; > 179 u64 pgoff, base; > 180 u8 region_cacheable; > 181 > 182 pgoff = vma->vm_pgoff & > 183 ((1U << (VFIO_FSL_MC_OFFSET_SHIFT - PAGE_SHIFT)) - 1); > 184 base = pgoff << PAGE_SHIFT; > 185 > 186 if (region.size < PAGE_SIZE || base + size > region.size) > 187 return -EINVAL; > 188 > > 189 region_cacheable = (region.type & FSL_MC_REGION_CACHEABLE) && > > 190 (region.type & FSL_MC_REGION_SHAREABLE); > 191 if (!region_cacheable) > 192 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); > 193 > 194 vma->vm_pgoff = (region.addr >> PAGE_SHIFT) + pgoff; > 195 > 196 return remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, > 197 size, vma->vm_page_prot); > 198 } > 199 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx