Hi Jacob, I love your patch! Yet something to improve: [auto build test ERROR on iommu/next] [also build test ERROR on linux/master linus/master v5.12-rc1 next-20210303] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Jacob-Pan/Misc-vSVA-fixes-for-VT-d/20210219-141141 base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next config: ia64-randconfig-r023-20210304 (attached as .config) compiler: ia64-linux-gcc (GCC) 9.3.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://github.com/0day-ci/linux/commit/4c1de3403ecb6f91cc1bdc5e3ca81f16a2ffc0b5 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Jacob-Pan/Misc-vSVA-fixes-for-VT-d/20210219-141141 git checkout 4c1de3403ecb6f91cc1bdc5e3ca81f16a2ffc0b5 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/ia64/include/asm/pgtable.h:154, from include/linux/pgtable.h:6, from include/linux/mm.h:33, from include/linux/scatterlist.h:8, from include/linux/dma-mapping.h:10, from include/linux/iova.h:16, from include/linux/intel-iommu.h:14, from drivers/iommu/intel/pasid.c:15: arch/ia64/include/asm/mmu_context.h: In function 'reload_context': arch/ia64/include/asm/mmu_context.h:127:41: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable] 127 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4; | ^~~~~~~ drivers/iommu/intel/pasid.c: In function 'pasid_enable_wpe': >> drivers/iommu/intel/pasid.c:536:22: error: implicit declaration of function 'read_cr0' [-Werror=implicit-function-declaration] 536 | unsigned long cr0 = read_cr0(); | ^~~~~~~~ In file included from include/linux/build_bug.h:5, from include/linux/bits.h:22, from include/linux/bitops.h:6, from drivers/iommu/intel/pasid.c:12: >> drivers/iommu/intel/pasid.c:539:23: error: 'X86_CR0_WP' undeclared (first use in this function) 539 | if (unlikely(!(cr0 & X86_CR0_WP))) { | ^~~~~~~~~~ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ drivers/iommu/intel/pasid.c:539:23: note: each undeclared identifier is reported only once for each function it appears in 539 | if (unlikely(!(cr0 & X86_CR0_WP))) { | ^~~~~~~~~~ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ cc1: some warnings being treated as errors vim +/read_cr0 +536 drivers/iommu/intel/pasid.c 533 534 static inline int pasid_enable_wpe(struct pasid_entry *pte) 535 { > 536 unsigned long cr0 = read_cr0(); 537 538 /* CR0.WP is normally set but just to be sure */ > 539 if (unlikely(!(cr0 & X86_CR0_WP))) { 540 pr_err_ratelimited("No CPU write protect!\n"); 541 return -EINVAL; 542 } 543 pasid_set_wpe(pte); 544 545 return 0; 546 }; 547 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org