Re: [PATCH 2/2] KVMM: Memory and interface related changes
Hi Anastassios, Thank you for the patch! Yet something to improve: [auto build test ERROR on v5.7-rc6] [cannot apply to kvm/linux-next kvmarm/next tip/x86/core next-20200515] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Anastassios-Nanos/Expose-KVM-API-to-Linux-Kernel/20200518-150402 base:b9bbe6ed63b2b9f2c9ee5cbd0f2c946a2723f4ce config: powerpc-defconfig (attached as .config) compiler: powerpc64-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot All errors (new ones prefixed by >>, old ones prefixed by <<): arch/powerpc/kvm/../../../virt/kvm/kvm_main.c: In function 'hva_to_pfn_slow': >> arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:1837:4: error: 'npages_local' >> undeclared (first use in this function) 1837 |npages_local = 1; |^~~~ arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:1837:4: note: each undeclared identifier is reported only once for each function it appears in vim +/npages_local +1837 arch/powerpc/kvm/../../../virt/kvm/kvm_main.c 1800 1801 /* 1802 * The slow path to get the pfn of the specified host virtual address, 1803 * 1 indicates success, -errno is returned if error is detected. 1804 */ 1805 static int hva_to_pfn_slow(unsigned long addr, bool *async, bool write_fault, 1806 bool *writable, kvm_pfn_t *pfn) 1807 { 1808 unsigned int flags = FOLL_HWPOISON; 1809 struct page *page; 1810 int npages = 0; 1811 1812 might_sleep(); 1813 1814 if (writable) 1815 *writable = write_fault; 1816 1817 if (write_fault) 1818 flags |= FOLL_WRITE; 1819 if (async) 1820 flags |= FOLL_NOWAIT; 1821 1822 if (kvmm_valid_addr(addr)) { 1823 npages = 1; 1824 page = vmalloc_to_page((void *)addr); 1825 } else { 1826 npages = get_user_pages_unlocked(addr, 1, , flags); 1827 } 1828 if (npages != 1) 1829 return npages; 1830 1831 /* map read fault as writable if possible */ 1832 if (unlikely(!write_fault) && writable) { 1833 struct page *wpage; 1834 int lnpages = 0; 1835 1836 if (kvmm_valid_addr(addr)) { > 1837 npages_local = 1; 1838 wpage = vmalloc_to_page((void *)addr); 1839 } else { 1840 lnpages = __get_user_pages_fast(addr, 1, 1, ); 1841 } 1842 1843 if (lnpages == 1) { 1844 *writable = true; 1845 put_page(page); 1846 page = wpage; 1847 } 1848 } 1849 *pfn = page_to_pfn(page); 1850 return npages; 1851 } 1852 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 2/2] KVMM: Memory and interface related changes
Hi Anastassios, Thank you for the patch! Yet something to improve: [auto build test ERROR on v5.7-rc6] [cannot apply to kvm/linux-next kvmarm/next tip/x86/core next-20200515] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Anastassios-Nanos/Expose-KVM-API-to-Linux-Kernel/20200518-150402 base:b9bbe6ed63b2b9f2c9ee5cbd0f2c946a2723f4ce config: x86_64-randconfig-r006-20200518 (attached as .config) compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 135b877874fae96b4372c8a3fbfaa8ff44ff86e3) reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install x86_64 cross compiling tool for clang build # apt-get install binutils-x86-64-linux-gnu # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot All errors (new ones prefixed by >>, old ones prefixed by <<): >> arch/x86/kvm/../../../virt/kvm/kvm_main.c:1837:4: error: use of undeclared >> identifier 'npages_local' npages_local = 1; ^ 1 error generated. vim +/npages_local +1837 arch/x86/kvm/../../../virt/kvm/kvm_main.c 1800 1801 /* 1802 * The slow path to get the pfn of the specified host virtual address, 1803 * 1 indicates success, -errno is returned if error is detected. 1804 */ 1805 static int hva_to_pfn_slow(unsigned long addr, bool *async, bool write_fault, 1806 bool *writable, kvm_pfn_t *pfn) 1807 { 1808 unsigned int flags = FOLL_HWPOISON; 1809 struct page *page; 1810 int npages = 0; 1811 1812 might_sleep(); 1813 1814 if (writable) 1815 *writable = write_fault; 1816 1817 if (write_fault) 1818 flags |= FOLL_WRITE; 1819 if (async) 1820 flags |= FOLL_NOWAIT; 1821 1822 if (kvmm_valid_addr(addr)) { 1823 npages = 1; 1824 page = vmalloc_to_page((void *)addr); 1825 } else { 1826 npages = get_user_pages_unlocked(addr, 1, , flags); 1827 } 1828 if (npages != 1) 1829 return npages; 1830 1831 /* map read fault as writable if possible */ 1832 if (unlikely(!write_fault) && writable) { 1833 struct page *wpage; 1834 int lnpages = 0; 1835 1836 if (kvmm_valid_addr(addr)) { > 1837 npages_local = 1; 1838 wpage = vmalloc_to_page((void *)addr); 1839 } else { 1840 lnpages = __get_user_pages_fast(addr, 1, 1, ); 1841 } 1842 1843 if (lnpages == 1) { 1844 *writable = true; 1845 put_page(page); 1846 page = wpage; 1847 } 1848 } 1849 *pfn = page_to_pfn(page); 1850 return npages; 1851 } 1852 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 2/2] KVMM: Memory and interface related changes
Hi Anastassios, Thank you for the patch! Yet something to improve: [auto build test ERROR on v5.7-rc6] [cannot apply to kvm/linux-next kvmarm/next tip/x86/core next-20200515] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Anastassios-Nanos/Expose-KVM-API-to-Linux-Kernel/20200518-150402 base:b9bbe6ed63b2b9f2c9ee5cbd0f2c946a2723f4ce config: i386-randconfig-a016-20200518 (attached as .config) compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot All errors (new ones prefixed by >>, old ones prefixed by <<): arch/x86/kvm/../../../virt/kvm/kvm_main.c: In function 'hva_to_pfn_slow': >> arch/x86/kvm/../../../virt/kvm/kvm_main.c:1837:4: error: 'npages_local' >> undeclared (first use in this function) npages_local = 1; ^ arch/x86/kvm/../../../virt/kvm/kvm_main.c:1837:4: note: each undeclared identifier is reported only once for each function it appears in vim +/npages_local +1837 arch/x86/kvm/../../../virt/kvm/kvm_main.c 1800 1801 /* 1802 * The slow path to get the pfn of the specified host virtual address, 1803 * 1 indicates success, -errno is returned if error is detected. 1804 */ 1805 static int hva_to_pfn_slow(unsigned long addr, bool *async, bool write_fault, 1806 bool *writable, kvm_pfn_t *pfn) 1807 { 1808 unsigned int flags = FOLL_HWPOISON; 1809 struct page *page; 1810 int npages = 0; 1811 1812 might_sleep(); 1813 1814 if (writable) 1815 *writable = write_fault; 1816 1817 if (write_fault) 1818 flags |= FOLL_WRITE; 1819 if (async) 1820 flags |= FOLL_NOWAIT; 1821 1822 if (kvmm_valid_addr(addr)) { 1823 npages = 1; 1824 page = vmalloc_to_page((void *)addr); 1825 } else { 1826 npages = get_user_pages_unlocked(addr, 1, , flags); 1827 } 1828 if (npages != 1) 1829 return npages; 1830 1831 /* map read fault as writable if possible */ 1832 if (unlikely(!write_fault) && writable) { 1833 struct page *wpage; 1834 int lnpages = 0; 1835 1836 if (kvmm_valid_addr(addr)) { > 1837 npages_local = 1; 1838 wpage = vmalloc_to_page((void *)addr); 1839 } else { 1840 lnpages = __get_user_pages_fast(addr, 1, 1, ); 1841 } 1842 1843 if (lnpages == 1) { 1844 *writable = true; 1845 put_page(page); 1846 page = wpage; 1847 } 1848 } 1849 *pfn = page_to_pfn(page); 1850 return npages; 1851 } 1852 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 3/4] kvm: Replace vcpu->swait with rcuwait
Hi Davidlohr, I love your patch! Yet something to improve: [auto build test ERROR on next-20200323] [also build test ERROR on v5.6-rc7] [cannot apply to kvm/linux-next kvmarm/next linus/master kvm-ppc/kvm-ppc-next v5.6-rc7 v5.6-rc6 v5.6-rc5] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Davidlohr-Bueso/kvm-Use-rcuwait-for-vcpu-blocking/20200324-155230 base:5149100c3aebe5e640d6ff68e0b5e5a7eb8638e0 config: i386-allyesconfig (attached as .config) compiler: gcc-7 (Debian 7.5.0-5) 7.5.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): arch/x86/kvm/../../../virt/kvm/kvm_main.c: In function 'kvm_vcpu_block': >> arch/x86/kvm/../../../virt/kvm/kvm_main.c:2698:16: error: macro >> "rcuwait_wait_event" passed 3 arguments, but takes just 2 TASK_IDLE); ^ >> arch/x86/kvm/../../../virt/kvm/kvm_main.c:2696:2: error: >> 'rcuwait_wait_event' undeclared (first use in this function); did you mean >> 'rcuwait_wake_up'? rcuwait_wait_event(>wait, ^~ rcuwait_wake_up arch/x86/kvm/../../../virt/kvm/kvm_main.c:2696:2: note: each undeclared identifier is reported only once for each function it appears in vim +/rcuwait_wait_event +2698 arch/x86/kvm/../../../virt/kvm/kvm_main.c 2664 2665 /* 2666 * The vCPU has executed a HLT instruction with in-kernel mode enabled. 2667 */ 2668 void kvm_vcpu_block(struct kvm_vcpu *vcpu) 2669 { 2670 ktime_t start, cur; 2671 u64 block_ns; 2672 int block_check = -EINTR; 2673 2674 kvm_arch_vcpu_blocking(vcpu); 2675 2676 start = cur = ktime_get(); 2677 if (vcpu->halt_poll_ns && !kvm_arch_no_poll(vcpu)) { 2678 ktime_t stop = ktime_add_ns(ktime_get(), vcpu->halt_poll_ns); 2679 2680 ++vcpu->stat.halt_attempted_poll; 2681 do { 2682 /* 2683 * This sets KVM_REQ_UNHALT if an interrupt 2684 * arrives. 2685 */ 2686 if (kvm_vcpu_check_block(vcpu) < 0) { 2687 ++vcpu->stat.halt_successful_poll; 2688 if (!vcpu_valid_wakeup(vcpu)) 2689 ++vcpu->stat.halt_poll_invalid; 2690 goto out; 2691 } 2692 cur = ktime_get(); 2693 } while (single_task_running() && ktime_before(cur, stop)); 2694 } 2695 > 2696 rcuwait_wait_event(>wait, 2697 (block_check = kvm_vcpu_check_block(vcpu)) < 0, > 2698 TASK_IDLE); 2699 cur = ktime_get(); 2700 out: 2701 kvm_arch_vcpu_unblocking(vcpu); 2702 block_ns = ktime_to_ns(cur) - ktime_to_ns(start); 2703 2704 if (!kvm_arch_no_poll(vcpu)) { 2705 if (!vcpu_valid_wakeup(vcpu)) { 2706 shrink_halt_poll_ns(vcpu); 2707 } else if (halt_poll_ns) { 2708 if (block_ns <= vcpu->halt_poll_ns) 2709 ; 2710 /* we had a long block, shrink polling */ 2711 else if (vcpu->halt_poll_ns && block_ns > halt_poll_ns) 2712 shrink_halt_poll_ns(vcpu); 2713 /* we had a short halt and our poll time is too small */ 2714 else if (vcpu->halt_poll_ns < halt_poll_ns && 2715 block_ns < halt_poll_ns) 2716 grow_halt_poll_ns(vcpu); 2717 } else { 2718 vcpu->halt_poll_ns = 0; 2719 } 2720 } 2721 2722 trace_kvm_vcpu_wakeup(block_ns, !block_check, vcpu_valid_wakeup(vcpu)); 2723 kvm_arch_vcpu_block_finish(vcpu); 2724 } 2725 EXPORT_SYMBOL_GPL(kvm_vcpu_block); 2726 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 3/4] kvm: Replace vcpu->swait with rcuwait
Hi Davidlohr, I love your patch! Yet something to improve: [auto build test ERROR on next-20200323] [also build test ERROR on v5.6-rc7] [cannot apply to kvm/linux-next kvmarm/next linus/master kvm-ppc/kvm-ppc-next v5.6-rc7 v5.6-rc6 v5.6-rc5] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Davidlohr-Bueso/kvm-Use-rcuwait-for-vcpu-blocking/20200324-155230 base:5149100c3aebe5e640d6ff68e0b5e5a7eb8638e0 config: s390-randconfig-a001-20200324 (attached as .config) compiler: s390-linux-gcc (GCC) 9.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=9.2.0 make.cross ARCH=s390 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): arch/s390/kvm/../../../virt/kvm/kvm_main.c: In function 'kvm_vcpu_block': >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:2698:16: error: macro >> "rcuwait_wait_event" passed 3 arguments, but takes just 2 2698 | TASK_IDLE); |^ In file included from include/linux/percpu-rwsem.h:7, from include/linux/fs.h:34, from include/linux/huge_mm.h:8, from include/linux/mm.h:681, from include/linux/kvm_host.h:14, from arch/s390/kvm/../../../virt/kvm/kvm_main.c:18: include/linux/rcuwait.h:33: note: macro "rcuwait_wait_event" defined here 33 | #define rcuwait_wait_event(w, condition)\ | >> arch/s390/kvm/../../../virt/kvm/kvm_main.c:2696:2: error: >> 'rcuwait_wait_event' undeclared (first use in this function) 2696 | rcuwait_wait_event(>wait, | ^~ arch/s390/kvm/../../../virt/kvm/kvm_main.c:2696:2: note: each undeclared identifier is reported only once for each function it appears in vim +/rcuwait_wait_event +2698 arch/s390/kvm/../../../virt/kvm/kvm_main.c 2664 2665 /* 2666 * The vCPU has executed a HLT instruction with in-kernel mode enabled. 2667 */ 2668 void kvm_vcpu_block(struct kvm_vcpu *vcpu) 2669 { 2670 ktime_t start, cur; 2671 u64 block_ns; 2672 int block_check = -EINTR; 2673 2674 kvm_arch_vcpu_blocking(vcpu); 2675 2676 start = cur = ktime_get(); 2677 if (vcpu->halt_poll_ns && !kvm_arch_no_poll(vcpu)) { 2678 ktime_t stop = ktime_add_ns(ktime_get(), vcpu->halt_poll_ns); 2679 2680 ++vcpu->stat.halt_attempted_poll; 2681 do { 2682 /* 2683 * This sets KVM_REQ_UNHALT if an interrupt 2684 * arrives. 2685 */ 2686 if (kvm_vcpu_check_block(vcpu) < 0) { 2687 ++vcpu->stat.halt_successful_poll; 2688 if (!vcpu_valid_wakeup(vcpu)) 2689 ++vcpu->stat.halt_poll_invalid; 2690 goto out; 2691 } 2692 cur = ktime_get(); 2693 } while (single_task_running() && ktime_before(cur, stop)); 2694 } 2695 > 2696 rcuwait_wait_event(>wait, 2697 (block_check = kvm_vcpu_check_block(vcpu)) < 0, > 2698 TASK_IDLE); 2699 cur = ktime_get(); 2700 out: 2701 kvm_arch_vcpu_unblocking(vcpu); 2702 block_ns = ktime_to_ns(cur) - ktime_to_ns(start); 2703 2704 if (!kvm_arch_no_poll(vcpu)) { 2705 if (!vcpu_valid_wakeup(vcpu)) { 2706 shrink_halt_poll_ns(vcpu); 2707 } else if (halt_poll_ns) { 2708 if (block_ns <= vcpu->halt_poll_ns) 2709 ; 2710 /* we had a long block, shrink polling */ 2711 else if (vcpu->halt_poll_ns && block_ns > halt_poll_ns) 2712 shrink_halt_poll_ns(vcpu); 2713 /* we had a short halt and our poll time is too small */ 2714 else if (vcpu->halt_poll_ns < halt_poll_ns && 2715 block_ns < halt_poll_ns) 2716 grow_halt_poll_ns(vcpu); 2717
Re: [PATCH v10 01/11] vfio: VFIO_IOMMU_SET_PASID_TABLE
Hi Eric, Thank you for the patch! Yet something to improve: [auto build test ERROR on vfio/next] [also build test ERROR on v5.6-rc6 next-20200320] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Eric-Auger/SMMUv3-Nested-Stage-Setup-VFIO-part/20200321-040935 base: https://github.com/awilliam/linux-vfio.git next config: arm64-randconfig-a001-20200321 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=9.2.0 make.cross ARCH=arm64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from include/linux/vfio.h:16, from drivers/vfio/vfio.c:32: >> include/uapi/linux/vfio.h:811:34: error: field 'config' has incomplete type 811 | struct iommu_pasid_table_config config; /* used on SET */ | ^~ -- In file included from include/linux/vfio.h:16, from drivers/vfio/vfio_iommu_type1.c:35: >> include/uapi/linux/vfio.h:811:34: error: field 'config' has incomplete type 811 | struct iommu_pasid_table_config config; /* used on SET */ | ^~ drivers/vfio/vfio_iommu_type1.c: In function 'vfio_detach_pasid_table': >> drivers/vfio/vfio_iommu_type1.c:2204:3: error: implicit declaration of >> function 'iommu_detach_pasid_table'; did you mean 'vfio_detach_pasid_table'? >> [-Werror=implicit-function-declaration] 2204 | iommu_detach_pasid_table(d->domain); | ^~~~ | vfio_detach_pasid_table drivers/vfio/vfio_iommu_type1.c: In function 'vfio_attach_pasid_table': >> drivers/vfio/vfio_iommu_type1.c:2219:9: error: implicit declaration of >> function 'iommu_attach_pasid_table'; did you mean 'vfio_attach_pasid_table'? >> [-Werror=implicit-function-declaration] 2219 | ret = iommu_attach_pasid_table(d->domain, >config); | ^~~~ | vfio_attach_pasid_table cc1: some warnings being treated as errors vim +/config +811 include/uapi/linux/vfio.h 797 798 /** 799 * VFIO_IOMMU_SET_PASID_TABLE - _IOWR(VFIO_TYPE, VFIO_BASE + 22, 800 * struct vfio_iommu_type1_set_pasid_table) 801 * 802 * The SET operation passes a PASID table to the host while the 803 * UNSET operation detaches the one currently programmed. Setting 804 * a table while another is already programmed replaces the old table. 805 */ 806 struct vfio_iommu_type1_set_pasid_table { 807 __u32 argsz; 808 __u32 flags; 809 #define VFIO_PASID_TABLE_FLAG_SET (1 << 0) 810 #define VFIO_PASID_TABLE_FLAG_UNSET (1 << 1) > 811 struct iommu_pasid_table_config config; /* used on SET */ 812 }; 813 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v10 09/13] dma-iommu: Implement NESTED_MSI cookie
Hi Eric, I love your patch! Yet something to improve: [auto build test ERROR on iommu/next] [also build test ERROR on linus/master v5.6-rc6 next-20200320] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Eric-Auger/SMMUv3-Nested-Stage-Setup-IOMMU-part/20200321-040627 base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next config: arm-exynos_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 9.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=9.2.0 make.cross ARCH=arm If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from drivers/gpu/drm/exynos/exynos_drm_dma.c:7: >> include/linux/dma-iommu.h:90:1: error: expected identifier or '(' before '{' >> token 90 | { | ^ In file included from drivers/gpu/drm/exynos/exynos_drm_dma.c:7: include/linux/dma-iommu.h:89:1: warning: 'iommu_dma_unbind_guest_msi' declared 'static' but never defined [-Wunused-function] 89 | iommu_dma_unbind_guest_msi(struct iommu_domain *domain, dma_addr_t giova); | ^~ vim +90 include/linux/dma-iommu.h 87 88 static inline void 89 iommu_dma_unbind_guest_msi(struct iommu_domain *domain, dma_addr_t giova); > 90 { 91 } 92 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 1/1] arm/arm64: add support for folded p4d page tables
Hi Mike, I love your patch! Yet something to improve: [auto build test ERROR on arm/for-next] [also build test ERROR on arm64/for-next/core kvmarm/next v5.5-rc4 next-20191220] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Mike-Rapoport/arm-arm64-add-support-for-folded-p4d-page-tables/20191230-172112 base: git://git.armlinux.org.uk/~rmk/linux-arm.git for-next config: arm64-allyesconfig (attached as .config) compiler: aarch64-linux-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=arm64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): arch/arm64//mm/kasan_init.c: In function 'kasan_p4d_offset': >> arch/arm64//mm/kasan_init.c:112:17: error: implicit declaration of function >> 'p4d_offset_kimg'; did you mean 'pud_offset_kimg'? >> [-Werror=implicit-function-declaration] return early ? p4d_offset_kimg(pgdp, addr) : p4d_offset(pgdp, addr); ^~~ pud_offset_kimg arch/arm64//mm/kasan_init.c:112:45: warning: pointer/integer type mismatch in conditional expression return early ? p4d_offset_kimg(pgdp, addr) : p4d_offset(pgdp, addr); ^ arch/arm64//mm/kasan_init.c: In function 'kasan_p4d_populate': arch/arm64//mm/kasan_init.c:164:22: error: passing argument 1 of 'kasan_pmd_populate' from incompatible pointer type [-Werror=incompatible-pointer-types] kasan_pmd_populate(p4dp, addr, next, node, early); ^~~~ arch/arm64//mm/kasan_init.c:132:20: note: expected 'pud_t * {aka struct *}' but argument is of type 'p4d_t * {aka struct *}' static void __init kasan_pmd_populate(pud_t *pudp, unsigned long addr, ^~ At top level: arch/arm64//mm/kasan_init.c:144:20: warning: 'kasan_pud_populate' defined but not used [-Wunused-function] static void __init kasan_pud_populate(p4d_t *p4dp, unsigned long addr, ^~ cc1: some warnings being treated as errors vim +112 arch/arm64//mm/kasan_init.c 111 > 112 return early ? p4d_offset_kimg(pgdp, addr) : p4d_offset(pgdp, > addr); 113 } 114 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 1/1] arm/arm64: add support for folded p4d page tables
Hi Mike, I love your patch! Yet something to improve: [auto build test ERROR on arm/for-next] [also build test ERROR on arm64/for-next/core kvmarm/next v5.5-rc4 next-20191220] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Mike-Rapoport/arm-arm64-add-support-for-folded-p4d-page-tables/20191230-172112 base: git://git.armlinux.org.uk/~rmk/linux-arm.git for-next config: arm64-randconfig-a001-20191229 (attached as .config) compiler: aarch64-linux-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=arm64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All error/warnings (new ones prefixed by >>): arch/arm64/mm/dump.c: In function 'walk_p4d': >> arch/arm64/mm/dump.c:358:24: error: implicit declaration of function >> 'p4d_sect'; did you mean 'pud_sect'? [-Werror=implicit-function-declaration] if (p4d_none(p4d) || p4d_sect(p4d)) { ^~~~ pud_sect cc1: some warnings being treated as errors -- arch/arm64/mm/kasan_init.c: In function 'kasan_p4d_offset': >> arch/arm64/mm/kasan_init.c:112:17: error: implicit declaration of function >> 'p4d_offset_kimg'; did you mean 'pmd_offset_kimg'? >> [-Werror=implicit-function-declaration] return early ? p4d_offset_kimg(pgdp, addr) : p4d_offset(pgdp, addr); ^~~ pmd_offset_kimg >> arch/arm64/mm/kasan_init.c:112:45: warning: pointer/integer type mismatch in >> conditional expression return early ? p4d_offset_kimg(pgdp, addr) : p4d_offset(pgdp, addr); ^ arch/arm64/mm/kasan_init.c: In function 'kasan_p4d_populate': >> arch/arm64/mm/kasan_init.c:164:22: error: passing argument 1 of >> 'kasan_pmd_populate' from incompatible pointer type >> [-Werror=incompatible-pointer-types] kasan_pmd_populate(p4dp, addr, next, node, early); ^~~~ arch/arm64/mm/kasan_init.c:132:20: note: expected 'pud_t * {aka struct *}' but argument is of type 'p4d_t * {aka struct *}' static void __init kasan_pmd_populate(pud_t *pudp, unsigned long addr, ^~ At top level: arch/arm64/mm/kasan_init.c:144:20: warning: 'kasan_pud_populate' defined but not used [-Wunused-function] static void __init kasan_pud_populate(p4d_t *p4dp, unsigned long addr, ^~ cc1: some warnings being treated as errors vim +358 arch/arm64/mm/dump.c 347 348 static void walk_p4d(struct pg_state *st, pgd_t *pgdp, unsigned long start, 349 unsigned long end) 350 { 351 unsigned long next, addr = start; 352 p4d_t *p4dp = p4d_offset(pgdp, start); 353 354 do { 355 p4d_t p4d = READ_ONCE(*p4dp); 356 next = p4d_addr_end(addr, end); 357 > 358 if (p4d_none(p4d) || p4d_sect(p4d)) { 359 note_page(st, addr, 2, p4d_val(p4d)); 360 } else { 361 BUG_ON(p4d_bad(p4d)); 362 walk_pud(st, p4dp, addr, next); 363 } 364 } while (p4dp++, addr = next, addr != end); 365 } 366 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v2 5/6] KVM: arm64: Add interface to support VCPU preempted check
Hi Zengruan, Thank you for the patch! Yet something to improve: [auto build test ERROR on kvmarm/next] [also build test ERROR on kvm/linux-next linus/master v5.5-rc3 next-20191220] [cannot apply to arm64/for-next/core] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Zengruan-Ye/KVM-arm64-VCPU-preempted-check-support/20191227-000637 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next config: arm64-alldefconfig (attached as .config) compiler: aarch64-linux-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=arm64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from include/linux/spinlock.h:89:0, from include/linux/radix-tree.h:16, from include/linux/idr.h:15, from include/linux/kernfs.h:13, from include/linux/sysfs.h:16, from include/linux/kobject.h:20, from include/linux/of.h:17, from include/linux/irqdomain.h:35, from include/linux/acpi.h:13, from include/acpi/apei.h:9, from include/acpi/ghes.h:5, from include/linux/arm_sdei.h:8, from arch/arm64/kernel/asm-offsets.c:10: arch/arm64/include/asm/spinlock.h: In function 'vcpu_is_preempted': >> arch/arm64/include/asm/spinlock.h:18:9: error: implicit declaration of >> function 'pv_vcpu_is_preempted'; did you mean 'vcpu_is_preempted'? >> [-Werror=implicit-function-declaration] return pv_vcpu_is_preempted(cpu); ^~~~ vcpu_is_preempted cc1: some warnings being treated as errors make[2]: *** [arch/arm64/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [sub-make] Error 2 27 real 5 user 7 sys 48.63% cpu make prepare vim +18 arch/arm64/include/asm/spinlock.h 14 15 #define vcpu_is_preempted vcpu_is_preempted 16 static inline bool vcpu_is_preempted(long cpu) 17 { > 18 return pv_vcpu_is_preempted(cpu); 19 } 20 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v2 03/15] KVM: PPC: Move memslot memory allocation into prepare_memory_region()
Hi Sean, I love your patch! Yet something to improve: [auto build test ERROR on kvm/linux-next] [cannot apply to v5.4-rc4 next-20191024] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Sean-Christopherson/KVM-Dynamically-size-memslot-arrays/20191024-144336 base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next config: powerpc-defconfig (attached as .config) compiler: powerpc64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): arch/powerpc/kvm/powerpc.c: In function 'kvm_arch_prepare_memory_region': >> arch/powerpc/kvm/powerpc.c:701:9: error: too many arguments to function >> 'kvmppc_core_prepare_memory_region' return kvmppc_core_prepare_memory_region(kvm, memslot, mem, change); ^ In file included from arch/powerpc/kvm/powerpc.c:24:0: arch/powerpc/include/asm/kvm_ppc.h:206:12: note: declared here extern int kvmppc_core_prepare_memory_region(struct kvm *kvm, ^ -- >> arch/powerpc/kvm/book3s.c:848:5: error: conflicting types for >> 'kvmppc_core_prepare_memory_region' int kvmppc_core_prepare_memory_region(struct kvm *kvm, ^ In file included from arch/powerpc/kvm/book3s.c:30:0: arch/powerpc/include/asm/kvm_ppc.h:206:12: note: previous declaration of 'kvmppc_core_prepare_memory_region' was here extern int kvmppc_core_prepare_memory_region(struct kvm *kvm, ^ vim +/kvmppc_core_prepare_memory_region +701 arch/powerpc/kvm/powerpc.c 695 696 int kvm_arch_prepare_memory_region(struct kvm *kvm, 697 struct kvm_memory_slot *memslot, 698 const struct kvm_userspace_memory_region *mem, 699 enum kvm_mr_change change) 700 { > 701 return kvmppc_core_prepare_memory_region(kvm, memslot, mem, > change); 702 } 703 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v2 12/15] KVM: Provide common implementation for generic dirty log functions
Hi Sean, I love your patch! Yet something to improve: [auto build test ERROR on kvm/linux-next] [cannot apply to v5.4-rc4 next-20191024] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Sean-Christopherson/KVM-Dynamically-size-memslot-arrays/20191024-144336 base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next config: mips-malta_kvm_defconfig (attached as .config) compiler: mipsel-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=mips If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): arch/mips/kvm/mips.c: In function 'kvm_arch_dirty_log_tlb_flush': >> arch/mips/kvm/mips.c:976:48: error: 'memslot' undeclared (first use in this >> function); did you mean 'memset'? kvm_mips_callbacks->flush_shadow_memslot(kvm, memslot); ^~~ memset arch/mips/kvm/mips.c:976:48: note: each undeclared identifier is reported only once for each function it appears in vim +976 arch/mips/kvm/mips.c 669e846e6c4e13 arch/mips/kvm/kvm_mips.c Sanjay Lal 2012-11-21 972 3e2c881a0e3a6e arch/mips/kvm/mips.c Sean Christopherson 2019-10-21 973 void kvm_arch_dirty_log_tlb_flush(struct kvm *kvm, struct kvm_memory_slot *slot) 2a31b9db153530 arch/mips/kvm/mips.c Paolo Bonzini 2018-10-23 974 { 2a31b9db153530 arch/mips/kvm/mips.c Paolo Bonzini 2018-10-23 975 /* Let implementation handle TLB/GVA invalidation */ 2a31b9db153530 arch/mips/kvm/mips.c Paolo Bonzini 2018-10-23 @976 kvm_mips_callbacks->flush_shadow_memslot(kvm, memslot); 2a31b9db153530 arch/mips/kvm/mips.c Paolo Bonzini 2018-10-23 977 } 2a31b9db153530 arch/mips/kvm/mips.c Paolo Bonzini 2018-10-23 978 :: The code at line 976 was first introduced by commit :: 2a31b9db153530df4aa02dac8c32837bf5f47019 kvm: introduce manual dirty log reprotect :: TO: Paolo Bonzini :: CC: Paolo Bonzini --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v4 02/10] KVM: arm/arm64: Factor out hypercall handling from PSCI code
Hi Steven, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3-rc6 next-20190830] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Steven-Price/arm64-Stolen-time-support/20190901-185152 config: c6x-allyesconfig (attached as .config) compiler: c6x-elf-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=c6x If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from :0:0: >> include/kvm/arm_hypercalls.h:7:10: fatal error: asm/kvm_emulate.h: No such >> file or directory #include ^~~ compilation terminated. vim +7 include/kvm/arm_hypercalls.h 6 > 7 #include 8 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v4 02/10] KVM: arm/arm64: Factor out hypercall handling from PSCI code
Hi Steven, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3-rc6 next-20190830] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Steven-Price/arm64-Stolen-time-support/20190901-185152 config: i386-randconfig-a002-201935 (attached as .config) compiler: gcc-7 (Debian 7.4.0-11) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All error/warnings (new ones prefixed by >>): In file included from include/kvm/arm_hypercalls.h:7:0, from :0: >> arch/x86/include/asm/kvm_emulate.h:349:22: error: 'NR_VCPU_REGS' undeclared >> here (not in a function) unsigned long _regs[NR_VCPU_REGS]; ^~~~ In file included from :0:0: >> include/kvm/arm_hypercalls.h:9:33: warning: 'struct kvm_vcpu' declared >> inside parameter list will not be visible outside of this definition or >> declaration int kvm_hvc_call_handler(struct kvm_vcpu *vcpu); ^~~~ include/kvm/arm_hypercalls.h:11:45: warning: 'struct kvm_vcpu' declared inside parameter list will not be visible outside of this definition or declaration static inline u32 smccc_get_function(struct kvm_vcpu *vcpu) ^~~~ include/kvm/arm_hypercalls.h: In function 'smccc_get_function': >> include/kvm/arm_hypercalls.h:13:9: error: implicit declaration of function >> 'vcpu_get_reg' [-Werror=implicit-function-declaration] return vcpu_get_reg(vcpu, 0); ^~~~ include/kvm/arm_hypercalls.h: At top level: include/kvm/arm_hypercalls.h:16:51: warning: 'struct kvm_vcpu' declared inside parameter list will not be visible outside of this definition or declaration static inline unsigned long smccc_get_arg1(struct kvm_vcpu *vcpu) ^~~~ include/kvm/arm_hypercalls.h:21:51: warning: 'struct kvm_vcpu' declared inside parameter list will not be visible outside of this definition or declaration static inline unsigned long smccc_get_arg2(struct kvm_vcpu *vcpu) ^~~~ include/kvm/arm_hypercalls.h:26:51: warning: 'struct kvm_vcpu' declared inside parameter list will not be visible outside of this definition or declaration static inline unsigned long smccc_get_arg3(struct kvm_vcpu *vcpu) ^~~~ include/kvm/arm_hypercalls.h:31:44: warning: 'struct kvm_vcpu' declared inside parameter list will not be visible outside of this definition or declaration static inline void smccc_set_retval(struct kvm_vcpu *vcpu, ^~~~ include/kvm/arm_hypercalls.h: In function 'smccc_set_retval': >> include/kvm/arm_hypercalls.h:37:2: error: implicit declaration of function >> 'vcpu_set_reg'; did you mean 'smccc_set_retval'? >> [-Werror=implicit-function-declaration] vcpu_set_reg(vcpu, 0, a0); ^~~~ smccc_set_retval cc1: some warnings being treated as errors vim +/NR_VCPU_REGS +349 arch/x86/include/asm/kvm_emulate.h a584539b24b87d arch/x86/include/asm/kvm_emulate.h Paolo Bonzini 2015-04-01 290 9dac77fa4011bd arch/x86/include/asm/kvm_emulate.h Avi Kivity 2011-06-01 291 struct x86_emulate_ctxt { 0225fb509d51fc arch/x86/include/asm/kvm_emulate.h Mathias Krause 2012-08-30 292 const struct x86_emulate_ops *ops; 9dac77fa4011bd arch/x86/include/asm/kvm_emulate.h Avi Kivity 2011-06-01 293 9dac77fa4011bd arch/x86/include/asm/kvm_emulate.h Avi Kivity 2011-06-01 294 /* Register state before/after emulation. */ 9dac77fa4011bd arch/x86/include/asm/kvm_emulate.h Avi Kivity 2011-06-01 295 unsigned long eflags; 9dac77fa4011bd arch/x86/include/asm/kvm_emulate.h Avi Kivity 2011-06-01 296 unsigned long eip; /* eip before instruction emulation */ 9dac77fa4011bd arch/x86/include/asm/kvm_emulate.h Avi Kivity 2011-06-01 297 /* Emulated execution mode, represented by an X86EMUL_MODE value. */ 9d1b39a967871b arch/x86/include/asm/kvm_emulate.h Gleb Natapov 2012-09-03 298 enum x86emul_mode mode; 9dac77fa4011bd arch/x86/include/asm/kvm_emulate.h Avi Kivity 2011-06-01 299 9dac77fa4011bd arch/x86/include/asm/kvm_emulate.h Avi Kivity 2011-06-01 300 /* interruptibility state, as a result of execution of STI or MOV SS */ 9dac77fa4011bd arch/x86/include/asm/kvm_emulate.h Avi Kivity 2011-06-01 301 int interruptibility
Re: [PATCH 1/2] kbuild: change *FLAGS_.o to take the path relative to $(obj)
Hi Masahiro, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3-rc6 next-20190826] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Masahiro-Yamada/kbuild-change-FLAGS_-basetarget-o-to-take-the-path-relative-to-obj/20190827-071627 config: ia64-allnoconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=ia64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): arch/ia64/kernel/efi.o: In function `find_memmap_space': efi.c:(.text+0x2402): undefined reference to `__udivdi3' arch/ia64/kernel/time.o: In function `ia64_init_itm': time.c:(.text+0xa32): undefined reference to `__udivdi3' time.c:(.text+0xae2): undefined reference to `__udivdi3' time.c:(.text+0xb62): undefined reference to `__udivdi3' time.c:(.text+0xd62): undefined reference to `__udivdi3' arch/ia64/kernel/time.o:time.c:(.text+0xe12): more undefined references to `__udivdi3' follow kernel/ptrace.o: In function `ptrace_request': ptrace.c:(.text+0x3262): undefined reference to `__umoddi3' kernel/sched/core.o: In function `to_ratio': core.c:(.text+0x2c32): undefined reference to `__udivdi3' kernel/sched/cputime.o: In function `cputime_adjust': cputime.c:(.text+0xd72): undefined reference to `__udivdi3' kernel/sched/fair.o: In function `__calc_delta': fair.c:(.text+0x362): undefined reference to `__udivdi3' kernel/time/timekeeping.o: In function `scale64_check_overflow': timekeeping.c:(.text+0x42): undefined reference to `__umoddi3' timekeeping.c:(.text+0x62): undefined reference to `__udivdi3' timekeeping.c:(.text+0x1b2): undefined reference to `__udivdi3' kernel/time/timekeeping.o: In function `timekeeping_advance': timekeeping.c:(.text+0x1552): undefined reference to `__udivdi3' kernel/time/timekeeping.o: In function `tk_setup_internals.constprop.6': timekeeping.c:(.text+0x19b2): undefined reference to `__udivdi3' kernel/time/timekeeping.o: In function `get_device_system_crosststamp': timekeeping.c:(.text+0x3f52): undefined reference to `__umoddi3' timekeeping.c:(.text+0x3f72): undefined reference to `__udivdi3' timekeeping.c:(.text+0x3f92): undefined reference to `__udivdi3' kernel/time/clocksource.o: In function `clocks_calc_mult_shift': clocksource.c:(.text+0x4b2): undefined reference to `__udivdi3' kernel/time/clocksource.o: In function `clocks_calc_max_nsecs': clocksource.c:(.text+0xaa2): undefined reference to `__udivdi3' kernel/time/clocksource.o: In function `__clocksource_update_freq_scale': clocksource.c:(.text+0xb72): undefined reference to `__udivdi3' kernel/time/clocksource.o:clocksource.c:(.text+0xb82): more undefined references to `__udivdi3' follow mm/percpu.o: In function `pcpu_setup_first_chunk': >> percpu.c:(.init.text+0xa02): undefined reference to `__moddi3' >> percpu.c:(.init.text+0xae2): undefined reference to `__udivdi3' percpu.c:(.init.text+0xb22): undefined reference to `__moddi3' percpu.c:(.init.text+0xc32): undefined reference to `__udivdi3' percpu.c:(.init.text+0xc72): undefined reference to `__moddi3' percpu.c:(.init.text+0xd52): undefined reference to `__udivdi3' percpu.c:(.init.text+0xd92): undefined reference to `__moddi3' percpu.c:(.init.text+0xe72): undefined reference to `__udivdi3' percpu.c:(.init.text+0xeb2): undefined reference to `__moddi3' percpu.c:(.init.text+0xf92): undefined reference to `__udivdi3' percpu.c:(.init.text+0xfd2): undefined reference to `__moddi3' percpu.c:(.init.text+0x10b2): undefined reference to `__udivdi3' percpu.c:(.init.text+0x1132): undefined reference to `__moddi3' percpu.c:(.init.text+0x1242): undefined reference to `__udivdi3' percpu.c:(.init.text+0x12c2): undefined reference to `__moddi3' percpu.c:(.init.text+0x1672): undefined reference to `__udivdi3' percpu.c:(.init.text+0x16e2): undefined reference to `__moddi3' percpu.c:(.init.text+0x1812): undefined reference to `__udivdi3' percpu.c:(.init.text+0x1882): undefined reference to `__moddi3' percpu.c:(.init.text+0x1a72): undefined reference to `__udivdi3' percpu.c:(.init.text+0x1ae2): undefined reference to `__moddi3' percpu.c:(.init.text+0x1bc2): undefined reference to `__udivdi3' percpu.c:(.init.text+0x1c32): undefined reference to `__moddi3' mm/page_alloc.o: In function `setup_per_zone_lowmem_reserve': page_alloc.c:(.text+0x572): undefined reference to `__udivdi3' mm/page_alloc.o: In function `__setup_per_zone_wmarks': page_alloc.c:(.text
Re: [PATCH 1/2] kbuild: change *FLAGS_.o to take the path relative to $(obj)
Hi Masahiro, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [cannot apply to v5.3-rc6 next-20190826] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Masahiro-Yamada/kbuild-change-FLAGS_-basetarget-o-to-take-the-path-relative-to-obj/20190827-071627 config: i386-defconfig (attached as .config) compiler: gcc-7 (Debian 7.4.0-10) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): >> drivers/gpu/drm/i915/display/intel_fbdev.c:105:16: warning: initialized >> field overwritten [-Woverride-init] .fb_set_par = intel_fbdev_set_par, ^~~ drivers/gpu/drm/i915/display/intel_fbdev.c:105:16: note: (near initialization for 'intelfb_ops.fb_set_par') drivers/gpu/drm/i915/display/intel_fbdev.c:109:20: warning: initialized field overwritten [-Woverride-init] .fb_pan_display = intel_fbdev_pan_display, ^~~ drivers/gpu/drm/i915/display/intel_fbdev.c:109:20: note: (near initialization for 'intelfb_ops.fb_pan_display') drivers/gpu/drm/i915/display/intel_fbdev.c:110:14: warning: initialized field overwritten [-Woverride-init] .fb_blank = intel_fbdev_blank, ^ drivers/gpu/drm/i915/display/intel_fbdev.c:110:14: note: (near initialization for 'intelfb_ops.fb_blank') vim +105 drivers/gpu/drm/i915/display/intel_fbdev.c d9a946b52350bb drivers/gpu/drm/i915/intel_fbdev.c Rodrigo Vivi 2015-05-28 101 79e539453b34e3 drivers/gpu/drm/i915/intel_fb.cJesse Barnes 2008-11-07 102 static struct fb_ops intelfb_ops = { 79e539453b34e3 drivers/gpu/drm/i915/intel_fb.cJesse Barnes 2008-11-07 103 .owner = THIS_MODULE, a36384dd941b48 drivers/gpu/drm/i915/intel_fbdev.c Stefan Christ 2016-11-14 104 DRM_FB_HELPER_DEFAULT_OPS, e991077ec67e08 drivers/gpu/drm/i915/intel_fbdev.c Daniel Vetter 2014-06-18 @105 .fb_set_par = intel_fbdev_set_par, 21cff14847421f drivers/gpu/drm/i915/intel_fbdev.c Archit Taneja 2015-07-31 106 .fb_fillrect = drm_fb_helper_cfb_fillrect, 21cff14847421f drivers/gpu/drm/i915/intel_fbdev.c Archit Taneja 2015-07-31 107 .fb_copyarea = drm_fb_helper_cfb_copyarea, 21cff14847421f drivers/gpu/drm/i915/intel_fbdev.c Archit Taneja 2015-07-31 108 .fb_imageblit = drm_fb_helper_cfb_imageblit, d9a946b52350bb drivers/gpu/drm/i915/intel_fbdev.c Rodrigo Vivi 2015-05-28 109 .fb_pan_display = intel_fbdev_pan_display, 03e515f7f8949c drivers/gpu/drm/i915/intel_fbdev.c Rodrigo Vivi 2015-03-09 110 .fb_blank = intel_fbdev_blank, 785b93ef8c3097 drivers/gpu/drm/i915/intel_fb.cDave Airlie 2009-08-28 111 }; 785b93ef8c3097 drivers/gpu/drm/i915/intel_fb.cDave Airlie 2009-08-28 112 :: The code at line 105 was first introduced by commit :: e991077ec67e08bd345fcee4f810e59740359da5 drm/i915: Properly track domain of the fbcon fb :: TO: Daniel Vetter :: CC: Daniel Vetter --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
[kvmarm:5.1-fixes 6/6] arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1154:35: error: 'S2_PUD_MASK' undeclared; did you mean 'S2_PMD_MASK'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git 5.1-fixes head: 4c6b77dd0036d42268cc1e6c5ab5a9e9d98cae65 commit: 4c6b77dd0036d42268cc1e6c5ab5a9e9d98cae65 [6/6] KVM: arm/arm64: Fix handling of stage2 huge mappings config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 4c6b77dd0036d42268cc1e6c5ab5a9e9d98cae65 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'stage2_set_pud_huge': >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1154:35: error: 'S2_PUD_MASK' >> undeclared (first use in this function); did you mean 'S2_PMD_MASK'? unmap_stage2_range(kvm, addr & S2_PUD_MASK, S2_PUD_SIZE); ^~~ S2_PMD_MASK arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1154:35: note: each undeclared identifier is reported only once for each function it appears in >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1154:48: error: 'S2_PUD_SIZE' >> undeclared (first use in this function); did you mean 'S2_PMD_SIZE'? unmap_stage2_range(kvm, addr & S2_PUD_MASK, S2_PUD_SIZE); ^~~ S2_PMD_SIZE In file included from arch/arm/include/asm/bug.h:60:0, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from include/linux/mman.h:5, from arch/arm/kvm/../../../virt/kvm/arm/mmu.c:19: >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1157:17: error: implicit >> declaration of function 'pud_pfn'; did you mean 'pmd_pfn'? >> [-Werror=implicit-function-declaration] WARN_ON_ONCE(pud_pfn(old_pud) != pud_pfn(*new_pudp)); ^ include/asm-generic/bug.h:148:27: note: in definition of macro 'WARN_ON_ONCE' int __ret_warn_once = !!(condition); \ ^ cc1: some warnings being treated as errors vim +1154 arch/arm/kvm/../../../virt/kvm/arm/mmu.c 1128 1129 static int stage2_set_pud_huge(struct kvm *kvm, struct kvm_mmu_memory_cache *cache, 1130 phys_addr_t addr, const pud_t *new_pudp) 1131 { 1132 pud_t *pudp, old_pud; 1133 1134 retry: 1135 pudp = stage2_get_pud(kvm, cache, addr); 1136 VM_BUG_ON(!pudp); 1137 1138 old_pud = *pudp; 1139 1140 /* 1141 * A large number of vcpus faulting on the same stage 2 entry, 1142 * can lead to a refault due to the stage2_pud_clear()/tlb_flush(). 1143 * Skip updating the page tables if there is no change. 1144 */ 1145 if (pud_val(old_pud) == pud_val(*new_pudp)) 1146 return 0; 1147 1148 if (stage2_pud_present(kvm, old_pud)) { 1149 /* 1150 * If we already have table level mapping for this block, unmap 1151 * the range for this block and retry. 1152 */ 1153 if (!stage2_pud_huge(kvm, old_pud)) { > 1154 unmap_stage2_range(kvm, addr & S2_PUD_MASK, > S2_PUD_SIZE); 1155 goto retry; 1156 } else { > 1157 WARN_ON_ONCE(pud_pfn(old_pud) != > pud_pfn(*new_pudp)); 1158 stage2_pud_clear(kvm, pudp); 1159 kvm_tlb_flush_vmid_ipa(kvm, addr); 1160 } 1161 } else { 1162 get_page(virt_to_page(pudp)); 1163 } 1164 1165 kvm_set_pud(pudp, *new_pudp); 1166 return 0; 1167 } 1168 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
[kvmarm:master 7/8] arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1705:36: error: implicit declaration of function 'kvm_stage2_has_pmd'; did you mean 'kvm_stage2_has_pud'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git master head: a7d7d3ebc7d441ee48e1fd87d9a8abbf7d528127 commit: 4cc936fd184a2641801c906ea320326317895397 [7/8] KVM: arm64: Relax the restriction on using stage2 PUD huge mapping config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 8.2.0-11) 8.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 4cc936fd184a2641801c906ea320326317895397 # save the attached .config to linux build tree GCC_VERSION=8.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'user_mem_abort': >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1705:36: error: implicit >> declaration of function 'kvm_stage2_has_pmd'; did you mean >> 'kvm_stage2_has_pud'? [-Werror=implicit-function-declaration] (vma_pagesize == PUD_SIZE && kvm_stage2_has_pmd(kvm))) && ^~ kvm_stage2_has_pud cc1: some warnings being treated as errors vim +1705 arch/arm/kvm/../../../virt/kvm/arm/mmu.c 1654 1655 static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, 1656struct kvm_memory_slot *memslot, unsigned long hva, 1657unsigned long fault_status) 1658 { 1659 int ret; 1660 bool write_fault, writable, force_pte = false; 1661 bool exec_fault, needs_exec; 1662 unsigned long mmu_seq; 1663 gfn_t gfn = fault_ipa >> PAGE_SHIFT; 1664 struct kvm *kvm = vcpu->kvm; 1665 struct kvm_mmu_memory_cache *memcache = >arch.mmu_page_cache; 1666 struct vm_area_struct *vma; 1667 kvm_pfn_t pfn; 1668 pgprot_t mem_type = PAGE_S2; 1669 bool logging_active = memslot_is_logging(memslot); 1670 unsigned long vma_pagesize, flags = 0; 1671 1672 write_fault = kvm_is_write_fault(vcpu); 1673 exec_fault = kvm_vcpu_trap_is_iabt(vcpu); 1674 VM_BUG_ON(write_fault && exec_fault); 1675 1676 if (fault_status == FSC_PERM && !write_fault && !exec_fault) { 1677 kvm_err("Unexpected L2 read permission error\n"); 1678 return -EFAULT; 1679 } 1680 1681 if (!fault_supports_stage2_pmd_mappings(memslot, hva)) 1682 force_pte = true; 1683 1684 if (logging_active) 1685 force_pte = true; 1686 1687 /* Let's check if we will get back a huge page backed by hugetlbfs */ 1688 down_read(>mm->mmap_sem); 1689 vma = find_vma_intersection(current->mm, hva, hva + 1); 1690 if (unlikely(!vma)) { 1691 kvm_err("Failed to find VMA for hva 0x%lx\n", hva); 1692 up_read(>mm->mmap_sem); 1693 return -EFAULT; 1694 } 1695 1696 vma_pagesize = vma_kernel_pagesize(vma); 1697 /* 1698 * The stage2 has a minimum of 2 level table (For arm64 see 1699 * kvm_arm_setup_stage2()). Hence, we are guaranteed that we can 1700 * use PMD_SIZE huge mappings (even when the PMD is folded into PGD). 1701 * As for PUD huge maps, we must make sure that we have at least 1702 * 3 levels, i.e, PMD is not folded. 1703 */ 1704 if ((vma_pagesize == PMD_SIZE || > 1705 (vma_pagesize == PUD_SIZE && kvm_stage2_has_pmd(kvm))) && 1706 !force_pte) { 1707 gfn = (fault_ipa & huge_page_mask(hstate_vma(vma))) >> PAGE_SHIFT; 1708 } 1709 up_read(>mm->mmap_sem); 1710 1711 /* We need minimum second+third level pages */ 1712 ret = mmu_topup_memory_cache(memcache, kvm_mmu_cache_min_pages(kvm), 1713 KVM_NR_MEM_OBJS); 1714 if (ret) 1715 return ret; 1716 1717 mmu_seq = vcpu->kvm->mmu_notifier_seq; 1718 /* 1719 * Ensure the read of mmu_notifier_seq happens before we call 1720 * gfn_to_pfn_prot (which calls get_user_pages), so that we don't risk 1721 * the page we just got a reference to gets unmapped before we have a 1722 * chance to grab the mmu_lock, which ensure that if the page gets 1723 * unmapped afterwards, the call to kvm_unmap_hva will take it away 1724 * from us again properly. This smp_rmb() interacts with the smp_wmb() 1725 * in kvm_mmu_notifier_invalidate_. 1726 */ 1727 smp_rmb(); 1728 1729 pfn = gfn_to_pfn_prot(kvm, gfn, write_fault, ); 1730
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 73/75] arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1877:14: error: implicit declaration of function 'kvm_s2pud_revoke_read'; did you mean 'kvm_s2pud_mkexec'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 7fb8b7d728a8ffae11f4c1e263a021de7eb1662b [73/75] arm64: KVM: nv: Restrict S2 RD/WR permissions to match the guest's config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 7fb8b7d728a8ffae11f4c1e263a021de7eb1662b # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): kvm_tlb_flush_vmid_ipa(mmu, addr); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:85:13: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static void kvm_tlb_flush_vmid_ipa(struct kvm_s2_mmu *mmu, phys_addr_t ipa) ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1257:14: warning: unused variable 'kvm' [-Wunused-variable] struct kvm *kvm = mmu->kvm; ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_phys_addr_ioremap': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1395:34: error: 'struct kvm_arch' has no member named 'mmu' ret = stage2_set_pte(>arch.mmu, , addr, , ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: At top level: arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1484:35: warning: 'struct kvm_s2_mmu' declared inside parameter list will not be visible outside of this definition or declaration static void stage2_wp_pmds(struct kvm_s2_mmu *mmu, pud_t *pud, ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'stage2_wp_pmds': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1487:23: error: dereferencing pointer to incomplete type 'struct kvm_s2_mmu' struct kvm *kvm = mmu->kvm; ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: At top level: arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1514:36: warning: 'struct kvm_s2_mmu' declared inside parameter list will not be visible outside of this definition or declaration static void stage2_wp_puds(struct kvm_s2_mmu *mmu, pgd_t *pgd, ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'stage2_wp_puds': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1517:23: error: dereferencing pointer to incomplete type 'struct kvm_s2_mmu' struct kvm *kvm = mmu->kvm; ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1529:20: error: passing argument 1 of 'stage2_wp_pmds' from incompatible pointer type [-Werror=incompatible-pointer-types] stage2_wp_pmds(mmu, pud, addr, next); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1484:13: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static void stage2_wp_pmds(struct kvm_s2_mmu *mmu, pud_t *pud, ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1517:14: warning: unused variable 'kvm' [-Wunused-variable] struct kvm *kvm = mmu->kvm; ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: At top level: arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1541:33: warning: 'struct kvm_s2_mmu' declared inside parameter list will not be visible outside of this definition or declaration void kvm_stage2_wp_range(struct kvm_s2_mmu *mmu, phys_addr_t addr, phys_addr_t end) ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_stage2_wp_range': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1543:23: error: dereferencing pointer to incomplete type 'struct kvm_s2_mmu' struct kvm *kvm = mmu->kvm; ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1563:19: error: passing argument 1 of 'stage2_wp_puds' from incompatible pointer type [-Werror=incompatible-pointer-types] stage2_wp_puds(mmu, pgd, addr, next); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1514:14: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static void stage2_wp_puds(struct kvm_s2_mmu *mmu, pgd_t *pgd, ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_mmu_wp_memory_region': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1588:32: error: 'struct kvm_arch' has no member named 'mmu' kvm_stage2_wp_range(>arch.mmu, start, end); ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1589:2: error: implicit declaration of function 'kvm_nested_s2_wp'; did you mean 'kvm_reset_vcpu'? [-Werror=implicit-function-declaration] kvm_nested_s2_wp(kvm); ^~~~
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 68/75] arch/arm/kvm/../../../virt/kvm/arm/arm.c:352:6: error: implicit declaration of function 'nested_virt_in_use'; did you mean 'isa_virt_to_bus'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: d9adf257e12e66ab30056a8804b70a24ce0dded3 [68/75] fixup! KVM: arm/arm64: nv: Support multiple nested stage 2 mmu structures config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout d9adf257e12e66ab30056a8804b70a24ce0dded3 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_init_vm': arch/arm/kvm/../../../virt/kvm/arm/arm.c:125:8: error: implicit declaration of function 'kvm_init_stage2_mmu'; did you mean 'kvm_free_stage2_pgd'? [-Werror=implicit-function-declaration] ret = kvm_init_stage2_mmu(kvm, >arch.mmu); ^~~ kvm_free_stage2_pgd arch/arm/kvm/../../../virt/kvm/arm/arm.c:125:43: error: 'struct kvm_arch' has no member named 'mmu' ret = kvm_init_stage2_mmu(kvm, >arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:129:11: error: 'struct kvm_arch' has no member named 'nested_mmus' kvm->arch.nested_mmus = NULL; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:130:11: error: 'struct kvm_arch' has no member named 'nested_mmus_size' kvm->arch.nested_mmus_size = 0; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:144:32: error: 'struct kvm_arch' has no member named 'mmu' kvm_free_stage2_pgd(>arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_init': arch/arm/kvm/../../../virt/kvm/arm/arm.c:343:12: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:343:38: error: 'struct kvm_arch' has no member named 'mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_load': >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:352:6: error: implicit declaration >> of function 'nested_virt_in_use'; did you mean 'isa_virt_to_bus'? >> [-Werror=implicit-function-declaration] if (nested_virt_in_use(vcpu)) ^~ isa_virt_to_bus arch/arm/kvm/../../../virt/kvm/arm/arm.c:353:3: error: implicit declaration of function 'kvm_vcpu_load_hw_mmu'; did you mean 'kvm_vcpu_load_sysregs'? [-Werror=implicit-function-declaration] kvm_vcpu_load_hw_mmu(vcpu); ^~~~ kvm_vcpu_load_sysregs In file included from include/asm-generic/percpu.h:7:0, from arch/arm/include/asm/percpu.h:50, from include/linux/percpu.h:13, from include/linux/context_tracking_state.h:5, from include/linux/vtime.h:5, from include/linux/hardirq.h:8, from include/linux/kvm_host.h:10, from arch/arm/kvm/../../../virt/kvm/arm/arm.c:23: arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^ include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr' const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ ^~~ arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:13: note: in expansion of macro 'this_cpu_ptr' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^~~~ In file included from include/linux/compiler_types.h:68:0, from :0: arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^ include/linux/compiler-gcc.h:57:34: note: in definition of macro 'RELOC_HIDE' __asm__ ("" : "=r"(__ptr) : "0"(ptr));\ ^~~ include/linux/percpu-defs.h:249:2: note: in expansion of macro 'SHIFT_PERCPU_PTR' SHIFT_PERCPU_PTR(ptr, my_cpu_offset);\ ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:13: note: in expansion of macro 'this_cpu_ptr' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 67/75] arch/arm/kvm/../../../virt/kvm/arm/mmu.c:2487:11: note: in expansion of macro 'atomic_read'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: ef4e8878a94ec44d0f883dfab21ecfb45fe33309 [67/75] fixup! KVM: arm/arm64: nv: Support multiple nested stage 2 mmu structures config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout ef4e8878a94ec44d0f883dfab21ecfb45fe33309 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All warnings (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1881:29: error: passing argument 1 of 'stage2_set_pmd_huge' from incompatible pointer type [-Werror=incompatible-pointer-types] ret = stage2_set_pmd_huge(mmu, memcache, fault_ipa, _pmd); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1109:12: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static int stage2_set_pmd_huge(struct kvm_s2_mmu *mmu, ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1893:24: error: passing argument 1 of 'stage2_set_pte' from incompatible pointer type [-Werror=incompatible-pointer-types] ret = stage2_set_pte(mmu, memcache, fault_ipa, _pte, flags); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1252:12: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static int stage2_set_pte(struct kvm_s2_mmu *mmu, ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'handle_access_fault': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1922:39: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' if (!stage2_get_leaf_entry(vcpu->arch.hw_mmu, fault_ipa, , , )) ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_handle_guest_abort': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1963:22: error: storage size of 'nested_trans' isn't known struct kvm_s2_trans nested_trans; ^~~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:2022:9: error: implicit declaration of function 'kvm_walk_nested_s2'; did you mean 'kvm_inject_nested_irq'? [-Werror=implicit-function-declaration] ret = kvm_walk_nested_s2(vcpu, fault_ipa, _trans); ^~ kvm_inject_nested_irq arch/arm/kvm/../../../virt/kvm/arm/mmu.c:2024:4: error: implicit declaration of function 'kvm_inject_s2_fault'; did you mean 'kvm_inject_pabt'? [-Werror=implicit-function-declaration] kvm_inject_s2_fault(vcpu, nested_trans.esr); ^~~ kvm_inject_pabt arch/arm/kvm/../../../virt/kvm/arm/mmu.c:2029:9: error: implicit declaration of function 'kvm_s2_handle_perm_fault'; did you mean 'handle_mm_fault'? [-Werror=implicit-function-declaration] ret = kvm_s2_handle_perm_fault(vcpu, fault_ipa, _trans); ^~~~ handle_mm_fault arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1963:22: warning: unused variable 'nested_trans' [-Wunused-variable] struct kvm_s2_trans nested_trans; ^~~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_unmap_hva_handler': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:2129:35: error: 'struct kvm_arch' has no member named 'mmu' kvm_unmap_stage2_range(>arch.mmu, gpa, size); ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:2130:2: error: implicit declaration of function 'kvm_nested_s2_clear'; did you mean '__nodes_clear'? [-Werror=implicit-function-declaration] kvm_nested_s2_clear(kvm); ^~~ __nodes_clear arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_unmap_hva_range': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:2137:16: error: 'struct kvm_arch' has no member named 'mmu' if (!kvm->arch.mmu.pgd) ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_set_spte_handler': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:2157:27: error: 'struct kvm_arch' has no member named 'mmu' stage2_set_pte(>arch.mmu, NULL, gpa, pte, 0); ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_set_spte_hva': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:2169:16: error: 'struct kvm_arch' has no member named 'mmu' if (!kvm->arch.mmu.pgd) ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_age_hva_handler': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:2192:39: error: 'struct kvm_arch' has no member named 'mmu' if (!stage2_get_leaf_entry(>arch.mmu, gpa, , , )) ^
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 65/75] arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:893:7: error: implicit declaration of function 'vcpu_el2_e2h_is_set'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: bd3721cc25cec20d64c5c073fbc0879067cf86e7 [65/75] arm64: KVM: nv: Add handling of EL2-specific timer registers config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout bd3721cc25cec20d64c5c073fbc0879067cf86e7 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'get_timer_map': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:78:7: error: implicit declaration of function 'is_hyp_ctxt'; did you mean '__hyp_text'? [-Werror=implicit-function-declaration] if (is_hyp_ctxt(vcpu)) { ^~~ __hyp_text arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'kvm_timer_should_fire': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given cnt_ctl = read_sysreg_el0(cntp_ctl); ^ ~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: arch/arm/include/asm/cp15.h:63:27: error: '__read_sysreg' undeclared (first use in this function); did you mean 'vcpu_sysreg'? #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:14: note: in expansion of macro 'read_sysreg_el0' cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/include/asm/cp15.h:63:27: note: each undeclared identifier is reported only once for each function it appears in #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:14: note: in expansion of macro 'read_sysreg_el0' cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'timer_save_state': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:398:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given ctx->cnt_ctl = read_sysreg_el0(cntp_ctl); ^ ~~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: arch/arm/include/asm/cp15.h:63:27: error: '__read_sysreg' undeclared (first use in this function); did you mean 'vcpu_sysreg'? #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:398:18: note: in expansion of macro 'read_sysreg_el0' ctx->cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:399:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given ctx->cnt_cval = read_sysreg_el0(cntp_cval); ^ ~~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:402:1: error: macro "__write_sysreg" requires 5 arguments, but only 2 given write_sysreg_el0(0, cntp_ctl); ^ ~~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: arch/arm/include/asm/cp15.h:66:31: error: '__write_sysreg' undeclared (first use in this function); did you mean '__read_sysreg'? #define write_sysreg(v, ...) __write_sysreg(v, __VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:95:33: note: in expansion of macro 'write_sysreg' #define write_sysreg_el0(v, r) write_sysreg(v, r##_el0) ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:402:3: note: in expansion of macro 'write_sysreg_el0' write_sysreg_el0(0, cntp_ctl); ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'timer_restore_state': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:476:1: error: macro "__write_sysreg" requires 5 arguments, but only 2 given
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 59/75] arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:252:7: error: 'KVM_DEV_ARM_VGIC_GRP_MAINT_IRQ' undeclared; did you mean 'KVM_DEV_ARM_VGIC_GRP_NR_IRQS
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 43c8e3e9d31cc009b7d37241859505293e494f4d [59/75] KVM: arm64: nv: vgic: Allow userland to set VGIC maintenance IRQ config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 43c8e3e9d31cc009b7d37241859505293e494f4d # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c: In function 'vgic_get_common_attr': >> arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:252:7: error: >> 'KVM_DEV_ARM_VGIC_GRP_MAINT_IRQ' undeclared (first use in this function); >> did you mean 'KVM_DEV_ARM_VGIC_GRP_NR_IRQS'? case KVM_DEV_ARM_VGIC_GRP_MAINT_IRQ: { ^~ KVM_DEV_ARM_VGIC_GRP_NR_IRQS arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:252:7: note: each undeclared identifier is reported only once for each function it appears in arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c: In function 'vgic_v3_set_attr': arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:644:7: error: 'KVM_DEV_ARM_VGIC_GRP_MAINT_IRQ' undeclared (first use in this function); did you mean 'KVM_DEV_ARM_VGIC_GRP_NR_IRQS'? case KVM_DEV_ARM_VGIC_GRP_MAINT_IRQ: { ^~ KVM_DEV_ARM_VGIC_GRP_NR_IRQS arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c: In function 'vgic_v3_has_attr': arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c:744:7: error: 'KVM_DEV_ARM_VGIC_GRP_MAINT_IRQ' undeclared (first use in this function); did you mean 'KVM_DEV_ARM_VGIC_GRP_NR_IRQS'? case KVM_DEV_ARM_VGIC_GRP_MAINT_IRQ: ^~ KVM_DEV_ARM_VGIC_GRP_NR_IRQS vim +252 arch/arm/kvm/../../../virt/kvm/arm/vgic/vgic-kvm-device.c 225 226 static int vgic_get_common_attr(struct kvm_device *dev, 227 struct kvm_device_attr *attr) 228 { 229 int r = -ENXIO; 230 231 switch (attr->group) { 232 case KVM_DEV_ARM_VGIC_GRP_ADDR: { 233 u64 __user *uaddr = (u64 __user *)(long)attr->addr; 234 u64 addr; 235 unsigned long type = (unsigned long)attr->attr; 236 237 r = kvm_vgic_addr(dev->kvm, type, , false); 238 if (r) 239 return (r == -ENODEV) ? -ENXIO : r; 240 241 if (copy_to_user(uaddr, , sizeof(addr))) 242 return -EFAULT; 243 break; 244 } 245 case KVM_DEV_ARM_VGIC_GRP_NR_IRQS: { 246 u32 __user *uaddr = (u32 __user *)(long)attr->addr; 247 248 r = put_user(dev->kvm->arch.vgic.nr_spis + 249 VGIC_NR_PRIVATE_IRQS, uaddr); 250 break; 251 } > 252 case KVM_DEV_ARM_VGIC_GRP_MAINT_IRQ: { 253 u32 __user *uaddr = (u32 __user *)(long)attr->addr; 254 255 r = put_user(dev->kvm->arch.vgic.maint_irq, uaddr); 256 break; 257 } 258 } 259 260 return r; 261 } 262 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 57/75] arch/arm/kvm/../../../virt/kvm/arm/arm.c:627:25: error: 'KVM_REQ_GUEST_HYP_IRQ_PENDING' undeclared; did you mean 'KVM_REQ_IRQ_PENDING'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 78eb72890679e738e27f7ca4d06924c283492d70 [57/75] KVM: arm64: nv: Nested GICv3 Support config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 78eb72890679e738e27f7ca4d06924c283492d70 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arm.c:125:43: error: 'struct kvm_arch' has no member named 'mmu' ret = kvm_init_stage2_mmu(kvm, >arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:129:11: error: 'struct kvm_arch' has no member named 'nested_mmus' kvm->arch.nested_mmus = NULL; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:130:11: error: 'struct kvm_arch' has no member named 'nested_mmus_size' kvm->arch.nested_mmus_size = 0; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:144:32: error: 'struct kvm_arch' has no member named 'mmu' kvm_free_stage2_pgd(>arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_init': arch/arm/kvm/../../../virt/kvm/arm/arm.c:343:12: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:343:38: error: 'struct kvm_arch' has no member named 'mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_load': arch/arm/kvm/../../../virt/kvm/arm/arm.c:352:2: error: implicit declaration of function 'kvm_vcpu_load_hw_mmu'; did you mean 'kvm_vcpu_load_sysregs'? [-Werror=implicit-function-declaration] kvm_vcpu_load_hw_mmu(vcpu); ^~~~ kvm_vcpu_load_sysregs In file included from include/asm-generic/percpu.h:7:0, from arch/arm/include/asm/percpu.h:50, from include/linux/percpu.h:13, from include/linux/context_tracking_state.h:5, from include/linux/vtime.h:5, from include/linux/hardirq.h:8, from include/linux/kvm_host.h:10, from arch/arm/kvm/../../../virt/kvm/arm/arm.c:23: arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^ include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr' const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ ^~~ arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:13: note: in expansion of macro 'this_cpu_ptr' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^~~~ In file included from include/linux/compiler_types.h:68:0, from :0: arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^ include/linux/compiler-gcc.h:57:34: note: in definition of macro 'RELOC_HIDE' __asm__ ("" : "=r"(__ptr) : "0"(ptr));\ ^~~ include/linux/percpu-defs.h:249:2: note: in expansion of macro 'SHIFT_PERCPU_PTR' SHIFT_PERCPU_PTR(ptr, my_cpu_offset);\ ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:13: note: in expansion of macro 'this_cpu_ptr' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^ include/linux/compiler-gcc.h:57:34: note: in definition of macro 'RELOC_HIDE' __asm__ ("" : "=r"(__ptr) : "0"(ptr));\ ^~~ include/linux/percpu-defs.h:249:2: note: in expansion of macro 'SHIFT_PERCPU_PTR' SHIFT_PERCPU_PTR(ptr, my_cpu_offset);\ ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:13: note: in expansion of macro 'this_cpu_ptr' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' last_ran =
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 56/75] arch/arm/kvm/hyp/switch.c:103:27: error: passing argument 1 of '__vgic_v3_restore_state' from incompatible pointer type
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 2f0dfa723fec5361c9784fa63b6af3e83d2486d1 [56/75] KVM: arm64: nv: vgic-v3: Take cpu_if pointer directly instead of vcpu config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 2f0dfa723fec5361c9784fa63b6af3e83d2486d1 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/hyp/switch.c: In function '__vgic_restore_state': >> arch/arm/kvm/hyp/switch.c:103:27: error: passing argument 1 of >> '__vgic_v3_restore_state' from incompatible pointer type >> [-Werror=incompatible-pointer-types] __vgic_v3_restore_state(vcpu); ^~~~ In file included from arch/arm/kvm/hyp/switch.c:20:0: arch/arm/include/asm/kvm_hyp.h:112:6: note: expected 'struct vgic_v3_cpu_if *' but argument is of type 'struct kvm_vcpu *' void __vgic_v3_restore_state(struct vgic_v3_cpu_if *cpu_if); ^~~ cc1: some warnings being treated as errors vim +/__vgic_v3_restore_state +103 arch/arm/kvm/hyp/switch.c 9dddc2dfa Marc Zyngier 2016-01-05 98 9dddc2dfa Marc Zyngier 2016-01-05 99 static void __hyp_text __vgic_restore_state(struct kvm_vcpu *vcpu) 9dddc2dfa Marc Zyngier 2016-01-05 100 { 2d0e63e03 Christoffer Dall 2017-10-05 101 if (static_branch_unlikely(_vgic_global_state.gicv3_cpuif)) { 2f0dfa723 Christoffer Dall 2018-12-01 102 __vgic_v3_activate_traps(>arch.vgic_cpu.vgic_v3); acda5430b Vladimir Murzin 2016-09-12 @103 __vgic_v3_restore_state(vcpu); 9dddc2dfa Marc Zyngier 2016-01-05 104 } 2d0e63e03 Christoffer Dall 2017-10-05 105 } 9dddc2dfa Marc Zyngier 2016-01-05 106 :: The code at line 103 was first introduced by commit :: acda5430bee4621f218391d0bcfbe4412adb3554 ARM: KVM: Support vgic-v3 :: TO: Vladimir Murzin :: CC: Christoffer Dall --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 54/75] arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:897:7: error: 'SYS_CNTVOFF_EL2' undeclared; did you mean 'SYS_CNTP_CTL_EL0'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 66df9dda77fe8a8876039d6b07f842989126a584 [54/75] KVM: arm64: nv: Propagate CNTVOFF_EL2 to the virtual EL1 timer config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 66df9dda77fe8a8876039d6b07f842989126a584 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): if (is_hyp_ctxt(vcpu)) { ^~~ __hyp_text arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'kvm_timer_should_fire': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given cnt_ctl = read_sysreg_el0(cntp_ctl); ^ ~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: arch/arm/include/asm/cp15.h:63:27: error: '__read_sysreg' undeclared (first use in this function); did you mean 'vcpu_sysreg'? #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:14: note: in expansion of macro 'read_sysreg_el0' cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/include/asm/cp15.h:63:27: note: each undeclared identifier is reported only once for each function it appears in #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:14: note: in expansion of macro 'read_sysreg_el0' cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'timer_save_state': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:398:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given ctx->cnt_ctl = read_sysreg_el0(cntp_ctl); ^ ~~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: arch/arm/include/asm/cp15.h:63:27: error: '__read_sysreg' undeclared (first use in this function); did you mean 'vcpu_sysreg'? #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:398:18: note: in expansion of macro 'read_sysreg_el0' ctx->cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:399:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given ctx->cnt_cval = read_sysreg_el0(cntp_cval); ^ ~~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:402:1: error: macro "__write_sysreg" requires 5 arguments, but only 2 given write_sysreg_el0(0, cntp_ctl); ^ ~~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: arch/arm/include/asm/cp15.h:66:31: error: '__write_sysreg' undeclared (first use in this function); did you mean '__read_sysreg'? #define write_sysreg(v, ...) __write_sysreg(v, __VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:95:33: note: in expansion of macro 'write_sysreg' #define write_sysreg_el0(v, r) write_sysreg(v, r##_el0) ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:402:3: note: in expansion of macro 'write_sysreg_el0' write_sysreg_el0(0, cntp_ctl); ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'timer_restore_state': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:476:1: error: macro "__write_sysreg" requires 5 arguments, but only 2 given write_sysreg_el0(ctx->cnt_cval, cntp_cval); ^ ~~~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: arch/arm/include/asm/cp15.h:66:31: error: '__write_sysreg'
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 53/75] arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:78:7: error: implicit declaration of function 'is_hyp_ctxt'; did you mean '__hyp_text'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 4fb08a5a9975b41829daec65774877666461e75f [53/75] KVM: arm64: nv: arch_timer: Support hyp timer emulation config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 4fb08a5a9975b41829daec65774877666461e75f # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'get_timer_map': >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:78:7: error: implicit >> declaration of function 'is_hyp_ctxt'; did you mean '__hyp_text'? >> [-Werror=implicit-function-declaration] if (is_hyp_ctxt(vcpu)) { ^~~ __hyp_text arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'kvm_timer_should_fire': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given cnt_ctl = read_sysreg_el0(cntp_ctl); ^ ~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: arch/arm/include/asm/cp15.h:63:27: error: '__read_sysreg' undeclared (first use in this function); did you mean 'vcpu_sysreg'? #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:14: note: in expansion of macro 'read_sysreg_el0' cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/include/asm/cp15.h:63:27: note: each undeclared identifier is reported only once for each function it appears in #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:277:14: note: in expansion of macro 'read_sysreg_el0' cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'timer_save_state': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:398:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given ctx->cnt_ctl = read_sysreg_el0(cntp_ctl); ^ ~~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: arch/arm/include/asm/cp15.h:63:27: error: '__read_sysreg' undeclared (first use in this function); did you mean 'vcpu_sysreg'? #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:398:18: note: in expansion of macro 'read_sysreg_el0' ctx->cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:399:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given ctx->cnt_cval = read_sysreg_el0(cntp_cval); ^ ~~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:402:1: error: macro "__write_sysreg" requires 5 arguments, but only 2 given write_sysreg_el0(0, cntp_ctl); ^ ~~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: arch/arm/include/asm/cp15.h:66:31: error: '__write_sysreg' undeclared (first use in this function); did you mean '__read_sysreg'? #define write_sysreg(v, ...) __write_sysreg(v, __VA_ARGS__) ^ arch/arm/include/asm/kvm_hyp.h:95:33: note: in expansion of macro 'write_sysreg' #define write_sysreg_el0(v, r) write_sysreg(v, r##_el0) ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:402:3: note: in expansion of macro 'write_sysreg_el0' write_sysreg_el0(0, cntp_ctl); ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'timer_restore_state': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:476:1: error: macro "__write_sysreg" requires 5 arguments, but only 2 given
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 46/75] arch/arm/kvm/../../../virt/kvm/arm/arm.c:125:8: error: implicit declaration of function 'kvm_init_stage2_mmu'; did you mean 'kvm_free_stage2_pgd'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 4d8a6cc25603cc92352d861970f1a678411af963 [46/75] KVM: arm64: nv: Move last_vcpu_ran to be per s2 mmu config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 4d8a6cc25603cc92352d861970f1a678411af963 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All error/warnings (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_init_vm': >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:125:8: error: implicit declaration >> of function 'kvm_init_stage2_mmu'; did you mean 'kvm_free_stage2_pgd'? >> [-Werror=implicit-function-declaration] ret = kvm_init_stage2_mmu(kvm, >arch.mmu); ^~~ kvm_free_stage2_pgd arch/arm/kvm/../../../virt/kvm/arm/arm.c:125:43: error: 'struct kvm_arch' has no member named 'mmu' ret = kvm_init_stage2_mmu(kvm, >arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:129:11: error: 'struct kvm_arch' has no member named 'nested_mmus' kvm->arch.nested_mmus = NULL; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:130:11: error: 'struct kvm_arch' has no member named 'nested_mmus_size' kvm->arch.nested_mmus_size = 0; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:144:32: error: 'struct kvm_arch' has no member named 'mmu' kvm_free_stage2_pgd(>arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_init': arch/arm/kvm/../../../virt/kvm/arm/arm.c:343:12: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:343:38: error: 'struct kvm_arch' has no member named 'mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_load': arch/arm/kvm/../../../virt/kvm/arm/arm.c:352:2: error: implicit declaration of function 'kvm_vcpu_load_hw_mmu'; did you mean 'kvm_vcpu_load_sysregs'? [-Werror=implicit-function-declaration] kvm_vcpu_load_hw_mmu(vcpu); ^~~~ kvm_vcpu_load_sysregs In file included from include/asm-generic/percpu.h:7:0, from arch/arm/include/asm/percpu.h:50, from include/linux/percpu.h:13, from include/linux/context_tracking_state.h:5, from include/linux/vtime.h:5, from include/linux/hardirq.h:8, from include/linux/kvm_host.h:10, from arch/arm/kvm/../../../virt/kvm/arm/arm.c:23: arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^ include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr' const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ ^~~ >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:13: note: in expansion of macro >> 'this_cpu_ptr' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^~~~ In file included from include/linux/compiler_types.h:68:0, from :0: arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^ include/linux/compiler-gcc.h:57:34: note: in definition of macro 'RELOC_HIDE' __asm__ ("" : "=r"(__ptr) : "0"(ptr));\ ^~~ include/linux/percpu-defs.h:249:2: note: in expansion of macro 'SHIFT_PERCPU_PTR' SHIFT_PERCPU_PTR(ptr, my_cpu_offset);\ ^~~~ >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:13: note: in expansion of macro >> 'this_cpu_ptr' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arm.c:354:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran); ^ include/linux/compiler-gcc.h:57:34: note: in definition of macro 'RELOC_HIDE' __asm__ ("" : "=r"(__ptr) : "0"(ptr));\ ^~~ include/linux/percpu-defs.h:249:2: note: in expansion of macro
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 45/75] arch/arm/kvm/../../../virt/kvm/arm/arm.c:1003:3: error: implicit declaration of function 'kvm_nested_s2_clear'; did you mean '__nodes_clear'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 3da39279c7b03e5f797de7c283a0de99f69e6a17 [45/75] KVM: arm64: nv: Unmap/flush shadow stage 2 page tables config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 3da39279c7b03e5f797de7c283a0de99f69e6a17 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_init_vm': arch/arm/kvm/../../../virt/kvm/arm/arm.c:133:39: error: 'struct kvm_arch' has no member named 'mmu' ret = kvm_alloc_stage2_pgd(>arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:138:11: error: 'struct kvm_arch' has no member named 'mmu' kvm->arch.mmu.vmid.vmid_gen = 0; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:139:11: error: 'struct kvm_arch' has no member named 'mmu' kvm->arch.mmu.kvm = kvm; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:140:11: error: 'struct kvm_arch' has no member named 'mmu' kvm->arch.mmu.vttbr = -1; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:141:11: error: 'struct kvm_arch' has no member named 'mmu' kvm->arch.mmu.nested_stage2_enabled = false; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:143:11: error: 'struct kvm_arch' has no member named 'nested_mmus' kvm->arch.nested_mmus = NULL; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:144:11: error: 'struct kvm_arch' has no member named 'nested_mmus_size' kvm->arch.nested_mmus_size = 0; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:158:32: error: 'struct kvm_arch' has no member named 'mmu' kvm_free_stage2_pgd(>arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_init': arch/arm/kvm/../../../virt/kvm/arm/arm.c:363:12: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:363:38: error: 'struct kvm_arch' has no member named 'mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_load': arch/arm/kvm/../../../virt/kvm/arm/arm.c:372:2: error: implicit declaration of function 'kvm_vcpu_load_hw_mmu'; did you mean 'kvm_vcpu_load_sysregs'? [-Werror=implicit-function-declaration] kvm_vcpu_load_hw_mmu(vcpu); ^~~~ kvm_vcpu_load_sysregs arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_put': arch/arm/kvm/../../../virt/kvm/arm/arm.c:406:2: error: implicit declaration of function 'kvm_vcpu_put_hw_mmu'; did you mean 'kvm_vcpu_dabt_is_cm'? [-Werror=implicit-function-declaration] kvm_vcpu_put_hw_mmu(vcpu); ^~~ kvm_vcpu_dabt_is_cm arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_ioctl_run': arch/arm/kvm/../../../virt/kvm/arm/arm.c:689:26: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' update_vmid(>arch.hw_mmu->vmid); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:738:48: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' if (ret <= 0 || need_new_vmid_gen(>arch.hw_mmu->vmid) || ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_vcpu_set_target': arch/arm/kvm/../../../virt/kvm/arm/arm.c:973:15: error: 'KVM_ARM_VCPU_NESTED_VIRT' undeclared (first use in this function); did you mean 'KVM_ARM_VCPU_TIMER_CTRL'? if (test_bit(KVM_ARM_VCPU_NESTED_VIRT, vcpu->arch.features)) { ^~~~ KVM_ARM_VCPU_TIMER_CTRL arch/arm/kvm/../../../virt/kvm/arm/arm.c:973:15: note: each undeclared identifier is reported only once for each function it appears in arch/arm/kvm/../../../virt/kvm/arm/arm.c:976:8: error: implicit declaration of function 'cpus_have_const_cap'; did you mean 'cpu_have_feature'? [-Werror=implicit-function-declaration] if (!cpus_have_const_cap(ARM64_HAS_NESTED_VIRT)) ^~~ cpu_have_feature arch/arm/kvm/../../../virt/kvm/arm/arm.c:976:28: error: 'ARM64_HAS_NESTED_VIRT' undeclared (first use in this function); did you mean 'KVM_ARM_VCPU_NESTED_VIRT'? if (!cpus_have_const_cap(ARM64_HAS_NESTED_VIRT)) ^ KVM_ARM_VCPU_NESTED_VIRT
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 44/75] arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1982:9: error: implicit declaration of function 'kvm_s2_handle_perm_fault'; did you mean 'handle_mm_fault'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: fbdecc14dd15c696fd86d28247a9b95b4635b8b1 [44/75] KVM: arm64: nv: Forward the guest hypervisor's stage 2 permission faults config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout fbdecc14dd15c696fd86d28247a9b95b4635b8b1 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1439:13: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static void stage2_wp_pmds(struct kvm_s2_mmu *mmu, pud_t *pud, ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1472:14: warning: unused variable 'kvm' [-Wunused-variable] struct kvm *kvm = mmu->kvm; ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: At top level: arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1496:36: warning: 'struct kvm_s2_mmu' declared inside parameter list will not be visible outside of this definition or declaration static void stage2_wp_range(struct kvm_s2_mmu *mmu, phys_addr_t addr, phys_addr_t end) ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'stage2_wp_range': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1498:23: error: dereferencing pointer to incomplete type 'struct kvm_s2_mmu' struct kvm *kvm = mmu->kvm; ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1518:19: error: passing argument 1 of 'stage2_wp_puds' from incompatible pointer type [-Werror=incompatible-pointer-types] stage2_wp_puds(mmu, pgd, addr, next); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1469:14: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static void stage2_wp_puds(struct kvm_s2_mmu *mmu, pgd_t *pgd, ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_mmu_wp_memory_region': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1543:28: error: 'struct kvm_arch' has no member named 'mmu' stage2_wp_range(>arch.mmu, start, end); ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_mmu_write_protect_pt_masked': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1567:28: error: 'struct kvm_arch' has no member named 'mmu' stage2_wp_range(>arch.mmu, start, end); ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: At top level: arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1665:13: warning: 'struct kvm_s2_trans' declared inside parameter list will not be visible outside of this definition or declaration struct kvm_s2_trans *nested, ^~~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'user_mem_abort': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1682:37: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' struct kvm_s2_mmu *mmu = vcpu->arch.hw_mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1709:6: error: implicit declaration of function 'kvm_is_shadow_s2_fault'; did you mean 'kvm_is_write_fault'? [-Werror=implicit-function-declaration] if (kvm_is_shadow_s2_fault(vcpu)) { ^~ kvm_is_write_fault arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1710:15: error: dereferencing pointer to incomplete type 'struct kvm_s2_trans' ipa = nested->output; ^~ In file included from include/asm-generic/bug.h:18:0, from arch/arm/include/asm/bug.h:60, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from include/linux/mman.h:5, from arch/arm/kvm/../../../virt/kvm/arm/mmu.c:19: include/linux/kernel.h:870:2: error: first argument to '__builtin_choose_expr' not a constant __builtin_choose_expr(__safe_cmp(x, y), \ ^ include/linux/kernel.h:879:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1717:18: note: in expansion of macro 'min' max_map_size = min(nested->block_size, max_map_size); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1810:47: error: passing argument 1 of 'stage2_is_exec' from incompatible pointer type [-Werror=incompatible-pointer-types] (fault_status == FSC_PERM && stage2_is_exec(mmu, fault_ipa));
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 43/75] arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1709:6: error: implicit declaration of function 'kvm_is_shadow_s2_fault'; did you mean 'kvm_is_write_fault'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 7804bbf602f8d97fc5237ea12cdf28064952085c [43/75] KVM: arm64: nv: Handle shadow stage 2 page faults config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 7804bbf602f8d97fc5237ea12cdf28064952085c # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All error/warnings (new ones prefixed by >>): struct kvm *kvm = mmu->kvm; ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: At top level: arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1188:35: warning: 'struct kvm_s2_mmu' declared inside parameter list will not be visible outside of this definition or declaration static bool stage2_is_exec(struct kvm_s2_mmu *mmu, phys_addr_t addr) ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'stage2_is_exec': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1195:32: error: passing argument 1 of 'stage2_get_leaf_entry' from incompatible pointer type [-Werror=incompatible-pointer-types] found = stage2_get_leaf_entry(mmu, addr, , , ); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1150:13: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static bool stage2_get_leaf_entry(struct kvm_s2_mmu *mmu, phys_addr_t addr, ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: At top level: arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1207:34: warning: 'struct kvm_s2_mmu' declared inside parameter list will not be visible outside of this definition or declaration static int stage2_set_pte(struct kvm_s2_mmu *mmu, ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'stage2_set_pte': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1212:23: error: dereferencing pointer to incomplete type 'struct kvm_s2_mmu' struct kvm *kvm = mmu->kvm; ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1222:23: error: passing argument 1 of 'stage2_get_pud' from incompatible pointer type [-Werror=incompatible-pointer-types] pud = stage2_get_pud(mmu, cache, addr); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1023:15: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static pud_t *stage2_get_pud(struct kvm_s2_mmu *mmu, struct kvm_mmu_memory_cache *cache, ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1236:23: error: passing argument 1 of 'stage2_dissolve_pud' from incompatible pointer type [-Werror=incompatible-pointer-types] stage2_dissolve_pud(mmu, addr, pud); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:127:13: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static void stage2_dissolve_pud(struct kvm_s2_mmu *mmu, phys_addr_t addr, pud_t *pudp) ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1260:23: error: passing argument 1 of 'stage2_dissolve_pmd' from incompatible pointer type [-Werror=incompatible-pointer-types] stage2_dissolve_pmd(mmu, addr, pmd); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:108:13: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static void stage2_dissolve_pmd(struct kvm_s2_mmu *mmu, phys_addr_t addr, pmd_t *pmd) ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1284:26: error: passing argument 1 of 'kvm_tlb_flush_vmid_ipa' from incompatible pointer type [-Werror=incompatible-pointer-types] kvm_tlb_flush_vmid_ipa(mmu, addr); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:69:13: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static void kvm_tlb_flush_vmid_ipa(struct kvm_s2_mmu *mmu, phys_addr_t ipa) ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1212:14: warning: unused variable 'kvm' [-Wunused-variable] struct kvm *kvm = mmu->kvm; ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_phys_addr_ioremap': arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1350:34: error: 'struct kvm_arch' has no member named 'mmu' ret = stage2_set_pte(>arch.mmu, , addr, , ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: At top level: arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1439:35: warning: 'struct kvm_s2_mmu' declared inside parameter list will not be
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 41/75] arch/arm/kvm/../../../virt/kvm/arm/arm.c:143:11: error: 'struct kvm_arch' has no member named 'nested_mmus'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 0b00bd6b80de27c662fbf905a92a6390ff13d7c6 [41/75] KVM: arm/arm64: nv: Support multiple nested stage 2 mmu structures config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 0b00bd6b80de27c662fbf905a92a6390ff13d7c6 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_init_vm': arch/arm/kvm/../../../virt/kvm/arm/arm.c:133:39: error: 'struct kvm_arch' has no member named 'mmu' ret = kvm_alloc_stage2_pgd(>arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:138:11: error: 'struct kvm_arch' has no member named 'mmu' kvm->arch.mmu.vmid.vmid_gen = 0; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:139:11: error: 'struct kvm_arch' has no member named 'mmu' kvm->arch.mmu.kvm = kvm; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:140:11: error: 'struct kvm_arch' has no member named 'mmu' kvm->arch.mmu.vttbr = -1; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:141:11: error: 'struct kvm_arch' has no member named 'mmu' kvm->arch.mmu.nested_stage2_enabled = false; ^ >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:143:11: error: 'struct kvm_arch' >> has no member named 'nested_mmus' kvm->arch.nested_mmus = NULL; ^ >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:144:11: error: 'struct kvm_arch' >> has no member named 'nested_mmus_size' kvm->arch.nested_mmus_size = 0; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:158:32: error: 'struct kvm_arch' has no member named 'mmu' kvm_free_stage2_pgd(>arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_init': arch/arm/kvm/../../../virt/kvm/arm/arm.c:363:12: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:363:38: error: 'struct kvm_arch' has no member named 'mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_load': >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:372:2: error: implicit declaration >> of function 'kvm_vcpu_load_hw_mmu'; did you mean 'kvm_vcpu_load_sysregs'? >> [-Werror=implicit-function-declaration] kvm_vcpu_load_hw_mmu(vcpu); ^~~~ kvm_vcpu_load_sysregs arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_put': >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:406:2: error: implicit declaration >> of function 'kvm_vcpu_put_hw_mmu'; did you mean 'kvm_vcpu_dabt_is_cm'? >> [-Werror=implicit-function-declaration] kvm_vcpu_put_hw_mmu(vcpu); ^~~ kvm_vcpu_dabt_is_cm arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_ioctl_run': arch/arm/kvm/../../../virt/kvm/arm/arm.c:689:26: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' update_vmid(>arch.hw_mmu->vmid); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:738:48: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' if (ret <= 0 || need_new_vmid_gen(>arch.hw_mmu->vmid) || ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_vcpu_set_target': >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:973:15: error: >> 'KVM_ARM_VCPU_NESTED_VIRT' undeclared (first use in this function); did you >> mean 'KVM_ARM_VCPU_TIMER_CTRL'? if (test_bit(KVM_ARM_VCPU_NESTED_VIRT, vcpu->arch.features)) { ^~~~ KVM_ARM_VCPU_TIMER_CTRL arch/arm/kvm/../../../virt/kvm/arm/arm.c:973:15: note: each undeclared identifier is reported only once for each function it appears in >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:976:8: error: implicit declaration >> of function 'cpus_have_const_cap'; did you mean 'cpu_have_feature'? >> [-Werror=implicit-function-declaration] if (!cpus_have_const_cap(ARM64_HAS_NESTED_VIRT)) ^~~ cpu_have_feature >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:976:28: error: >> 'ARM64_HAS_NESTED_VIRT' undeclared (first use in this function); did you >> mean 'KVM_ARM_VCPU_NESTED_VIRT'? if (!cpus_have_const_cap(ARM64_HAS_NESTED_VIRT)) ^
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 40/75] arch/arm/kvm/../../../virt/kvm/arm/arm.c:133:39: error: 'struct kvm_arch' has no member named 'mmu'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 80fce777386b95e1c6f5fdf09237b73397a1016f [40/75] KVM: arm/arm64: nv: Factor out stage 2 page table data from struct kvm config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 80fce777386b95e1c6f5fdf09237b73397a1016f # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All error/warnings (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_init_vm': >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:133:39: error: 'struct kvm_arch' >> has no member named 'mmu' ret = kvm_alloc_stage2_pgd(>arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:138:11: error: 'struct kvm_arch' has no member named 'mmu' kvm->arch.mmu.vmid.vmid_gen = 0; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:139:11: error: 'struct kvm_arch' has no member named 'mmu' kvm->arch.mmu.kvm = kvm; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:153:32: error: 'struct kvm_arch' has no member named 'mmu' kvm_free_stage2_pgd(>arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_init': >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:358:12: error: 'struct >> kvm_vcpu_arch' has no member named 'hw_mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:358:38: error: 'struct kvm_arch' has no member named 'mmu' vcpu->arch.hw_mmu = >kvm->arch.mmu; ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_ioctl_run': arch/arm/kvm/../../../virt/kvm/arm/arm.c:681:26: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' update_vmid(>arch.hw_mmu->vmid); ^ arch/arm/kvm/../../../virt/kvm/arm/arm.c:730:48: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu' if (ret <= 0 || need_new_vmid_gen(>arch.hw_mmu->vmid) || ^ -- arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'kvm_flush_remote_tlbs': >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:66:46: error: 'struct kvm_arch' has >> no member named 'mmu' kvm_call_hyp(__kvm_tlb_flush_vmid, kvm->arch.mmu); ^ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: At top level: >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:69:43: warning: 'struct kvm_s2_mmu' >> declared inside parameter list will not be visible outside of this >> definition or declaration static void kvm_tlb_flush_vmid_ipa(struct kvm_s2_mmu *mmu, phys_addr_t ipa) ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:108:40: warning: 'struct kvm_s2_mmu' declared inside parameter list will not be visible outside of this definition or declaration static void stage2_dissolve_pmd(struct kvm_s2_mmu *mmu, phys_addr_t addr, pmd_t *pmd) ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'stage2_dissolve_pmd': >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:114:25: error: passing argument 1 >> of 'kvm_tlb_flush_vmid_ipa' from incompatible pointer type >> [-Werror=incompatible-pointer-types] kvm_tlb_flush_vmid_ipa(mmu, addr); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:69:13: note: expected 'struct kvm_s2_mmu *' but argument is of type 'struct kvm_s2_mmu *' static void kvm_tlb_flush_vmid_ipa(struct kvm_s2_mmu *mmu, phys_addr_t ipa) ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: At top level: arch/arm/kvm/../../../virt/kvm/arm/mmu.c:127:40: warning: 'struct kvm_s2_mmu' declared inside parameter list will not be visible outside of this definition or declaration static void stage2_dissolve_pud(struct kvm_s2_mmu *mmu, phys_addr_t addr, pud_t *pudp) ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'stage2_dissolve_pud': >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:129:23: error: dereferencing >> pointer to incomplete type 'struct kvm_s2_mmu' struct kvm *kvm = mmu->kvm; ^~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:135:25: error: passing argument 1 of 'kvm_tlb_flush_vmid_ipa' from incompatible pointer type [-Werror=incompatible-pointer-types] kvm_tlb_flush_vmid_ipa(mmu, addr); ^~~ arch/arm/kvm/../../../virt/kvm/arm/mmu.c:69:13: note: expected
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 7/75] arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro 'read_sysreg'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: a20386f683ceee36d9e2dfee115f6f8ae6ece031 [7/75] KVM: arm/arm64: arch_timer: Assign the phys timer on VHE systems config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout a20386f683ceee36d9e2dfee115f6f8ae6ece031 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All error/warnings (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'kvm_timer_should_fire': >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:221:1: error: macro >> "__read_sysreg" requires 4 arguments, but only 1 given cnt_ctl = read_sysreg_el0(cntp_ctl); ^ ~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: >> arch/arm/include/asm/cp15.h:63:27: error: '__read_sysreg' undeclared (first >> use in this function); did you mean 'vcpu_sysreg'? #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ >> arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro >> 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:221:14: note: in expansion >> of macro 'read_sysreg_el0' cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/include/asm/cp15.h:63:27: note: each undeclared identifier is reported only once for each function it appears in #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ >> arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro >> 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:221:14: note: in expansion >> of macro 'read_sysreg_el0' cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'timer_save_state': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:371:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given ctx->cnt_ctl = read_sysreg_el0(cntp_ctl); ^ ~~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: >> arch/arm/include/asm/cp15.h:63:27: error: '__read_sysreg' undeclared (first >> use in this function); did you mean 'vcpu_sysreg'? #define read_sysreg(...) __read_sysreg(__VA_ARGS__) ^ >> arch/arm/include/asm/kvm_hyp.h:94:29: note: in expansion of macro >> 'read_sysreg' #define read_sysreg_el0(r) read_sysreg(r##_el0) ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:371:18: note: in expansion of macro 'read_sysreg_el0' ctx->cnt_ctl = read_sysreg_el0(cntp_ctl); ^~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:372:1: error: macro "__read_sysreg" requires 4 arguments, but only 1 given ctx->cnt_cval = read_sysreg_el0(cntp_cval); ^ ~~~ >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:375:1: error: macro >> "__write_sysreg" requires 5 arguments, but only 2 given write_sysreg_el0(0, cntp_ctl); ^ ~~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: >> arch/arm/include/asm/cp15.h:66:31: error: '__write_sysreg' undeclared (first >> use in this function); did you mean '__read_sysreg'? #define write_sysreg(v, ...) __write_sysreg(v, __VA_ARGS__) ^ >> arch/arm/include/asm/kvm_hyp.h:95:33: note: in expansion of macro >> 'write_sysreg' #define write_sysreg_el0(v, r) write_sysreg(v, r##_el0) ^~~~ >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:375:3: note: in expansion of >> macro 'write_sysreg_el0' write_sysreg_el0(0, cntp_ctl); ^~~~ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'timer_restore_state': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:441:1: error: macro "__write_sysreg" requires 5 arguments, but only 2 given write_sysreg_el0(ctx->cnt_cval, cntp_cval); ^ ~~~ In file included from arch/arm/include/asm/kvm_hyp.h:23:0, from arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:29: >> arch/arm/include/asm/cp15.h:66:31: error: '__write_sysreg' undeclared (first >> use in
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 4/75] arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:700:7: error: 'SYS_CNTP_TVAL_EL0' undeclared
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: 2b1265c58a873d917e99ac762e243c1274481dbf [4/75] KVM: arm/arm64: consolidate arch timer trap handlers config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 2b1265c58a873d917e99ac762e243c1274481dbf # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'get_timer_from_sysreg': >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:700:7: error: >> 'SYS_CNTP_TVAL_EL0' undeclared (first use in this function) case SYS_CNTP_TVAL_EL0: ^ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:700:7: note: each undeclared identifier is reported only once for each function it appears in >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:701:7: error: >> 'SYS_CNTP_CTL_EL0' undeclared (first use in this function); did you mean >> 'SYS_CNTP_TVAL_EL0'? case SYS_CNTP_CTL_EL0: ^~~~ SYS_CNTP_TVAL_EL0 >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:702:7: error: >> 'SYS_CNTP_CVAL_EL0' undeclared (first use in this function); did you mean >> 'SYS_CNTP_TVAL_EL0'? case SYS_CNTP_CVAL_EL0: ^ SYS_CNTP_TVAL_EL0 >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:703:7: error: >> 'SYS_AARCH32_CNTP_TVAL' undeclared (first use in this function) case SYS_AARCH32_CNTP_TVAL: ^ >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:704:7: error: >> 'SYS_AARCH32_CNTP_CTL' undeclared (first use in this function); did you mean >> 'SYS_AARCH32_CNTP_TVAL'? case SYS_AARCH32_CNTP_CTL: ^~~~ SYS_AARCH32_CNTP_TVAL >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:705:7: error: >> 'SYS_AARCH32_CNTP_CVAL' undeclared (first use in this function); did you >> mean 'SYS_AARCH32_CNTP_TVAL'? case SYS_AARCH32_CNTP_CVAL: ^ SYS_AARCH32_CNTP_TVAL arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'kvm_arm_timer_read_sysreg': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:723:7: error: 'SYS_CNTP_TVAL_EL0' undeclared (first use in this function) case SYS_CNTP_TVAL_EL0: ^ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:724:7: error: 'SYS_AARCH32_CNTP_TVAL' undeclared (first use in this function) case SYS_AARCH32_CNTP_TVAL: ^ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:728:7: error: 'SYS_CNTP_CTL_EL0' undeclared (first use in this function); did you mean 'SYS_CNTP_TVAL_EL0'? case SYS_CNTP_CTL_EL0: ^~~~ SYS_CNTP_TVAL_EL0 arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:729:7: error: 'SYS_AARCH32_CNTP_CTL' undeclared (first use in this function); did you mean 'SYS_AARCH32_CNTP_TVAL'? case SYS_AARCH32_CNTP_CTL: ^~~~ SYS_AARCH32_CNTP_TVAL arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:733:7: error: 'SYS_CNTP_CVAL_EL0' undeclared (first use in this function); did you mean 'SYS_CNTP_TVAL_EL0'? case SYS_CNTP_CVAL_EL0: ^ SYS_CNTP_TVAL_EL0 arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:734:7: error: 'SYS_AARCH32_CNTP_CVAL' undeclared (first use in this function); did you mean 'SYS_AARCH32_CNTP_TVAL'? case SYS_AARCH32_CNTP_CVAL: ^ SYS_AARCH32_CNTP_TVAL arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'kvm_arm_timer_write_sysreg': arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:758:7: error: 'SYS_CNTP_TVAL_EL0' undeclared (first use in this function) case SYS_CNTP_TVAL_EL0: ^ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:759:7: error: 'SYS_AARCH32_CNTP_TVAL' undeclared (first use in this function) case SYS_AARCH32_CNTP_TVAL: ^ arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:763:7: error: 'SYS_CNTP_CTL_EL0' undeclared (first use in this function); did you mean 'SYS_CNTP_TVAL_EL0'? case SYS_CNTP_CTL_EL0: ^~~~ SYS_CNTP_TVAL_EL0 arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:764:7: error: 'SYS_AARCH32_CNTP_CTL' undeclared (first use in this function); did you mean 'SYS_AARCH32_CNTP_TVAL'? case SYS_AARCH32_CNTP_CTL: ^~~~ SYS_AARCH32_CNTP_TVAL arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:768:7: error: 'SYS_CNTP_CVAL_EL0' undeclared (first use in this function); did
[kvmarm:kvm-arm64/nv-wip-v5.0-rc1 3/75] arch/arm/kvm/hyp/../../../../virt/kvm/arm/hyp/vgic-v3-sr.c:229:11: note: in expansion of macro 'read_gicreg'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1 head: 688c386ca096f2c1f2eee386697586c88df5d5bc commit: b8e5fdc85a46524d44283eca009e13f1dc91920c [3/75] KVM: arm64: Fix ICH_ELRSR_EL2 sysreg naming config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout b8e5fdc85a46524d44283eca009e13f1dc91920c # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All error/warnings (new ones prefixed by >>): In file included from include/linux/irqchip/arm-gic-v3.h:578:0, from arch/arm/kvm/hyp/../../../../virt/kvm/arm/hyp/vgic-v3-sr.c:19: arch/arm/kvm/hyp/../../../../virt/kvm/arm/hyp/vgic-v3-sr.c: In function '__vgic_v3_save_state': >> arch/arm/include/asm/arch_gicv3.h:184:40: error: implicit declaration of >> function 'read_ICH_ELRSR_EL2'; did you mean 'read_ICH_ELSR_EL2'? >> [-Werror=implicit-function-declaration] #define read_gicreg(r) read_##r() ^ >> arch/arm/kvm/hyp/../../../../virt/kvm/arm/hyp/vgic-v3-sr.c:229:11: note: in >> expansion of macro 'read_gicreg' elrsr = read_gicreg(ICH_ELRSR_EL2); ^~~ cc1: some warnings being treated as errors vim +/read_gicreg +229 arch/arm/kvm/hyp/../../../../virt/kvm/arm/hyp/vgic-v3-sr.c 207 208 void __hyp_text __vgic_v3_save_state(struct kvm_vcpu *vcpu) 209 { 210 struct vgic_v3_cpu_if *cpu_if = >arch.vgic_cpu.vgic_v3; 211 u64 used_lrs = vcpu->arch.vgic_cpu.used_lrs; 212 213 /* 214 * Make sure stores to the GIC via the memory mapped interface 215 * are now visible to the system register interface when reading the 216 * LRs, and when reading back the VMCR on non-VHE systems. 217 */ 218 if (used_lrs || !has_vhe()) { 219 if (!cpu_if->vgic_sre) { 220 dsb(sy); 221 isb(); 222 } 223 } 224 225 if (used_lrs) { 226 int i; 227 u32 elrsr; 228 > 229 elrsr = read_gicreg(ICH_ELRSR_EL2); 230 231 write_gicreg(cpu_if->vgic_hcr & ~ICH_HCR_EN, ICH_HCR_EL2); 232 233 for (i = 0; i < used_lrs; i++) { 234 if (elrsr & (1 << i)) 235 cpu_if->vgic_lr[i] &= ~ICH_LR_STATE; 236 else 237 cpu_if->vgic_lr[i] = __gic_v3_get_lr(i); 238 239 __gic_v3_set_lr(0, i); 240 } 241 } 242 } 243 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
[kvmarm:next 2/28] ERROR: "numa_slit" [drivers/nvme/host/nvme-core.ko] undefined!
Hi Mark, First bad commit (maybe != root cause): tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next head: 8c33df1afd86c611da8473dc6fc5f3af3dabe984 commit: bd7d95cafb499e24903b7d21f9eeb2c5208160c2 [2/28] arm64: KVM: Consistently advance singlestep when emulating instructions config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 8.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout bd7d95cafb499e24903b7d21f9eeb2c5208160c2 # save the attached .config to linux build tree GCC_VERSION=8.1.0 make.cross ARCH=ia64 Note: the kvmarm/next HEAD 8c33df1afd86c611da8473dc6fc5f3af3dabe984 builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): ERROR: "ia64_delay_loop" [drivers/spi/spi-thunderx.ko] undefined! >> ERROR: "numa_slit" [drivers/nvme/host/nvme-core.ko] undefined! >> ERROR: "__sw_hweight8" [drivers/net/wireless/mediatek/mt76/mt76.ko] >> undefined! >> ERROR: "ia64_delay_loop" [drivers/net/phy/mdio-cavium.ko] undefined! -- ERROR: "ia64_delay_loop" [drivers/spi/spi-thunderx.ko] undefined! >> ERROR: "__sw_hweight8" [drivers/net/wireless/mediatek/mt76/mt76.ko] >> undefined! >> ERROR: "ia64_delay_loop" [drivers/net/phy/mdio-cavium.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
[kvmarm:queue 26/31] arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1636:20: error: 'S2_PMD_MASK' undeclared; did you mean 'PMD_MASK'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git queue head: 0c4011a2150b6d177cdd06c887615594a4693179 commit: 3c780d1840b62d9b5f2abffad6cc1373033ed6ea [26/31] KVM: arm/arm64: Fix unintended stage 2 PMD mappings config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 3c780d1840b62d9b5f2abffad6cc1373033ed6ea # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All error/warnings (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/mmu.c: In function 'fault_supports_stage2_pmd_mappings': >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1636:20: error: 'S2_PMD_MASK' >> undeclared (first use in this function); did you mean 'PMD_MASK'? if ((gpa_start & ~S2_PMD_MASK) != (uaddr_start & ~S2_PMD_MASK)) ^~~ PMD_MASK arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1636:20: note: each undeclared identifier is reported only once for each function it appears in >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1652:31: error: 'S2_PMD_SIZE' >> undeclared (first use in this function); did you mean 'PMD_SIZE'? (hva & S2_PMD_MASK) + S2_PMD_SIZE <= uaddr_end; ^~~ PMD_SIZE >> arch/arm/kvm/../../../virt/kvm/arm/mmu.c:1653:1: warning: control reaches >> end of non-void function [-Wreturn-type] } ^ vim +1636 arch/arm/kvm/../../../virt/kvm/arm/mmu.c 1597 1598 static bool fault_supports_stage2_pmd_mappings(struct kvm_memory_slot *memslot, 1599 unsigned long hva) 1600 { 1601 gpa_t gpa_start, gpa_end; 1602 hva_t uaddr_start, uaddr_end; 1603 size_t size; 1604 1605 size = memslot->npages * PAGE_SIZE; 1606 1607 gpa_start = memslot->base_gfn << PAGE_SHIFT; 1608 gpa_end = gpa_start + size; 1609 1610 uaddr_start = memslot->userspace_addr; 1611 uaddr_end = uaddr_start + size; 1612 1613 /* 1614 * Pages belonging to memslots that don't have the same alignment 1615 * within a PMD for userspace and IPA cannot be mapped with stage-2 1616 * PMD entries, because we'll end up mapping the wrong pages. 1617 * 1618 * Consider a layout like the following: 1619 * 1620 *memslot->userspace_addr: 1621 *+-+++---+ 1622 *|abcde|fgh Stage-1 PMD|Stage-1 PMD tv|xyz| 1623 *+-+++---+ 1624 * 1625 *memslot->base_gfn << PAGE_SIZE: 1626 * +---+++-+ 1627 * |abc|def Stage-2 PMD|Stage-2 PMD |tvxyz| 1628 * +---+++-+ 1629 * 1630 * If we create those stage-2 PMDs, we'll end up with this incorrect 1631 * mapping: 1632 * d -> f 1633 * e -> g 1634 * f -> h 1635 */ > 1636 if ((gpa_start & ~S2_PMD_MASK) != (uaddr_start & ~S2_PMD_MASK)) 1637 return false; 1638 1639 /* 1640 * Next, let's make sure we're not trying to map anything not covered 1641 * by the memslot. This means we have to prohibit PMD size mappings 1642 * for the beginning and end of a non-PMD aligned and non-PMD sized 1643 * memory slot (illustrated by the head and tail parts of the 1644 * userspace view above containing pages 'abcde' and 'xyz', 1645 * respectively). 1646 * 1647 * Note that it doesn't matter if we do the check using the 1648 * userspace_addr or the base_gfn, as both are equally aligned (per 1649 * the check above) and equally sized. 1650 */ 1651 return (hva & S2_PMD_MASK) >= uaddr_start && > 1652 (hva & S2_PMD_MASK) + S2_PMD_SIZE <= uaddr_end; > 1653 } 1654 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH -next 2/3] mm: speed up mremap by 20x on large regions (v4)
Hi Joel, Thank you for the patch! Yet something to improve: [auto build test ERROR on next-20181102] url: https://github.com/0day-ci/linux/commits/Joel-Fernandes/Add-support-for-fast-mremap/20181103-224908 config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 8.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=8.1.0 make.cross ARCH=xtensa All errors (new ones prefixed by >>): mm/mremap.c: In function 'move_normal_pmd': >> mm/mremap.c:229:2: error: implicit declaration of function 'set_pmd_at'; did >> you mean 'set_pte_at'? [-Werror=implicit-function-declaration] set_pmd_at(mm, new_addr, new_pmd, pmd); ^~ set_pte_at cc1: some warnings being treated as errors vim +229 mm/mremap.c 193 194 static bool move_normal_pmd(struct vm_area_struct *vma, unsigned long old_addr, 195unsigned long new_addr, unsigned long old_end, 196pmd_t *old_pmd, pmd_t *new_pmd) 197 { 198 spinlock_t *old_ptl, *new_ptl; 199 struct mm_struct *mm = vma->vm_mm; 200 pmd_t pmd; 201 202 if ((old_addr & ~PMD_MASK) || (new_addr & ~PMD_MASK) 203 || old_end - old_addr < PMD_SIZE) 204 return false; 205 206 /* 207 * The destination pmd shouldn't be established, free_pgtables() 208 * should have release it. 209 */ 210 if (WARN_ON(!pmd_none(*new_pmd))) 211 return false; 212 213 /* 214 * We don't have to worry about the ordering of src and dst 215 * ptlocks because exclusive mmap_sem prevents deadlock. 216 */ 217 old_ptl = pmd_lock(vma->vm_mm, old_pmd); 218 new_ptl = pmd_lockptr(mm, new_pmd); 219 if (new_ptl != old_ptl) 220 spin_lock_nested(new_ptl, SINGLE_DEPTH_NESTING); 221 222 /* Clear the pmd */ 223 pmd = *old_pmd; 224 pmd_clear(old_pmd); 225 226 VM_BUG_ON(!pmd_none(*new_pmd)); 227 228 /* Set the new pmd */ > 229 set_pmd_at(mm, new_addr, new_pmd, pmd); 230 flush_tlb_range(vma, old_addr, old_addr + PMD_SIZE); 231 if (new_ptl != old_ptl) 232 spin_unlock(new_ptl); 233 spin_unlock(old_ptl); 234 235 return true; 236 } 237 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH -next 2/3] mm: speed up mremap by 20x on large regions (v4)
Hi Joel, Thank you for the patch! Yet something to improve: [auto build test ERROR on next-20181102] url: https://github.com/0day-ci/linux/commits/Joel-Fernandes/Add-support-for-fast-mremap/20181103-224908 config: openrisc-or1ksim_defconfig (attached as .config) compiler: or1k-linux-gcc (GCC) 6.0.0 20160327 (experimental) reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=openrisc All errors (new ones prefixed by >>): mm/mremap.c: In function 'move_normal_pmd': >> mm/mremap.c:229:2: error: implicit declaration of function 'set_pmd_at' >> [-Werror=implicit-function-declaration] set_pmd_at(mm, new_addr, new_pmd, pmd); ^~ cc1: some warnings being treated as errors vim +/set_pmd_at +229 mm/mremap.c 193 194 static bool move_normal_pmd(struct vm_area_struct *vma, unsigned long old_addr, 195unsigned long new_addr, unsigned long old_end, 196pmd_t *old_pmd, pmd_t *new_pmd) 197 { 198 spinlock_t *old_ptl, *new_ptl; 199 struct mm_struct *mm = vma->vm_mm; 200 pmd_t pmd; 201 202 if ((old_addr & ~PMD_MASK) || (new_addr & ~PMD_MASK) 203 || old_end - old_addr < PMD_SIZE) 204 return false; 205 206 /* 207 * The destination pmd shouldn't be established, free_pgtables() 208 * should have release it. 209 */ 210 if (WARN_ON(!pmd_none(*new_pmd))) 211 return false; 212 213 /* 214 * We don't have to worry about the ordering of src and dst 215 * ptlocks because exclusive mmap_sem prevents deadlock. 216 */ 217 old_ptl = pmd_lock(vma->vm_mm, old_pmd); 218 new_ptl = pmd_lockptr(mm, new_pmd); 219 if (new_ptl != old_ptl) 220 spin_lock_nested(new_ptl, SINGLE_DEPTH_NESTING); 221 222 /* Clear the pmd */ 223 pmd = *old_pmd; 224 pmd_clear(old_pmd); 225 226 VM_BUG_ON(!pmd_none(*new_pmd)); 227 228 /* Set the new pmd */ > 229 set_pmd_at(mm, new_addr, new_pmd, pmd); 230 flush_tlb_range(vma, old_addr, old_addr + PMD_SIZE); 231 if (new_ptl != old_ptl) 232 spin_unlock(new_ptl); 233 spin_unlock(old_ptl); 234 235 return true; 236 } 237 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
[kvmarm:kvm-arm64/nv-wip 2/5] arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:84:7: error: implicit declaration of function 'is_hyp_ctxt'; did you mean '__hyp_text'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip head: 03b558f083eda25ac9bd2e7af7d751ba34a2124a commit: e6b4cd37fbd22bd9f9964141628fe5db75fb6a8d [2/5] KVM: arm/arm64: timer: Support hyp timer emulation for nested virt config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout e6b4cd37fbd22bd9f9964141628fe5db75fb6a8d # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'get_timer_map': >> arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c:84:7: error: implicit >> declaration of function 'is_hyp_ctxt'; did you mean '__hyp_text'? >> [-Werror=implicit-function-declaration] if (is_hyp_ctxt(vcpu)) { ^~~ __hyp_text cc1: some warnings being treated as errors vim +84 arch/arm/kvm/../../../virt/kvm/arm/arch_timer.c 80 81 static void get_timer_map(struct kvm_vcpu *vcpu, struct timer_map *map) 82 { 83 if (nested_virt_in_use(vcpu)) { > 84 if (is_hyp_ctxt(vcpu)) { 85 map->direct_vtimer = vcpu_hvtimer(vcpu); 86 map->direct_ptimer = vcpu_hptimer(vcpu); 87 map->emul_vtimer = vcpu_vtimer(vcpu); 88 map->emul_ptimer = vcpu_ptimer(vcpu); 89 } else { 90 map->direct_vtimer = vcpu_vtimer(vcpu); 91 map->direct_ptimer = vcpu_ptimer(vcpu); 92 map->emul_vtimer = vcpu_hvtimer(vcpu); 93 map->emul_ptimer = vcpu_hptimer(vcpu); 94 } 95 } 96 97 if (has_vhe()) { 98 map->direct_vtimer = vcpu_vtimer(vcpu); 99 map->direct_ptimer = vcpu_ptimer(vcpu); 100 map->emul_vtimer = NULL; 101 map->emul_ptimer = NULL; 102 } else { 103 map->direct_vtimer = vcpu_vtimer(vcpu); 104 map->direct_ptimer = NULL; 105 map->emul_vtimer = NULL; 106 map->emul_ptimer = vcpu_ptimer(vcpu); 107 } 108 } 109 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v5 12/20] ACPI / APEI: Don't store CPER records physical address in struct ghes
Hi James, I love your patch! Yet something to improve: [auto build test ERROR on pm/linux-next] [also build test ERROR on v4.18-rc2 next-20180626] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/James-Morse/APEI-in_nmi-rework-and-arm64-SDEI-wire-up/20180627-024229 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next config: i386-randconfig-i1-201825 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/acpi/apei/ghes.c: In function 'ghes_read_estatus': >> drivers/acpi/apei/ghes.c:300:17: error: passing argument 1 of 'apei_read' >> from incompatible pointer type [-Werror=incompatible-pointer-types] rc = apei_read(buf_paddr, >error_status_address); ^ In file included from drivers/acpi/apei/ghes.c:57:0: drivers/acpi/apei/apei-internal.h:80:5: note: expected 'u64 * {aka long long unsigned int *}' but argument is of type 'phys_addr_t * {aka unsigned int *}' int apei_read(u64 *val, struct acpi_generic_address *reg); ^ cc1: some warnings being treated as errors vim +/apei_read +300 drivers/acpi/apei/ghes.c 291 292 static int ghes_read_estatus(struct ghes *ghes, 293 struct acpi_hest_generic_status *estatus, 294 phys_addr_t *buf_paddr, int fixmap_idx) 295 { 296 struct acpi_hest_generic *g = ghes->generic; 297 u32 len; 298 int rc; 299 > 300 rc = apei_read(buf_paddr, >error_status_address); 301 if (rc) { 302 if (printk_ratelimit()) 303 pr_warning(FW_WARN GHES_PFX 304 "Failed to read error status block address for hardware error source: %d.\n", 305 g->header.source_id); 306 return -EIO; 307 } 308 if (!*buf_paddr) 309 return -ENOENT; 310 311 ghes_copy_tofrom_phys(estatus, *buf_paddr, 312sizeof(*estatus), 1, fixmap_idx); 313 if (!estatus->block_status) 314 return -ENOENT; 315 316 ghes->flags |= GHES_TO_CLEAR; 317 318 rc = -EIO; 319 len = cper_estatus_len(estatus); 320 if (len < sizeof(*estatus)) 321 goto err_read_block; 322 if (len > ghes->generic->error_block_length) 323 goto err_read_block; 324 if (cper_estatus_check_header(estatus)) 325 goto err_read_block; 326 ghes_copy_tofrom_phys(estatus + 1, 327*buf_paddr + sizeof(*estatus), 328len - sizeof(*estatus), 1, fixmap_idx); 329 if (cper_estatus_check(estatus)) 330 goto err_read_block; 331 rc = 0; 332 333 err_read_block: 334 if (rc && printk_ratelimit()) 335 pr_warning(FW_WARN GHES_PFX 336 "Failed to read error status block!\n"); 337 return rc; 338 } 339 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v7 08/13] KVM: arm/arm64: Remove kvm_vgic_vcpu_early_init
Hi Eric, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on kvmarm/next] [also build test WARNING on v4.17-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Eric-Auger/KVM-arm-arm64-Allow-multiple-GICv3-redistributor-regions/20180522-004717 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-init.c: In function 'kvm_vgic_vcpu_init': >> arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-init.c:199:9: warning: 'ret' >> may be used uninitialized in this function [-Wmaybe-uninitialized] int i, ret; ^~~ vim +/ret +199 arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-init.c 185 186 /** 187 * kvm_vgic_vcpu_init() - Initialize static VGIC VCPU data 188 * structures and register VCPU-specific KVM iodevs 189 * 190 * @vcpu: pointer to the VCPU being created and initialized 191 * 192 * Only do initialization, but do not actually enable the 193 * VGIC CPU interface 194 */ 195 int kvm_vgic_vcpu_init(struct kvm_vcpu *vcpu) 196 { 197 struct vgic_cpu *vgic_cpu = >arch.vgic_cpu; 198 struct vgic_dist *dist = >kvm->arch.vgic; > 199 int i, ret; 200 201 INIT_LIST_HEAD(_cpu->ap_list_head); 202 spin_lock_init(_cpu->ap_list_lock); 203 204 /* 205 * Enable and configure all SGIs to be edge-triggered and 206 * configure all PPIs as level-triggered. 207 */ 208 for (i = 0; i < VGIC_NR_PRIVATE_IRQS; i++) { 209 struct vgic_irq *irq = _cpu->private_irqs[i]; 210 211 INIT_LIST_HEAD(>ap_list); 212 spin_lock_init(>irq_lock); 213 irq->intid = i; 214 irq->vcpu = NULL; 215 irq->target_vcpu = vcpu; 216 irq->targets = 1U << vcpu->vcpu_id; 217 kref_init(>refcount); 218 if (vgic_irq_is_sgi(i)) { 219 /* SGIs */ 220 irq->enabled = 1; 221 irq->config = VGIC_CONFIG_EDGE; 222 } else { 223 /* PPIs */ 224 irq->config = VGIC_CONFIG_LEVEL; 225 } 226 } 227 228 if (!irqchip_in_kernel(vcpu->kvm)) 229 return 0; 230 231 /* 232 * If we are creating a VCPU with a GICv3 we must also register the 233 * KVM io device for the redistributor that belongs to this VCPU. 234 */ 235 if (dist->vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) { 236 mutex_lock(>kvm->lock); 237 ret = vgic_register_redist_iodev(vcpu); 238 mutex_unlock(>kvm->lock); 239 } 240 return ret; 241 } 242 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
[kvmarm:queue 13/29] arch/arm/kvm/../../../virt/kvm/arm/arm.c:1598:6: error: implicit declaration of function 'system_supports_sve'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git queue head: f2d1aab22d57235b58db391d318727d3e5ef1e89 commit: 61d47b5d95db9a4ce12c50ffaa6918a40619984f [13/29] KVM: arm64: Save host SVE context as appropriate config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 61d47b5d95db9a4ce12c50ffaa6918a40619984f # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_ioctl_run': arch/arm/kvm/../../../virt/kvm/arm/arm.c:785:3: error: implicit declaration of function 'kvm_arch_vcpu_ctxsync_fp'; did you mean 'kvm_arch_vcpu_put_fp'? [-Werror=implicit-function-declaration] kvm_arch_vcpu_ctxsync_fp(vcpu); ^~~~ kvm_arch_vcpu_put_fp arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_init': >> arch/arm/kvm/../../../virt/kvm/arm/arm.c:1598:6: error: implicit declaration >> of function 'system_supports_sve' [-Werror=implicit-function-declaration] if (system_supports_sve() && !has_vhe()) { ^~~ cc1: some warnings being treated as errors vim +/system_supports_sve +1598 arch/arm/kvm/../../../virt/kvm/arm/arm.c 1564 1565 /** 1566 * Initialize Hyp-mode and memory mappings on all CPUs. 1567 */ 1568 int kvm_arch_init(void *opaque) 1569 { 1570 int err; 1571 int ret, cpu; 1572 bool in_hyp_mode; 1573 1574 if (!is_hyp_mode_available()) { 1575 kvm_info("HYP mode not available\n"); 1576 return -ENODEV; 1577 } 1578 1579 for_each_online_cpu(cpu) { 1580 smp_call_function_single(cpu, check_kvm_target_cpu, , 1); 1581 if (ret < 0) { 1582 kvm_err("Error, CPU %d not supported!\n", cpu); 1583 return -ENODEV; 1584 } 1585 } 1586 1587 /* 1588 * VHE is a prerequisite for SVE in the Arm architecture, and 1589 * Kconfig ensures that if system_supports_sve() here then 1590 * CONFIG_ARM64_VHE is enabled, so if VHE support wasn't already 1591 * detected and enabled, the CPU is architecturally 1592 * noncompliant. 1593 * 1594 * Just in case this mismatch is seen, detect it, warn and give 1595 * up. Supporting this forbidden configuration in Hyp would be 1596 * pointless. 1597 */ > 1598 if (system_supports_sve() && !has_vhe()) { 1599 kvm_pr_unimpl("SVE system without VHE unsupported. Broken cpu?"); 1600 return -ENODEV; 1601 } 1602 1603 err = init_common_resources(); 1604 if (err) 1605 return err; 1606 1607 in_hyp_mode = is_kernel_in_hyp_mode(); 1608 1609 if (!in_hyp_mode) { 1610 err = init_hyp_mode(); 1611 if (err) 1612 goto out_err; 1613 } 1614 1615 err = init_subsystems(); 1616 if (err) 1617 goto out_hyp; 1618 1619 if (in_hyp_mode) 1620 kvm_info("VHE mode initialized successfully\n"); 1621 else 1622 kvm_info("Hyp mode initialized successfully\n"); 1623 1624 return 0; 1625 1626 out_hyp: 1627 if (!in_hyp_mode) 1628 teardown_hyp_mode(); 1629 out_err: 1630 return err; 1631 } 1632 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v2 08/11] firmware: arm_sdei: Add ACPI GHES registration helper
Hi James, I love your patch! Yet something to improve: [auto build test ERROR on pm/linux-next] [also build test ERROR on v4.16-rc6] [cannot apply to arm64/for-next/core next-20180323] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/James-Morse/APEI-in_nmi-rework-and-arm64-SDEI-wire-up/20180325-064638 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next config: arm64-allmodconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): drivers//firmware/arm_sdei.c: In function 'sdei_register_ghes': >> drivers//firmware/arm_sdei.c:921:26: error: 'FIX_APEI_GHES_SDEI_CRITICAL' >> undeclared (first use in this function) ghes->nmi_fixmap_idx = FIX_APEI_GHES_SDEI_CRITICAL; ^~~ drivers//firmware/arm_sdei.c:921:26: note: each undeclared identifier is reported only once for each function it appears in >> drivers//firmware/arm_sdei.c:924:26: error: 'FIX_APEI_GHES_SDEI_NORMAL' >> undeclared (first use in this function); did you mean >> 'FIX_APEI_GHES_SDEI_CRITICAL'? ghes->nmi_fixmap_idx = FIX_APEI_GHES_SDEI_NORMAL; ^ FIX_APEI_GHES_SDEI_CRITICAL vim +/FIX_APEI_GHES_SDEI_CRITICAL +921 drivers//firmware/arm_sdei.c 895 896 int sdei_register_ghes(struct ghes *ghes, sdei_event_callback *cb) 897 { 898 int err; 899 u32 event_num; 900 u64 result; 901 902 if (acpi_disabled) 903 return -EOPNOTSUPP; 904 905 event_num = ghes->generic->notify.vector; 906 if (event_num == 0) { 907 /* 908 * Event 0 is reserved by the specification for 909 * SDEI_EVENT_SIGNAL. 910 */ 911 return -EINVAL; 912 } 913 914 err = sdei_api_event_get_info(event_num, SDEI_EVENT_INFO_EV_PRIORITY, 915); 916 if (err) 917 return err; 918 919 if (result == SDEI_EVENT_PRIORITY_CRITICAL) { 920 ghes->nmi_fixmap_lock = _ghes_fixmap_lock_critical; > 921 ghes->nmi_fixmap_idx = FIX_APEI_GHES_SDEI_CRITICAL; 922 } else { 923 ghes->nmi_fixmap_lock = _ghes_fixmap_lock_normal; > 924 ghes->nmi_fixmap_idx = FIX_APEI_GHES_SDEI_NORMAL; 925 } 926 927 err = sdei_event_register(event_num, cb, ghes); 928 if (!err) 929 err = sdei_event_enable(event_num); 930 931 return err; 932 } 933 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v2] KVM: arm/arm64 : add lpi info in vgic-debug
Hi Peng, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on kvmarm/next] [also build test WARNING on v4.16-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Peng-Hao/KVM-arm-arm64-add-lpi-info-in-vgic-debug/20180324-151050 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-debug.c: In function 'vgic_debug_show': >> arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-debug.c:225:2: warning: >> 'type' may be used uninitialized in this function [-Wmaybe-uninitialized] seq_printf(s, " %s %4d " ^~ "%2d " ~~ "%d%d%d%d%d%d " ~~~ "%8d " ~~ "%8x " ~~ " %2x " ~~~ "%3d " ~~ " %2d " ~~~ "\n", ~ type, irq->intid, ~ (irq->target_vcpu) ? irq->target_vcpu->vcpu_id : -1, irq->pending_latch, ~~~ irq->line_level, irq->active, irq->enabled, ~ irq->hw, irq->config == VGIC_CONFIG_LEVEL, ~ irq->hwintid, ~ irq->mpidr, ~~~ irq->source, irq->priority, ~~ (irq->vcpu) ? irq->vcpu->vcpu_id : -1); ~~ arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-debug.c:212:8: note: 'type' was declared here char *type; ^~~~ vim +/type +225 arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-debug.c 10f92c4c Christoffer Dall 2017-01-17 208 10f92c4c Christoffer Dall 2017-01-17 209 static void print_irq_state(struct seq_file *s, struct vgic_irq *irq, 10f92c4c Christoffer Dall 2017-01-17 210 struct kvm_vcpu *vcpu) 10f92c4c Christoffer Dall 2017-01-17 211 { 10f92c4c Christoffer Dall 2017-01-17 212 char *type; 10f92c4c Christoffer Dall 2017-01-17 213 if (irq->intid < VGIC_NR_SGIS) 10f92c4c Christoffer Dall 2017-01-17 214 type = "SGI"; 10f92c4c Christoffer Dall 2017-01-17 215 else if (irq->intid < VGIC_NR_PRIVATE_IRQS) 10f92c4c Christoffer Dall 2017-01-17 216 type = "PPI"; 01d84373 Peng Hao 2018-03-24 217 else if (irq->intid < VGIC_MAX_SPI) 10f92c4c Christoffer Dall 2017-01-17 218 type = "SPI"; 01d84373 Peng Hao 2018-03-24 219 else if (irq->intid >= VGIC_MIN_LPI) 01d84373 Peng Hao 2018-03-24 220 type = "LPI"; 10f92c4c Christoffer Dall 2017-01-17 221 10f92c4c Christoffer Dall 2017-01-17 222 if (irq->intid ==0 || irq->intid == VGIC_NR_PRIVATE_IRQS) 10f92c4c Christoffer Dall 2017-01-17 223 print_header(s, irq, vcpu); 10f92c4c Christoffer Dall 2017-01-17 224 10f92c4c Christoffer Dall 2017-01-17 @225 seq_printf(s, " %s %4d " 10f92c4c Christoffer Dall 2017-01-17 226 "%2d " 10f92c4c Christoffer Dall 2017-01-17 227 "%d%d%d%d%d%d " 10f92c4c Christoffer Dall 2017-01-17 228 "%8d " 10f92c4c Christoffer Dall 2017-01-17 229 "%8x " 10f92c4c Christoffer Dall 2017-01-17 230 " %2x " 10f92c4c Christoffer Dall 2017-01-17 231 "%3d " 10f92c4c Christoffer Dall 2017-01-17 232 " %2d " 10f92c4c Christoffer Dall 2017-01-17 233 "\n", 10f92c4c Christoffer Dall 2017-01-17 234 type, irq->intid, 10f92c4c Christoffer Dall 2017-01-17 235 (irq->target_vcpu) ? irq->target_vcpu->vcpu_id : -1, 10f92c4c Christoffer Dall 2017-01-17 236 irq->pending_latch, 10f92c4c Christoffer Dall 2017-01-17 237 irq->line_level, 10f92c4c Christoffer Dall 2017-01-17 238 irq->active, 10f92c4c Christoffer Dall 2017-01-17 239 irq->enabled, 10f92c4c Christoffer Dall
Re: [PATCH 7/7] Enable KASan for arm
Hi Andrey, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.16-rc6] [cannot apply to next-20180319] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Abbott-Liu/KASan-for-arm/20180319-120138 config: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kernel/entry-common.S: Assembler messages: >> arch/arm/kernel/entry-common.S:85: Error: invalid constant >> (b6e0) after fixup vim +85 arch/arm/kernel/entry-common.S ^1da177e4 Linus Torvalds 2005-04-16 68 3302caddf Russell King2015-08-20 69 /* Ok, we need to do extra processing, enter the slow path. */ ^1da177e4 Linus Torvalds 2005-04-16 70 fast_work_pending: ^1da177e4 Linus Torvalds 2005-04-16 71 str r0, [sp, #S_R0+S_OFF]! @ returned r0 3302caddf Russell King2015-08-20 72 /* fall through to work_pending */ 3302caddf Russell King2015-08-20 73 #else 3302caddf Russell King2015-08-20 74 /* 3302caddf Russell King2015-08-20 75 * The "replacement" ret_fast_syscall for when tracing or context tracking 3302caddf Russell King2015-08-20 76 * is enabled. As we will need to call out to some C functions, we save 3302caddf Russell King2015-08-20 77 * r0 first to avoid needing to save registers around each C function call. 3302caddf Russell King2015-08-20 78 */ 3302caddf Russell King2015-08-20 79 ret_fast_syscall: 3302caddf Russell King2015-08-20 80 UNWIND(.fnstart ) 3302caddf Russell King2015-08-20 81 UNWIND(.cantunwind ) 3302caddf Russell King2015-08-20 82 str r0, [sp, #S_R0 + S_OFF]!@ save returned r0 3302caddf Russell King2015-08-20 83 disable_irq_notrace @ disable interrupts e33f8d326 Thomas Garnier 2017-09-07 84 ldr r2, [tsk, #TI_ADDR_LIMIT] e33f8d326 Thomas Garnier 2017-09-07 @85 cmp r2, #TASK_SIZE e33f8d326 Thomas Garnier 2017-09-07 86 blneaddr_limit_check_failed 3302caddf Russell King2015-08-20 87 ldr r1, [tsk, #TI_FLAGS] @ re-check for syscall tracing 2404269bc Thomas Garnier 2017-09-07 88 tst r1, #_TIF_SYSCALL_WORK | _TIF_WORK_MASK 3302caddf Russell King2015-08-20 89 beq no_work_pending 3302caddf Russell King2015-08-20 90 UNWIND(.fnend ) 3302caddf Russell King2015-08-20 91 ENDPROC(ret_fast_syscall) 3302caddf Russell King2015-08-20 92 3302caddf Russell King2015-08-20 93 /* Slower path - fall through to work_pending */ 3302caddf Russell King2015-08-20 94 #endif 3302caddf Russell King2015-08-20 95 3302caddf Russell King2015-08-20 96 tst r1, #_TIF_SYSCALL_WORK 3302caddf Russell King2015-08-20 97 bne __sys_trace_return_nosave 3302caddf Russell King2015-08-20 98 slow_work_pending: ^1da177e4 Linus Torvalds 2005-04-16 99 mov r0, sp @ 'regs' ^1da177e4 Linus Torvalds 2005-04-16 100 mov r2, why @ 'syscall' 0a267fa6a Al Viro 2012-07-19 101 bl do_work_pending 662852178 Al Viro 2012-07-19 102 cmp r0, #0 81783786d Al Viro 2012-07-19 103 beq no_work_pending 662852178 Al Viro 2012-07-19 104 movlt scno, #(__NR_restart_syscall - __NR_SYSCALL_BASE) 81783786d Al Viro 2012-07-19 105 ldmia sp, {r0 - r6} @ have to reload r0 - r6 81783786d Al Viro 2012-07-19 106 b local_restart @ ... and off we go e83dd3770 Drew Richardson 2015-08-06 107 ENDPROC(ret_fast_syscall) 81783786d Al Viro 2012-07-19 108 :: The code at line 85 was first introduced by commit :: e33f8d32677fa4f4f8996ef46748f86aac81ccff arm/syscalls: Optimize address limit check :: TO: Thomas Garnier:: CC: Thomas Gleixner --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 3/4] iommu/virtio: Add event queue
Hi Jean-Philippe, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.16-rc2 next-20180221] [cannot apply to iommu/next] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jean-Philippe-Brucker/Add-virtio-iommu-driver/20180217-075417 config: parisc-allmodconfig (attached as .config) compiler: hppa-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=parisc All errors (new ones prefixed by >>): drivers/iommu/virtio-iommu.o: In function `virtio_iommu_drv_init': (.init.text+0x24): undefined reference to `register_virtio_driver' drivers/iommu/virtio-iommu.o: In function `viommu_send_reqs_sync': (.text.viommu_send_reqs_sync+0xdc): undefined reference to `virtqueue_add_sgs' (.text.viommu_send_reqs_sync+0x12c): undefined reference to `virtqueue_kick' (.text.viommu_send_reqs_sync+0x29c): undefined reference to `virtqueue_get_buf' drivers/iommu/virtio-iommu.o: In function `viommu_event_handler': >> (.text.viommu_event_handler+0x288): undefined reference to >> `virtqueue_add_inbuf' >> (.text.viommu_event_handler+0x2a8): undefined reference to >> `virtqueue_get_buf' >> (.text.viommu_event_handler+0x2b8): undefined reference to `virtqueue_kick' drivers/iommu/virtio-iommu.o: In function `viommu_probe': (.text.viommu_probe+0x1a0): undefined reference to `virtio_check_driver_offered_feature' (.text.viommu_probe+0x248): undefined reference to `virtio_check_driver_offered_feature' (.text.viommu_probe+0x2ec): undefined reference to `virtio_check_driver_offered_feature' (.text.viommu_probe+0x328): undefined reference to `virtio_check_driver_offered_feature' >> (.text.viommu_probe+0x428): undefined reference to `virtqueue_add_inbuf' >> (.text.viommu_probe+0x440): undefined reference to `virtqueue_kick' drivers/iommu/virtio-iommu.o: In function `virtio_iommu_drv_exit': (.exit.text+0x18): undefined reference to `unregister_virtio_driver' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 1/4] iommu: Add virtio-iommu driver
Hi Jean-Philippe, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.16-rc2 next-20180221] [cannot apply to iommu/next] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jean-Philippe-Brucker/Add-virtio-iommu-driver/20180217-075417 config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=ia64 All errors (new ones prefixed by >>): drivers/iommu/virtio-iommu.o: In function `viommu_send_reqs_sync': >> virtio-iommu.c:(.text+0xa82): undefined reference to `virtqueue_add_sgs' >> virtio-iommu.c:(.text+0xb52): undefined reference to `virtqueue_kick' >> virtio-iommu.c:(.text+0xd82): undefined reference to `virtqueue_get_buf' drivers/iommu/virtio-iommu.o: In function `viommu_probe': >> virtio-iommu.c:(.text+0x23f2): undefined reference to >> `virtio_check_driver_offered_feature' virtio-iommu.c:(.text+0x2572): undefined reference to `virtio_check_driver_offered_feature' virtio-iommu.c:(.text+0x26f2): undefined reference to `virtio_check_driver_offered_feature' drivers/iommu/virtio-iommu.o: In function `virtio_iommu_drv_init': >> virtio-iommu.c:(.init.text+0x22): undefined reference to >> `register_virtio_driver' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 1/4] iommu: Add virtio-iommu driver
Hi Jean-Philippe, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.16-rc2 next-20180221] [cannot apply to iommu/next] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jean-Philippe-Brucker/Add-virtio-iommu-driver/20180217-075417 config: arm64-allmodconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): aarch64-linux-gnu-ld: arch/arm64/kernel/head.o: relocation R_AARCH64_ABS32 against `_kernel_offset_le_lo32' can not be used when making a shared object arch/arm64/kernel/head.o: In function `kimage_vaddr': (.idmap.text+0x0): dangerous relocation: unsupported relocation arch/arm64/kernel/head.o: In function `__primary_switch': (.idmap.text+0x340): dangerous relocation: unsupported relocation (.idmap.text+0x348): dangerous relocation: unsupported relocation drivers/iommu/virtio-iommu.o: In function `viommu_probe': virtio-iommu.c:(.text+0xbdc): undefined reference to `virtio_check_driver_offered_feature' virtio-iommu.c:(.text+0xcfc): undefined reference to `virtio_check_driver_offered_feature' virtio-iommu.c:(.text+0xe10): undefined reference to `virtio_check_driver_offered_feature' drivers/iommu/virtio-iommu.o: In function `viommu_send_reqs_sync': virtio-iommu.c:(.text+0x130c): undefined reference to `virtqueue_add_sgs' virtio-iommu.c:(.text+0x1398): undefined reference to `virtqueue_kick' virtio-iommu.c:(.text+0x14d4): undefined reference to `virtqueue_get_buf' drivers/iommu/virtio-iommu.o: In function `virtio_iommu_drv_init': virtio-iommu.c:(.init.text+0x1c): undefined reference to `register_virtio_driver' drivers/iommu/virtio-iommu.o: In function `virtio_iommu_drv_exit': >> virtio-iommu.c:(.exit.text+0x14): undefined reference to >> `unregister_virtio_driver' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH] arm64: Add support for new control bits CTR_EL0.IDC and CTR_EL0.IDC
Hi Shanker, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.16-rc2 next-20180219] [cannot apply to arm64/for-next/core] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shanker-Donthineni/arm64-Add-support-for-new-control-bits-CTR_EL0-IDC-and-CTR_EL0-IDC/20180219-031155 config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): arch/arm64/kernel/hibernate-asm.S: Assembler messages: >> arch/arm64/kernel/hibernate-asm.S:101: Error: unexpected comma after the >> mnemonic name `mrs' -- `mrs ,ctr_el0' >> arch/arm64/kernel/hibernate-asm.S:101: Error: operand 2 must be an integer >> register -- `ubfm x3,,#16,#19' -- arch/arm64/kernel/relocate_kernel.S: Assembler messages: >> arch/arm64/kernel/relocate_kernel.S:37: Error: unexpected comma after the >> mnemonic name `mrs' -- `mrs ,ctr_el0' >> arch/arm64/kernel/relocate_kernel.S:37: Error: operand 2 must be an integer >> register -- `ubfm x0,,#16,#19' vim +101 arch/arm64/kernel/hibernate-asm.S 82869ac57 James Morse2016-04-27 46 82869ac57 James Morse2016-04-27 47 82869ac57 James Morse2016-04-27 48 /* 82869ac57 James Morse2016-04-27 49 * Resume from hibernate 82869ac57 James Morse2016-04-27 50 * 82869ac57 James Morse2016-04-27 51 * Loads temporary page tables then restores the memory image. 82869ac57 James Morse2016-04-27 52 * Finally branches to cpu_resume() to restore the state saved by 82869ac57 James Morse2016-04-27 53 * swsusp_arch_suspend(). 82869ac57 James Morse2016-04-27 54 * 82869ac57 James Morse2016-04-27 55 * Because this code has to be copied to a 'safe' page, it can't call out to 82869ac57 James Morse2016-04-27 56 * other functions by PC-relative address. Also remember that it may be 82869ac57 James Morse2016-04-27 57 * mid-way through over-writing other functions. For this reason it contains 82869ac57 James Morse2016-04-27 58 * code from flush_icache_range() and uses the copy_page() macro. 82869ac57 James Morse2016-04-27 59 * 82869ac57 James Morse2016-04-27 60 * This 'safe' page is mapped via ttbr0, and executed from there. This function 82869ac57 James Morse2016-04-27 61 * switches to a copy of the linear map in ttbr1, performs the restore, then 82869ac57 James Morse2016-04-27 62 * switches ttbr1 to the original kernel's swapper_pg_dir. 82869ac57 James Morse2016-04-27 63 * 82869ac57 James Morse2016-04-27 64 * All of memory gets written to, including code. We need to clean the kernel 82869ac57 James Morse2016-04-27 65 * text to the Point of Coherence (PoC) before secondary cores can be booted. 82869ac57 James Morse2016-04-27 66 * Because the kernel modules and executable pages mapped to user space are 82869ac57 James Morse2016-04-27 67 * also written as data, we clean all pages we touch to the Point of 82869ac57 James Morse2016-04-27 68 * Unification (PoU). 82869ac57 James Morse2016-04-27 69 * 82869ac57 James Morse2016-04-27 70 * x0: physical address of temporary page tables 82869ac57 James Morse2016-04-27 71 * x1: physical address of swapper page tables 82869ac57 James Morse2016-04-27 72 * x2: address of cpu_resume 82869ac57 James Morse2016-04-27 73 * x3: linear map address of restore_pblist in the current kernel 82869ac57 James Morse2016-04-27 74 * x4: physical address of __hyp_stub_vectors, or 0 82869ac57 James Morse2016-04-27 75 * x5: physical address of a zero page that remains zero after resume 82869ac57 James Morse2016-04-27 76 */ 82869ac57 James Morse2016-04-27 77 .pushsection ".hibernate_exit.text", "ax" 82869ac57 James Morse2016-04-27 78 ENTRY(swsusp_arch_suspend_exit) 82869ac57 James Morse2016-04-27 79/* 82869ac57 James Morse2016-04-27 80 * We execute from ttbr0, change ttbr1 to our copied linear map tables 82869ac57 James Morse2016-04-27 81 * with a break-before-make via the zero page 82869ac57 James Morse2016-04-27 82 */ 529c4b05a Kristina Martsenko 2017-12-13 83break_before_make_ttbr_switch x5, x0, x6 82869ac57 James Morse2016-04-27 84 82869ac57 James Morse2016-04-27 85mov x21, x1 82869ac57 James Morse2016-04-27 86mov
Re: [PATCH v2 07/16] arm/arm64: KVM: Add PSCI version selection API
Hi Marc, I love your patch! Yet something to improve: [auto build test ERROR on arm64/for-next/core] [cannot apply to kvmarm/next linus/master v4.15 next-20180126] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Marc-Zyngier/arm64-Add-SMCCC-v1-1-support-and-CVE-2017-5715-Spectre-variant-2-mitigation/20180131-234336 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 Note: the linux-review/Marc-Zyngier/arm64-Add-SMCCC-v1-1-support-and-CVE-2017-5715-Spectre-variant-2-mitigation/20180131-234336 HEAD 8c17f9fc363230480b44d05f728350e6fa448bd4 builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): arch/arm64/kvm/../../../virt/kvm/arm/psci.c: In function 'kvm_arm_get_fw_reg': >> arch/arm64/kvm/../../../virt/kvm/arm/psci.c:443:9: error: too many arguments >> to function 'kvm_psci_version' val = kvm_psci_version(vcpu, vcpu->kvm); ^~~~ arch/arm64/kvm/../../../virt/kvm/arm/psci.c:237:5: note: declared here int kvm_psci_version(struct kvm_vcpu *vcpu) ^~~~ vim +/kvm_psci_version +443 arch/arm64/kvm/../../../virt/kvm/arm/psci.c 436 437 int kvm_arm_get_fw_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) 438 { 439 if (reg->id == KVM_REG_ARM_PSCI_VERSION) { 440 void __user *uaddr = (void __user *)(long)reg->addr; 441 u64 val; 442 > 443 val = kvm_psci_version(vcpu, vcpu->kvm); 444 if (val == KVM_ARM_PSCI_0_1) 445 return -EINVAL; 446 if (copy_to_user(uaddr, , KVM_REG_SIZE(reg->id))) 447 return -EFAULT; 448 449 return 0; 450 } 451 452 return -EINVAL; 453 } 454 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v1 3/3] KVM: arm64: add ESB in exception handler entry and exit.
Hi Dongjiu, Thank you for the patch! Yet something to improve: [auto build test ERROR on arm64/for-next/core] [also build test ERROR on v4.14-rc7 next-20171103] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dongjiu-Geng/arm64-add-a-macro-for-SError-synchronization/20171104-224216 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core config: arm64-allmodconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): arch/arm64/kvm/hyp/entry.S: Assembler messages: >> arch/arm64/kvm/hyp/entry.S:88: Error: selected processor does not support >> `esb' -- arch/arm64/kvm/hyp/hyp-entry.S: Assembler messages: >> arch/arm64/kvm/hyp/hyp-entry.S:57: Error: selected processor does not >> support `esb' vim +88 arch/arm64/kvm/hyp/entry.S 51 52 /* 53 * u64 __guest_enter(struct kvm_vcpu *vcpu, 54 * struct kvm_cpu_context *host_ctxt); 55 */ 56 ENTRY(__guest_enter) 57 // x0: vcpu 58 // x1: host context 59 // x2-x17: clobbered by macros 60 // x18: guest context 61 62 // Store the host regs 63 save_callee_saved_regs x1 64 65 // Store the host_ctxt for use at exit time 66 str x1, [sp, #-16]! 67 68 add x18, x0, #VCPU_CONTEXT 69 70 // Restore guest regs x0-x17 71 ldp x0, x1, [x18, #CPU_XREG_OFFSET(0)] 72 ldp x2, x3, [x18, #CPU_XREG_OFFSET(2)] 73 ldp x4, x5, [x18, #CPU_XREG_OFFSET(4)] 74 ldp x6, x7, [x18, #CPU_XREG_OFFSET(6)] 75 ldp x8, x9, [x18, #CPU_XREG_OFFSET(8)] 76 ldp x10, x11, [x18, #CPU_XREG_OFFSET(10)] 77 ldp x12, x13, [x18, #CPU_XREG_OFFSET(12)] 78 ldp x14, x15, [x18, #CPU_XREG_OFFSET(14)] 79 ldp x16, x17, [x18, #CPU_XREG_OFFSET(16)] 80 81 // Restore guest regs x19-x29, lr 82 restore_callee_saved_regs x18 83 84 // Restore guest reg x18 85 ldr x18, [x18, #CPU_XREG_OFFSET(18)] 86 87 // synchronize host pending asynchronous error > 88 error_synchronize 89 // Do not touch any register after this! 90 eret 91 ENDPROC(__guest_enter) 92 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v1 2/3] arm64: add error synchronization barrier in kernel_entry/kernel_exit
Hi Dongjiu, Thank you for the patch! Yet something to improve: [auto build test ERROR on arm64/for-next/core] [also build test ERROR on v4.14-rc7 next-20171103] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dongjiu-Geng/arm64-add-a-macro-for-SError-synchronization/20171104-224216 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): arch/arm64/kernel/entry.S: Assembler messages: >> arch/arm64/kernel/entry.S:439: Error: selected processor does not support >> `esb' arch/arm64/kernel/entry.S:443: Error: selected processor does not support `esb' arch/arm64/kernel/entry.S:447: Error: selected processor does not support `esb' arch/arm64/kernel/entry.S:451: Error: selected processor does not support `esb' arch/arm64/kernel/entry.S:456: Error: selected processor does not support `esb' arch/arm64/kernel/entry.S:460: Error: selected processor does not support `esb' arch/arm64/kernel/entry.S:601: Error: selected processor does not support `esb' arch/arm64/kernel/entry.S:629: Error: selected processor does not support `esb' arch/arm64/kernel/entry.S:670: Error: selected processor does not support `esb' arch/arm64/kernel/entry.S:777: Error: selected processor does not support `esb' arch/arm64/kernel/entry.S:806: Error: selected processor does not support `esb' arch/arm64/kernel/entry.S:832: Error: selected processor does not support `esb' vim +439 arch/arm64/kernel/entry.S 872d8327 Mark Rutland2017-07-14 425 60ffc30d Catalin Marinas 2012-03-05 426 /* 60ffc30d Catalin Marinas 2012-03-05 427 * Invalid mode handlers 60ffc30d Catalin Marinas 2012-03-05 428 */ 60ffc30d Catalin Marinas 2012-03-05 429.macro inv_entry, el, reason, regsize = 64 b660950c Ard Biesheuvel 2016-03-18 430kernel_entry \el, \regsize 60ffc30d Catalin Marinas 2012-03-05 431mov x0, sp 60ffc30d Catalin Marinas 2012-03-05 432mov x1, #\reason 60ffc30d Catalin Marinas 2012-03-05 433mrs x2, esr_el1 2d0e751a Mark Rutland2017-07-26 434bl bad_mode 2d0e751a Mark Rutland2017-07-26 435ASM_BUG() 60ffc30d Catalin Marinas 2012-03-05 436.endm 60ffc30d Catalin Marinas 2012-03-05 437 60ffc30d Catalin Marinas 2012-03-05 438 el0_sync_invalid: 60ffc30d Catalin Marinas 2012-03-05 @439inv_entry 0, BAD_SYNC 60ffc30d Catalin Marinas 2012-03-05 440 ENDPROC(el0_sync_invalid) 60ffc30d Catalin Marinas 2012-03-05 441 60ffc30d Catalin Marinas 2012-03-05 442 el0_irq_invalid: 60ffc30d Catalin Marinas 2012-03-05 443inv_entry 0, BAD_IRQ 60ffc30d Catalin Marinas 2012-03-05 444 ENDPROC(el0_irq_invalid) 60ffc30d Catalin Marinas 2012-03-05 445 60ffc30d Catalin Marinas 2012-03-05 446 el0_fiq_invalid: 60ffc30d Catalin Marinas 2012-03-05 447inv_entry 0, BAD_FIQ 60ffc30d Catalin Marinas 2012-03-05 448 ENDPROC(el0_fiq_invalid) 60ffc30d Catalin Marinas 2012-03-05 449 60ffc30d Catalin Marinas 2012-03-05 450 el0_error_invalid: 60ffc30d Catalin Marinas 2012-03-05 451inv_entry 0, BAD_ERROR 60ffc30d Catalin Marinas 2012-03-05 452 ENDPROC(el0_error_invalid) 60ffc30d Catalin Marinas 2012-03-05 453 :: The code at line 439 was first introduced by commit :: 60ffc30d5652810dd34ea2eec41504222f5d5791 arm64: Exception handling :: TO: Catalin Marinas:: CC: Catalin Marinas --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH] arm64: KVM: VHE: save and restore some PSTATE bits
Hi gengdongjiu, [auto build test ERROR on arm64/for-next/core] [also build test ERROR on v4.13 next-20170906] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/gengdongjiu/arm64-KVM-VHE-save-and-restore-some-PSTATE-bits/20170907-013418 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): /tmp/ccT6UpbP.s: Assembler messages: >> /tmp/ccT6UpbP.s:1415: Error: constant expression required /tmp/ccT6UpbP.s:1439: Error: constant expression required >> /tmp/ccT6UpbP.s:1420: Error: attempt to move .org backwards /tmp/ccT6UpbP.s:1444: Error: attempt to move .org backwards --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v2] arm64: kvm: route synchronous external abort exceptions to el2
Hi Dongjiu, [auto build test ERROR on kvm/linux-next] [also build test ERROR on v4.12-rc6 next-20170623] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dongjiu-Geng/arm64-kvm-route-synchronous-external-abort-exceptions-to-el2/20170626-051545 base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): In file included from arch/arm64/kvm/../../../virt/kvm/arm/arm.c:45:0: arch/arm64/include/asm/kvm_emulate.h: In function 'vcpu_reset_hcr': >> arch/arm64/include/asm/kvm_emulate.h:50:26: error: 'ARM64_HAS_RAS_EXTN' >> undeclared (first use in this function) if (cpus_have_const_cap(ARM64_HAS_RAS_EXTN)) { ^~ arch/arm64/include/asm/kvm_emulate.h:50:26: note: each undeclared identifier is reported only once for each function it appears in vim +/ARM64_HAS_RAS_EXTN +50 arch/arm64/include/asm/kvm_emulate.h 44 45 static inline void vcpu_reset_hcr(struct kvm_vcpu *vcpu) 46 { 47 vcpu->arch.hcr_el2 = HCR_GUEST_FLAGS; 48 if (is_kernel_in_hyp_mode()) 49 vcpu->arch.hcr_el2 |= HCR_E2H; > 50 if (cpus_have_const_cap(ARM64_HAS_RAS_EXTN)) { 51 /* route synchronous external abort exceptions to EL2 */ 52 vcpu->arch.hcr_el2 |= HCR_TEA; 53 /* trap error record accesses */ --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
[kvmarm:master 1/3] arch/arm/kvm/mmu.c:302:14: error: 'S2_PUD_SIZE' undeclared
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git master head: 1f1c45c6f66a586ca420ca02cbd93a35690394f9 commit: f9d9eb7f7a2c7e388861fe1cdb253f63e63555fe [1/3] kvm: arm/arm64: Fix locking for kvm_free_stage2_pgd config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout f9d9eb7f7a2c7e388861fe1cdb253f63e63555fe # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/mmu.c: In function 'unmap_stage2_range': >> arch/arm/kvm/mmu.c:302:14: error: 'S2_PUD_SIZE' undeclared (first use in >> this function) if (size > S2_PUD_SIZE) ^~~ arch/arm/kvm/mmu.c:302:14: note: each undeclared identifier is reported only once for each function it appears in vim +/S2_PUD_SIZE +302 arch/arm/kvm/mmu.c 296 pgd = kvm->arch.pgd + stage2_pgd_index(addr); 297 do { 298 /* 299 * If the range is too large, release the kvm->mmu_lock 300 * to prevent starvation and lockup detector warnings. 301 */ > 302 if (size > S2_PUD_SIZE) 303 cond_resched_lock(>mmu_lock); 304 next = stage2_pgd_addr_end(addr, end); 305 if (!stage2_pgd_none(*pgd)) --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v4 13/22] KVM: arm64: ITS: KVM_DEV_ARM_VGIC_GRP_ITS_TABLES group
Hi Eric, [auto build test ERROR on kvmarm/next] [also build test ERROR on v4.11-rc4 next-20170327] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Eric-Auger/vITS-save-restore/20170327-195443 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-its.c: In function 'vgic_its_has_attr': >> arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-its.c:1766:33: error: 'its' >> undeclared (first use in this function) return vgic_its_table_restore(its); ^~~ arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-its.c:1766:33: note: each undeclared identifier is reported only once for each function it appears in vim +/its +1766 arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-its.c 1750 case KVM_DEV_ARM_VGIC_CTRL_INIT: 1751 return 0; 1752 } 1753 break; 1754 case KVM_DEV_ARM_VGIC_GRP_ITS_REGS: { 1755 u64 __user *uaddr = (u64 __user *)(long)attr->addr; 1756 u64 reg; 1757 1758 if (get_user(reg, uaddr)) 1759 return -EFAULT; 1760 1761 return vgic_its_attr_regs_access(dev, attr, , true); 1762 } 1763 case KVM_DEV_ARM_VGIC_GRP_ITS_TABLES: 1764 if (attr->attr) 1765 return -EINVAL; > 1766 return vgic_its_table_restore(its); 1767 } 1768 return -ENXIO; 1769 } 1770 1771 static int vgic_its_set_attr(struct kvm_device *dev, 1772 struct kvm_device_attr *attr) 1773 { 1774 struct vgic_its *its = dev->private; --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH] kvm: pass the virtual SEI syndrome to guest OS
Hi Dongjiu, [auto build test ERROR on arm64/for-next/core] [also build test ERROR on v4.11-rc3 next-20170321] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dongjiu-Geng/kvm-pass-the-virtual-SEI-syndrome-to-guest-OS/20170321-152433 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core config: arm64-allmodconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): /tmp/ccWmLqCE.s: Assembler messages: >> /tmp/ccWmLqCE.s:677: Error: selected processor does not support system >> register name 'vsesr_el2' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH V9 05/10] acpi: apei: handle SEA notification type for ARMv8
Hi Tyler, [auto build test WARNING on pm/linux-next] [also build test WARNING on v4.10-rc8 next-20170215] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Tyler-Baicar/Add-UEFI-2-6-and-ACPI-6-1-updates-for-RAS-on-ARM64/20170216-020811 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All warnings (new ones prefixed by >>): warning: (ARM64) selects HAVE_ACPI_APEI_SEA which has unmet direct dependencies (ACPI && ARM64 && ACPI_APEI_GHES) --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH V8 09/10] trace, ras: add ARM processor error trace event
Hi Tyler, [auto build test ERROR on pm/linux-next] [also build test ERROR on v4.10-rc6 next-20170201] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Tyler-Baicar/Add-UEFI-2-6-and-ACPI-6-1-updates-for-RAS-on-ARM64/20170202-020320 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next config: x86_64-randconfig-r0-02020102 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/built-in.o: In function `ghes_do_proc.isra.9': >> ghes.c:(.text+0x92fda): undefined reference to `__tracepoint_arm_event' ghes.c:(.text+0x9300a): undefined reference to `__tracepoint_arm_event' ghes.c:(.text+0x93054): undefined reference to `__tracepoint_arm_event' ghes.c:(.text+0x93083): undefined reference to `__tracepoint_unknown_sec_event' ghes.c:(.text+0x930b8): undefined reference to `__tracepoint_unknown_sec_event' ghes.c:(.text+0x93121): undefined reference to `__tracepoint_unknown_sec_event' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH V8 08/10] ras: acpi / apei: generate trace event for unrecognized CPER section
Hi Tyler, [auto build test ERROR on pm/linux-next] [also build test ERROR on v4.10-rc6 next-20170201] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Tyler-Baicar/Add-UEFI-2-6-and-ACPI-6-1-updates-for-RAS-on-ARM64/20170202-020320 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next config: x86_64-randconfig-r0-02020102 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/built-in.o: In function `ghes_do_proc.isra.9': >> ghes.c:(.text+0x92f3a): undefined reference to >> `__tracepoint_unknown_sec_event' ghes.c:(.text+0x92f73): undefined reference to `__tracepoint_unknown_sec_event' ghes.c:(.text+0x92fdb): undefined reference to `__tracepoint_unknown_sec_event' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH V8 05/10] acpi: apei: handle SEA notification type for ARMv8
Hi Tyler, [auto build test ERROR on pm/linux-next] [also build test ERROR on v4.10-rc6 next-20170201] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Tyler-Baicar/Add-UEFI-2-6-and-ACPI-6-1-updates-for-RAS-on-ARM64/20170202-020320 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): arch/arm64/mm/built-in.o: In function `do_sea': >> arch/arm64/mm/fault.c:511: undefined reference to `ghes_notify_sea' arch/arm64/mm/fault.c:511:(.text+0x1868): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `ghes_notify_sea' vim +511 arch/arm64/mm/fault.c 505 506 /* 507 * synchronize_rcu() will wait for nmi_exit(), so no need to 508 * rcu_read_lock(). 509 */ 510 nmi_enter(); > 511 ghes_notify_sea(); 512 nmi_exit(); 513 514 info.si_signo = SIGBUS; --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v2] KVM: arm/arm64: vgic: Add debugfs vgic-state file
Hi Christoffer, [auto build test ERROR on kvmarm/next] [also build test ERROR on v4.10-rc5 next-20170124] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christoffer-Dall/KVM-arm-arm64-vgic-Add-debugfs-vgic-state-file/20170124-234016 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-debug.c: In function 'print_irq_state': >> arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-debug.c:195:7: error: 'struct >> vgic_irq' has no member named 'pending_latch'; did you mean 'pending'? irq->pending_latch, ^~ vim +195 arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-debug.c 189" %2x " 190" %2x " 191" %2d " 192"\n", 193 type, irq->intid, 194 (irq->target_vcpu) ? irq->target_vcpu->vcpu_id : -1, > 195 irq->pending_latch, 196 irq->line_level, 197 irq->active, 198 irq->enabled, --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v2 2/5] arm64: Work around Falkor erratum 1003
Hi Shanker, [auto build test ERROR on next-20161224] [also build test ERROR on v4.10-rc1] [cannot apply to arm64/for-next/core v4.9-rc8 v4.9-rc7 v4.9-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christopher-Covington/arm64-Define-Falkor-v1-CPU/20161230-081412 config: arm64-allnoconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): arch/arm64/mm/context.c: In function 'flush_context': >> arch/arm64/mm/context.c:93:13: error: >> 'CONFIG_QCOM_FALKOR_E1003_RESERVED_ASID' undeclared (first use in this >> function) __set_bit(CONFIG_QCOM_FALKOR_E1003_RESERVED_ASID, asid_map); ^~ arch/arm64/mm/context.c:93:13: note: each undeclared identifier is reported only once for each function it appears in arch/arm64/mm/context.c: In function 'asids_init': arch/arm64/mm/context.c:255:13: error: 'CONFIG_QCOM_FALKOR_E1003_RESERVED_ASID' undeclared (first use in this function) __set_bit(CONFIG_QCOM_FALKOR_E1003_RESERVED_ASID, asid_map); ^~ vim +/CONFIG_QCOM_FALKOR_E1003_RESERVED_ASID +93 arch/arm64/mm/context.c 87 /* Update the list of reserved ASIDs and the ASID bitmap. */ 88 bitmap_clear(asid_map, 0, NUM_USER_ASIDS); 89 90 /* Reserve ASID for Falkor erratum 1003 */ 91 if (IS_ENABLED(CONFIG_QCOM_FALKOR_ERRATUM_1003) && 92 cpus_have_cap(ARM64_WORKAROUND_QCOM_FALKOR_E1003)) > 93 __set_bit(CONFIG_QCOM_FALKOR_E1003_RESERVED_ASID, asid_map); 94 95 /* 96 * Ensure the generation bump is observed before we xchg the --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 1/2] arm64: perf: Move ARMv8 PMU perf event definitions to asm/perf_event.h
Hi Wei, [auto build test ERROR on tip/perf/core] [also build test ERROR on v4.9-rc4 next-20161109] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Wei-Huang/arm64-perf-Move-ARMv8-PMU-perf-event-definitions-to-asm-perf_event-h/20161110-040107 config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 Note: the linux-review/Wei-Huang/arm64-perf-Move-ARMv8-PMU-perf-event-definitions-to-asm-perf_event-h/20161110-040107 HEAD 72ad64c0d8d13a655312ace104d723c9dd7dc5b0 builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): arch/arm64/kvm/../../../virt/kvm/arm/pmu.c: In function 'kvm_pmu_software_increment': >> arch/arm64/kvm/../../../virt/kvm/arm/pmu.c:308:16: error: >> 'ARMV8_PMU_EVTYPE_EVENT_SW_INCR' undeclared (first use in this function) if ((type == ARMV8_PMU_EVTYPE_EVENT_SW_INCR) ^~ arch/arm64/kvm/../../../virt/kvm/arm/pmu.c:308:16: note: each undeclared identifier is reported only once for each function it appears in arch/arm64/kvm/../../../virt/kvm/arm/pmu.c: In function 'kvm_pmu_set_counter_event_type': arch/arm64/kvm/../../../virt/kvm/arm/pmu.c:382:18: error: 'ARMV8_PMU_EVTYPE_EVENT_SW_INCR' undeclared (first use in this function) if (eventsel == ARMV8_PMU_EVTYPE_EVENT_SW_INCR) ^~ vim +/ARMV8_PMU_EVTYPE_EVENT_SW_INCR +308 arch/arm64/kvm/../../../virt/kvm/arm/pmu.c 7a0adc70 Shannon Zhao 2015-09-08 302 enable = vcpu_sys_reg(vcpu, PMCNTENSET_EL0); 7a0adc70 Shannon Zhao 2015-09-08 303 for (i = 0; i < ARMV8_PMU_CYCLE_IDX; i++) { 7a0adc70 Shannon Zhao 2015-09-08 304 if (!(val & BIT(i))) 7a0adc70 Shannon Zhao 2015-09-08 305 continue; 7a0adc70 Shannon Zhao 2015-09-08 306 type = vcpu_sys_reg(vcpu, PMEVTYPER0_EL0 + i) 7a0adc70 Shannon Zhao 2015-09-08 307 & ARMV8_PMU_EVTYPE_EVENT; 7a0adc70 Shannon Zhao 2015-09-08 @308 if ((type == ARMV8_PMU_EVTYPE_EVENT_SW_INCR) 7a0adc70 Shannon Zhao 2015-09-08 309 && (enable & BIT(i))) { 7a0adc70 Shannon Zhao 2015-09-08 310 reg = vcpu_sys_reg(vcpu, PMEVCNTR0_EL0 + i) + 1; 7a0adc70 Shannon Zhao 2015-09-08 311 reg = lower_32_bits(reg); :: The code at line 308 was first introduced by commit :: 7a0adc7064b88609e2917446af8789fac1d4fdd1 arm64: KVM: Add access handler for PMSWINC register :: TO: Shannon Zhao:: CC: Marc Zyngier --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH] KVM: arm/arm64: Route vtimer events to user space
Hi Alexander, [auto build test ERROR on kvm/linux-next] [also build test ERROR on v4.8-rc6 next-20160916] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base= (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Alexander-Graf/KVM-arm-arm64-Route-vtimer-events-to-user-space/20160916-073838 base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next config: arm64-allmodconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All error/warnings (new ones prefixed by >>): arch/arm64/kvm/../../../arch/arm/kvm/arm.c: In function 'kvm_arch_vcpu_ioctl': >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1000:1: warning: ISO C90 forbids >> mixed declarations and code [-Wdeclaration-after-statement] int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1016:12: error: invalid storage >> class for function 'kvm_vm_ioctl_set_device_addr' static int kvm_vm_ioctl_set_device_addr(struct kvm *kvm, ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1077:13: error: invalid storage >> class for function 'cpu_init_hyp_mode' static void cpu_init_hyp_mode(void *dummy) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1098:13: error: invalid storage >> class for function 'cpu_hyp_reinit' static void cpu_hyp_reinit(void) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1112:13: error: invalid storage >> class for function 'cpu_hyp_reset' static void cpu_hyp_reset(void) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1119:13: error: invalid storage >> class for function '_kvm_arch_hardware_enable' static void _kvm_arch_hardware_enable(void *discard) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1133:13: error: invalid storage >> class for function '_kvm_arch_hardware_disable' static void _kvm_arch_hardware_disable(void *discard) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1147:12: error: invalid storage >> class for function 'hyp_init_cpu_pm_notifier' static int hyp_init_cpu_pm_notifier(struct notifier_block *self, ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1180:19: error: initializer >> element is not constant .notifier_call = hyp_init_cpu_pm_notifier, ^ arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1180:19: note: (near initialization for 'hyp_init_cpu_pm_nb.notifier_call') >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1183:20: error: invalid storage >> class for function 'hyp_cpu_pm_init' static void __init hyp_cpu_pm_init(void) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1187:20: error: invalid storage >> class for function 'hyp_cpu_pm_exit' static void __init hyp_cpu_pm_exit(void) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1200:13: error: invalid storage >> class for function 'teardown_common_resources' static void teardown_common_resources(void) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1205:12: error: invalid storage >> class for function 'init_common_resources' static int init_common_resources(void) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1216:12: error: invalid storage >> class for function 'init_subsystems' static int init_subsystems(void) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1263:13: error: invalid storage >> class for function 'teardown_hyp_mode' static void teardown_hyp_mode(void) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1276:12: error: invalid storage >> class for function 'init_vhe_mode' static int init_vhe_mode(void) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1289:12: error: invalid storage >> class for function 'init_hyp_mode' static int init_hyp_mode(void) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1379:13: error: invalid storage >> class for function 'check_kvm_target_cpu' static void check_kvm_target_cpu(void *ret) ^ >> arch/arm64/kvm/../../../arch/arm/kvm/arm.c:1448:12: error: invalid storage >> class for function 'arm_init' static int arm_init(void) ^ In file included from include/linux/printk.h:5:0, from include/linux/kernel.h:13, from include/linux/cpu_pm.h:21, from
Re: [PATCH 3/4] KVM: arm/arm64: Check for broadcast TLBI support
Hi Matthias, [auto build test ERROR on arm64/for-next/core] [also build test ERROR on v4.7] [cannot apply to next-20160805] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Matthias-Brugger/arm64-insn-Do-not-disable-irqs-during-patching/20160804-172016 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core config: arm-axm55xx_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): arch/arm/kvm/arm.c: In function 'kvm_arch_init': >> arch/arm/kvm/arm.c:1378:6: error: implicit declaration of function >> 'cpus_have_cap' [-Werror=implicit-function-declaration] if (cpus_have_cap(ARM64_HAS_NO_BCAST_TLBI)) { ^ >> arch/arm/kvm/arm.c:1378:20: error: 'ARM64_HAS_NO_BCAST_TLBI' undeclared >> (first use in this function) if (cpus_have_cap(ARM64_HAS_NO_BCAST_TLBI)) { ^ arch/arm/kvm/arm.c:1378:20: note: each undeclared identifier is reported only once for each function it appears in cc1: some warnings being treated as errors vim +/cpus_have_cap +1378 arch/arm/kvm/arm.c 1372 */ 1373 int kvm_arch_init(void *opaque) 1374 { 1375 int err; 1376 int ret, cpu; 1377 > 1378 if (cpus_have_cap(ARM64_HAS_NO_BCAST_TLBI)) { 1379 kvm_err("Missing broadcast TLBI support.\n"); 1380 return -ENODEV; 1381 } --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH] arm64: Add workaround for Cavium erratum 26026
Hi Robert, [auto build test ERROR on arm64/for-next/core] [also build test ERROR on v4.7 next-20160804] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Robert-Richter/arm64-Add-workaround-for-Cavium-erratum-26026/20160805-083523 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): >> arch/arm64/kernel/cpu_errata.c:99:17: error: 'ARM64_HAS_NO_BCAST_TLBI' >> undeclared here (not in a function) .capability = ARM64_HAS_NO_BCAST_TLBI, ^ vim +/ARM64_HAS_NO_BCAST_TLBI +99 arch/arm64/kernel/cpu_errata.c 93 }, 94 #endif 95 #ifdef CONFIG_CAVIUM_ERRATUM_26026 96 { 97 /* Cavium ThunderX, pass 1.x */ 98 .desc = "Cavium erratum 26026", > 99 .capability = ARM64_HAS_NO_BCAST_TLBI, 100 MIDR_RANGE(MIDR_THUNDERX, 0x00, 0x01), 101 }, 102 #endif --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH] KVM: arm64: ITS: move ITS registration into first VCPU run
Hi Andre, [auto build test ERROR on kvmarm/next] [also build test ERROR on next-20160803] [cannot apply to v4.7] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Andre-Przywara/KVM-arm64-ITS-move-ITS-registration-into-first-VCPU-run/20160803-235253 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-its.c: In function 'vgic_register_its_iodevs': >> arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-its.c:1508:17: error: 'struct >> kvm' has no member named 'devices_lock' mutex_lock(>devices_lock); ^ arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-its.c:1534:19: error: 'struct kvm' has no member named 'devices_lock' mutex_unlock(>devices_lock); ^ vim +1508 arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-its.c 1502 */ 1503 int vgic_register_its_iodevs(struct kvm *kvm) 1504 { 1505 struct kvm_device *dev; 1506 int ret = 0; 1507 > 1508 mutex_lock(>devices_lock); 1509 1510 list_for_each_entry(dev, >devices, vm_node) { 1511 if (dev->ops != _arm_vgic_its_ops) --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v11 4/8] vfio/type1: handle unmap/unpin and replay for VFIO_IOVA_RESERVED slots
Hi, [auto build test ERROR on vfio/next] [also build test ERROR on v4.7-rc7 next-20160722] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Eric-Auger/KVM-PCIe-MSI-passthrough-on-ARM-ARM64-kernel-part-3-3-vfio-changes/20160724-082318 base: https://github.com/awilliam/linux-vfio.git next config: x86_64-rhel (attached as .config) compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): >> drivers/vfio/vfio_iommu_type1.c:39:29: fatal error: linux/msi-iommu.h: No >> such file or directory #include ^ compilation terminated. vim +39 drivers/vfio/vfio_iommu_type1.c 33 #include 34 #include 35 #include 36 #include 37 #include 38 #include > 39 #include 40 41 #define DRIVER_VERSION "0.2" 42 #define DRIVER_AUTHOR "Alex Williamson" --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v6 2/5] vfio: allow the user to register reserved iova range for MSI mapping
Hi Eric, [auto build test ERROR on iommu/next] [also build test ERROR on v4.6-rc2 next-20160404] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Eric-Auger/KVM-PCIe-MSI-passthrough-on-ARM-ARM64-kernel-part-3-3-vfio-changes/20160404-163335 base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next config: x86_64-randconfig-s1-04041632 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): >> drivers/vfio/vfio_iommu_type1.c:39:38: fatal error: >> linux/dma-reserved-iommu.h: No such file or directory compilation terminated. vim +39 drivers/vfio/vfio_iommu_type1.c 33 #include 34 #include 35 #include 36 #include 37 #include 38 #include > 39 #include 40 41 #define DRIVER_VERSION "0.2" 42 #define DRIVER_AUTHOR "Alex Williamson" --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v6 4/4] msi: IOMMU map the doorbell address when needed
Hi Eric, [auto build test ERROR on tip/irq/core] [also build test ERROR on v4.6-rc2 next-20160404] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Eric-Auger/KVM-PCIe-MSI-passthrough-on-ARM-ARM64-kernel-part-2-3-msi-changes/20160404-162527 config: x86_64-randconfig-s1-04041632 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): >> kernel/irq/msi.c:21:38: fatal error: linux/dma-reserved-iommu.h: No such >> file or directory compilation terminated. vim +21 kernel/irq/msi.c 15 #include 16 #include 17 18 /* Temparory solution for building, will be removed later */ 19 #include 20 #include > 21 #include 22 23 struct msi_desc *alloc_msi_entry(struct device *dev) 24 { --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v3 6/6] kvm: arm64: Add ACPI support for virt arch timer
Hi Fu, [auto build test ERROR on tip/timers/core] [also build test ERROR on v4.5-rc2 next-20160205] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/fu-wei-linaro-org/acpi-clocksource-kvm-add-GTDT-and-ARM-memory-mapped-timer-support/20160202-043111 config: arm64-allyesconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All errors (new ones prefixed by >>): arch/arm64/kvm/../../../virt/kvm/arm/arch_timer.c: In function 'kvm_timer_get_ppi': >> arch/arm64/kvm/../../../virt/kvm/arm/arch_timer.c:404:2: error: implicit >> declaration of function 'gtdt_arch_timer_data_init' >> [-Werror=implicit-function-declaration] if (!*ppi && !gtdt_arch_timer_data_init(NULL, )) ^ cc1: some warnings being treated as errors vim +/gtdt_arch_timer_data_init +404 arch/arm64/kvm/../../../virt/kvm/arm/arch_timer.c 398 399 *ppi = irq_of_parse_and_map(np, VIRT_PPI); 400 of_node_put(np); 401 402 skip_of: 403 #ifdef CONFIG_ACPI_GTDT > 404 if (!*ppi && !gtdt_arch_timer_data_init(NULL, )) 405 *ppi = data.virt_ppi; 406 #endif 407 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 09/10] vfio-pci: create an iommu mapping for msi address
Hi Eric, [auto build test WARNING on v4.5-rc1] [also build test WARNING on next-20160125] [cannot apply to iommu/next] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Eric-Auger/KVM-PCIe-MSI-passthrough-on-ARM-ARM64/20160126-211921 config: i386-allmodconfig (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/vfio/pci/vfio_pci_intrs.c: In function 'vfio_set_mapped_msi_addr': >> drivers/vfio/pci/vfio_pci_intrs.c:324:43: warning: left shift count >= width >> of type [-Wshift-count-overflow] msi_addr = (phys_addr_t)(msg.address_hi) << 32 | ^ >> drivers/vfio/pci/vfio_pci_intrs.c:333:34: warning: right shift count >= >> width of type [-Wshift-count-overflow] msg.address_hi = (u32)(msi_iova >> 32); ^ vim +324 drivers/vfio/pci/vfio_pci_intrs.c 318 dma_addr_t msi_iova; 319 struct vfio_group *group = vdev->vfio_group; 320 struct msi_msg msg; 321 int ret; 322 323 get_cached_msi_msg(irq, ); > 324 msi_addr = (phys_addr_t)(msg.address_hi) << 32 | 325 (phys_addr_t)(msg.address_lo); 326 327 ret = vfio_group_alloc_map_reserved_iova(group, msi_addr, 328 IOMMU_WRITE, _iova); 329 if (ret) 330 goto out; 331 332 /* Re-program the msi-address with the iova */ > 333 msg.address_hi = (u32)(msi_iova >> 32); 334 msg.address_lo = (u32)(msi_iova & 0x); 335 pci_write_msi_msg(irq, ); 336 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 06/10] vfio: introduce vfio_group_alloc_map_/unmap_free_reserved_iova
Hi Eric, [auto build test ERROR on v4.5-rc1] [also build test ERROR on next-20160125] [cannot apply to iommu/next] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Eric-Auger/KVM-PCIe-MSI-passthrough-on-ARM-ARM64/20160126-211921 config: x86_64-randconfig-s3-01262306 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): >> ERROR: "alloc_iova" [drivers/vfio/vfio_iommu_type1.ko] undefined! >> ERROR: "free_iova" [drivers/vfio/vfio_iommu_type1.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 10/10] vfio: allow the user to register reserved iova range for MSI mapping
Hi Eric, [auto build test ERROR on v4.5-rc1] [also build test ERROR on next-20160125] [cannot apply to iommu/next] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Eric-Auger/KVM-PCIe-MSI-passthrough-on-ARM-ARM64/20160126-211921 config: x86_64-randconfig-s3-01262306 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): ERROR: "alloc_iova" [drivers/vfio/vfio_iommu_type1.ko] undefined! >> ERROR: "init_iova_domain" [drivers/vfio/vfio_iommu_type1.ko] undefined! >> ERROR: "put_iova_domain" [drivers/vfio/vfio_iommu_type1.ko] undefined! ERROR: "free_iova" [drivers/vfio/vfio_iommu_type1.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH 10/10] vfio: allow the user to register reserved iova range for MSI mapping
Hi Eric, [auto build test ERROR on v4.5-rc1] [also build test ERROR on next-20160125] [cannot apply to iommu/next] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Eric-Auger/KVM-PCIe-MSI-passthrough-on-ARM-ARM64/20160126-211921 config: x86_64-randconfig-s3-01270003 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/built-in.o: In function `vfio_reserved_binding_release': vfio_iommu_type1.c:(.text+0x1d537b): undefined reference to `free_iova' drivers/built-in.o: In function `vfio_iommu_type1_alloc_map_reserved_iova': vfio_iommu_type1.c:(.text+0x1d5b32): undefined reference to `alloc_iova' vfio_iommu_type1.c:(.text+0x1d5d67): undefined reference to `free_iova' drivers/built-in.o: In function `vfio_remove_dma': >> vfio_iommu_type1.c:(.text+0x1d6c80): undefined reference to `put_iova_domain' drivers/built-in.o: In function `vfio_iommu_type1_ioctl': >> vfio_iommu_type1.c:(.text+0x1d81f8): undefined reference to >> `init_iova_domain' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v6 4/7] KVM: arm64: Implement vGICv3 distributor and redistributor access from userspace
Hi Pavel, [auto build test ERROR on kvm/linux-next] [also build test ERROR on v4.4-rc2 next-20151124] url: https://github.com/0day-ci/linux/commits/Pavel-Fedin/KVM-arm64-Implement-API-for-vGICv3-live-migration/20151124-171812 base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next config: arm64-allyesconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 Note: the linux-review/Pavel-Fedin/KVM-arm64-Implement-API-for-vGICv3-live-migration/20151124-171812 HEAD 03ad7de97d6a551c4a70e7723383007f54bf56a3 builds fine. It only hurts bisectibility. All error/warnings (new ones prefixed by >>): arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c: In function 'vgic_v3_has_attr': >> arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c:1114:24: error: storage >> size of 'params' isn't known struct sys_reg_params params; ^ >> arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c:1134:7: error: >> 'KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS' undeclared (first use in this function) case KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS: ^ arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c:1134:7: note: each undeclared identifier is reported only once for each function it appears in >> arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c:1135:25: error: >> 'KVM_DEV_ARM_VGIC_SYSREG_MASK' undeclared (first use in this function) regid = (attr->attr & KVM_DEV_ARM_VGIC_SYSREG_MASK) | ^ >> arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c:1137:3: error: implicit >> declaration of function 'find_reg_by_id' >> [-Werror=implicit-function-declaration] return find_reg_by_id(regid, , gic_v3_icc_reg_descs, ^ >> arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c:1137:41: error: >> 'gic_v3_icc_reg_descs' undeclared (first use in this function) return find_reg_by_id(regid, , gic_v3_icc_reg_descs, ^ In file included from include/linux/thread_info.h:11:0, from include/asm-generic/current.h:4, from arch/arm64/include/generated/asm/current.h:1, from include/linux/mutex.h:13, from include/linux/kernfs.h:13, from include/linux/sysfs.h:15, from include/linux/kobject.h:21, from include/linux/device.h:17, from include/linux/node.h:17, from include/linux/cpu.h:16, from arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c:38: >> include/linux/bug.h:33:45: error: bit-field '' width not an >> integer constant #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) ^ include/linux/compiler-gcc.h:64:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO' #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) ^ include/linux/kernel.h:54:59: note: in expansion of macro '__must_be_array' #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) ^ >> arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c:1138:11: note: in >> expansion of macro 'ARRAY_SIZE' ARRAY_SIZE(gic_v3_icc_reg_descs)) ? ^ arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c:1114:24: warning: unused variable 'params' [-Wunused-variable] struct sys_reg_params params; ^ cc1: some warnings being treated as errors vim +/KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS +1134 arch/arm64/kvm/../../../virt/kvm/arm/vgic-v3-emul.c 1108 } 1109 1110 static int vgic_v3_has_attr(struct kvm_device *dev, struct kvm_device_attr *attr) 1112 { 1113 phys_addr_t offset; > 1114 struct sys_reg_params params; 1115 u64 regid; 1116 1117 switch (attr->group) { 1118 case KVM_DEV_ARM_VGIC_GRP_ADDR: 1119 switch (attr->attr) { 1120 case KVM_VGIC_V2_ADDR_TYPE_DIST: 1121 case KVM_VGIC_V2_ADDR_TYPE_CPU: 1122 return -ENXIO; 1123 case KVM_VGIC_V3_ADDR_TYPE_DIST: 1124 case KVM_VGIC_V3_ADDR_TYPE_REDIST: 1125 return 0; 1126 } 1127 break; 1128 case KVM_DEV_ARM_VGIC_GRP_DIST_REGS: 1129 offset = attr->attr & KVM_DEV_ARM_VGIC_OFFSET_MASK; 1130 return vgic_has_attr_regs(vgic_v3_dist_ranges, offset); 1131 case KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: 1132
Re: [PATCH 3/3] vfio: Introduce generic MSI mapping operations
Hi Pavel, [auto build test ERROR on tip/irq/core] [also build test ERROR on v4.4-rc2 next-20151124] url: https://github.com/0day-ci/linux/commits/Pavel-Fedin/Introduce-MSI-hardware-mapping-for-VFIO/20151124-155050 config: powerpc-allmodconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc All errors (new ones prefixed by >>): drivers/vfio/vfio.c: In function 'vfio_device_map_msi': >> drivers/vfio/vfio.c:908:11: error: dereferencing pointer to incomplete type >> 'struct msi_domain_info' if (!info->ops->vfio_map) ^ drivers/vfio/vfio.c: In function 'msi_release': drivers/vfio/vfio.c:958:6: error: dereferencing pointer to incomplete type 'struct msi_domain_info' info->ops->vfio_unmap(vmsi->domain, container->iommu_driver->ops, ^ drivers/vfio/vfio.c: In function 'vfio_device_unmap_msi': drivers/vfio/vfio.c:976:11: error: dereferencing pointer to incomplete type 'struct msi_domain_info' if (!info->ops->vfio_unmap) ^ vim +908 drivers/vfio/vfio.c 902 struct vfio_msi *vmsi; 903 int ret; 904 905 if (!msi_domain) 906 return 0; 907 info = msi_domain->host_data; > 908 if (!info->ops->vfio_map) 909 return 0; 910 911 device = dev_get_drvdata(dev); --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH] KVM: arm: Don't try to flush hyp-mode device mappings
Hi Christoffer, [auto build test WARNING on: kvmarm/next] [also build test WARNING on: v4.3 next-20151105] url: https://github.com/0day-ci/linux/commits/Christoffer-Dall/KVM-arm-Don-t-try-to-flush-hyp-mode-device-mappings/20151105-232548 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next config: arm64-defconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm64 All warnings (new ones prefixed by >>): arch/arm64/kvm/../../../arch/arm/kvm/mmu.c: In function 'unmap_ptes': >> arch/arm64/kvm/../../../arch/arm/kvm/mmu.c:212:3: warning: ISO C90 forbids >> mixed declarations and code [-Wdeclaration-after-statement] pte_t old_pte = *pte; ^ vim +212 arch/arm64/kvm/../../../arch/arm/kvm/mmu.c 363ef89f8 Marc Zyngier 2014-12-19 196 * 363ef89f8 Marc Zyngier 2014-12-19 197 * This is why right after unmapping a page/section and invalidating 363ef89f8 Marc Zyngier 2014-12-19 198 * the corresponding TLBs, we call kvm_flush_dcache_p*() to make sure 363ef89f8 Marc Zyngier 2014-12-19 199 * the IO subsystem will never hit in the cache. 363ef89f8 Marc Zyngier 2014-12-19 200 */ 4f853a714 Christoffer Dall 2014-05-09 201 static void unmap_ptes(struct kvm *kvm, pmd_t *pmd, 4f853a714 Christoffer Dall 2014-05-09 202 phys_addr_t addr, phys_addr_t end) 4f728276f Marc Zyngier 2013-04-12 203 { 4f853a714 Christoffer Dall 2014-05-09 204 phys_addr_t start_addr = addr; 4f853a714 Christoffer Dall 2014-05-09 205 pte_t *pte, *start_pte; 4f853a714 Christoffer Dall 2014-05-09 206 4f853a714 Christoffer Dall 2014-05-09 207 start_pte = pte = pte_offset_kernel(pmd, addr); 4f853a714 Christoffer Dall 2014-05-09 208 do { 8e9a96138 Christoffer Dall 2015-11-05 209 if (pte_none(*pte)) 8e9a96138 Christoffer Dall 2015-11-05 210 continue; 8e9a96138 Christoffer Dall 2015-11-05 211 363ef89f8 Marc Zyngier 2014-12-19 @212 pte_t old_pte = *pte; 363ef89f8 Marc Zyngier 2014-12-19 213 4f728276f Marc Zyngier 2013-04-12 214 kvm_set_pte(pte, __pte(0)); d4cb9df5d Marc Zyngier 2013-05-14 215 kvm_tlb_flush_vmid_ipa(kvm, addr); 363ef89f8 Marc Zyngier 2014-12-19 216 363ef89f8 Marc Zyngier 2014-12-19 217 /* No need to invalidate the cache for device mappings */ 8e9a96138 Christoffer Dall 2015-11-05 218 if ((pte_val(old_pte) & PAGE_S2_DEVICE) != PAGE_S2_DEVICE && 8e9a96138 Christoffer Dall 2015-11-05 219 (pte_val(old_pte) & PAGE_HYP_DEVICE) != PAGE_HYP_DEVICE) 363ef89f8 Marc Zyngier 2014-12-19 220 kvm_flush_dcache_pte(old_pte); :: The code at line 212 was first introduced by commit :: 363ef89f8e9bcedc28b976d0fe2d858fe139c122 arm/arm64: KVM: Invalidate data cache on unmap :: TO: Marc Zyngier:: CC: Christoffer Dall --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH] KVM: arm: Don't try to flush hyp-mode device mappings
Hi Christoffer, [auto build test WARNING on: kvmarm/next] [also build test WARNING on: v4.3 next-20151105] url: https://github.com/0day-ci/linux/commits/Christoffer-Dall/KVM-arm-Don-t-try-to-flush-hyp-mode-device-mappings/20151105-232548 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next config: arm-axm55xx_defconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All warnings (new ones prefixed by >>): arch/arm/kvm/mmu.c: In function 'unmap_ptes': >> arch/arm/kvm/mmu.c:212:3: warning: ISO C90 forbids mixed declarations and >> code [-Wdeclaration-after-statement] pte_t old_pte = *pte; ^ vim +212 arch/arm/kvm/mmu.c 363ef89f8 Marc Zyngier 2014-12-19 196 * 363ef89f8 Marc Zyngier 2014-12-19 197 * This is why right after unmapping a page/section and invalidating 363ef89f8 Marc Zyngier 2014-12-19 198 * the corresponding TLBs, we call kvm_flush_dcache_p*() to make sure 363ef89f8 Marc Zyngier 2014-12-19 199 * the IO subsystem will never hit in the cache. 363ef89f8 Marc Zyngier 2014-12-19 200 */ 4f853a714 Christoffer Dall 2014-05-09 201 static void unmap_ptes(struct kvm *kvm, pmd_t *pmd, 4f853a714 Christoffer Dall 2014-05-09 202 phys_addr_t addr, phys_addr_t end) 4f728276f Marc Zyngier 2013-04-12 203 { 4f853a714 Christoffer Dall 2014-05-09 204 phys_addr_t start_addr = addr; 4f853a714 Christoffer Dall 2014-05-09 205 pte_t *pte, *start_pte; 4f853a714 Christoffer Dall 2014-05-09 206 4f853a714 Christoffer Dall 2014-05-09 207 start_pte = pte = pte_offset_kernel(pmd, addr); 4f853a714 Christoffer Dall 2014-05-09 208 do { 8e9a96138 Christoffer Dall 2015-11-05 209 if (pte_none(*pte)) 8e9a96138 Christoffer Dall 2015-11-05 210 continue; 8e9a96138 Christoffer Dall 2015-11-05 211 363ef89f8 Marc Zyngier 2014-12-19 @212 pte_t old_pte = *pte; 363ef89f8 Marc Zyngier 2014-12-19 213 4f728276f Marc Zyngier 2013-04-12 214 kvm_set_pte(pte, __pte(0)); d4cb9df5d Marc Zyngier 2013-05-14 215 kvm_tlb_flush_vmid_ipa(kvm, addr); 363ef89f8 Marc Zyngier 2014-12-19 216 363ef89f8 Marc Zyngier 2014-12-19 217 /* No need to invalidate the cache for device mappings */ 8e9a96138 Christoffer Dall 2015-11-05 218 if ((pte_val(old_pte) & PAGE_S2_DEVICE) != PAGE_S2_DEVICE && 8e9a96138 Christoffer Dall 2015-11-05 219 (pte_val(old_pte) & PAGE_HYP_DEVICE) != PAGE_HYP_DEVICE) 363ef89f8 Marc Zyngier 2014-12-19 220 kvm_flush_dcache_pte(old_pte); :: The code at line 212 was first introduced by commit :: 363ef89f8e9bcedc28b976d0fe2d858fe139c122 arm/arm64: KVM: Invalidate data cache on unmap :: TO: Marc Zyngier:: CC: Christoffer Dall --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v3] VFIO: platform: reset: AMD xgbe reset module
Hi Eric, [auto build test ERROR on asm-generic/master -- if it's inappropriate base, please suggest rules for selecting the more suitable base] url: https://github.com/0day-ci/linux/commits/Eric-Auger/VFIO-platform-reset-AMD-xgbe-reset-module/20151024-000245 config: arm-allyesconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): >> drivers/vfio/platform/reset/vfio_platform_amdxgbe.c:122:27: error: expected >> declaration specifiers or '...' before string constant module_vfio_reset_handler("amd,xgbe-seattle-v1a", vfio_platform_amdxgbe_reset); ^ >> drivers/vfio/platform/reset/vfio_platform_amdxgbe.c:122:51: error: expected >> declaration specifiers or '...' before 'vfio_platform_amdxgbe_reset' module_vfio_reset_handler("amd,xgbe-seattle-v1a", vfio_platform_amdxgbe_reset); ^ -- >> /kbuild/src/defs/drivers/vfio/platform/reset/vfio_platform_amdxgbe.c:122:27: >> error: expected declaration specifiers or '...' before string constant module_vfio_reset_handler("amd,xgbe-seattle-v1a", vfio_platform_amdxgbe_reset); ^ >> /kbuild/src/defs/drivers/vfio/platform/reset/vfio_platform_amdxgbe.c:122:51: >> error: expected declaration specifiers or '...' before >> 'vfio_platform_amdxgbe_reset' module_vfio_reset_handler("amd,xgbe-seattle-v1a", vfio_platform_amdxgbe_reset); ^ vim +122 drivers/vfio/platform/reset/vfio_platform_amdxgbe.c 116 if (!count) 117 pr_warn("%s MAC SW reset failed\n", __func__); 118 119 return 0; 120 } 121 > 122 module_vfio_reset_handler("amd,xgbe-seattle-v1a", > vfio_platform_amdxgbe_reset); 123 124 MODULE_VERSION("0.1"); 125 MODULE_LICENSE("GPL v2"); --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [RFC PATCH 5/6] vfio-pci: Create iommu mapping for msi interrupt
Hi Bharat, [auto build test results on v4.3-rc3 -- if it's inappropriate base, please ignore] config: i386-allmodconfig (attached as .config) reproduce: git checkout 6fdf43e0b410216a2fe2d1d6e8541fb4f69557f9 # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): >> ERROR: "vfio_device_map_msi" undefined! >> ERROR: "vfio_device_unmap_msi" undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [RFC PATCH 5/6] vfio-pci: Create iommu mapping for msi interrupt
Hi Bharat, [auto build test results on v4.3-rc3 -- if it's inappropriate base, please ignore] config: x86_64-rhel (attached as .config) reproduce: git checkout 6fdf43e0b410216a2fe2d1d6e8541fb4f69557f9 # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): >> ERROR: "vfio_device_map_msi" [drivers/vfio/pci/vfio-pci.ko] undefined! >> ERROR: "vfio_device_unmap_msi" [drivers/vfio/pci/vfio-pci.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm