* [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP [not found] <20230620131356.25440-1-bhe@redhat.com> @ 2023-06-20 13:13 ` Baoquan He 2023-06-21 2:15 ` kernel test robot 0 siblings, 1 reply; 5+ messages in thread From: Baoquan He @ 2023-06-20 13:13 UTC (permalink / raw) To: linux-kernel Cc: linux-arch, linux-mm, arnd, hch, christophe.leroy, rppt, willy, agordeev, wangkefeng.wang, schnelle, David.Laight, shorne, deller, nathan, glaubitz, Baoquan He, Brian Cain, linux-hexagon By taking GENERIC_IOREMAP method, the generic ioremap_prot() and iounmap() are visible and available to arch. This change will simplify implementation by removing duplicated codes with generic ioremap_prot() and iounmap(), and has the equivalent functioality. For hexagon, the current ioremap() and iounmap() are the same as generic version. After taking GENERIC_IOREMAP way, the old ioremap() and iounmap() can be completely removed. Signed-off-by: Baoquan He <bhe@redhat.com> Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Cc: Brian Cain <bcain@quicinc.com> Cc: linux-hexagon@vger.kernel.org --- v6->v7: - Fix building error reported by lkp test robot. Here I only fixed the redefinition of iounmap(), ignored the PCI_IOBASE warnings since Nathan kindly reminded me the warning is a generic issue, and Niklas is working on that within below patchset. https://lore.kernel.org/all/20230612160237.GA199007@dev-arch.thelio-3990X/T/#u arch/hexagon/Kconfig | 1 + arch/hexagon/include/asm/io.h | 11 +++++---- arch/hexagon/mm/ioremap.c | 44 ----------------------------------- 3 files changed, 8 insertions(+), 48 deletions(-) delete mode 100644 arch/hexagon/mm/ioremap.c diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig index 54eadf265178..17afffde1a7f 100644 --- a/arch/hexagon/Kconfig +++ b/arch/hexagon/Kconfig @@ -25,6 +25,7 @@ config HEXAGON select NEED_SG_DMA_LENGTH select NO_IOPORT_MAP select GENERIC_IOMAP + select GENERIC_IOREMAP select GENERIC_SMP_IDLE_THREAD select STACKTRACE_SUPPORT select GENERIC_CLOCKEVENTS_BROADCAST diff --git a/arch/hexagon/include/asm/io.h b/arch/hexagon/include/asm/io.h index 46a099de85b7..e2b308e32a37 100644 --- a/arch/hexagon/include/asm/io.h +++ b/arch/hexagon/include/asm/io.h @@ -27,8 +27,6 @@ extern int remap_area_pages(unsigned long start, unsigned long phys_addr, unsigned long end, unsigned long flags); -extern void iounmap(const volatile void __iomem *addr); - /* Defined in lib/io.c, needed for smc91x driver. */ extern void __raw_readsw(const void __iomem *addr, void *data, int wordlen); extern void __raw_writesw(void __iomem *addr, const void *data, int wordlen); @@ -170,8 +168,13 @@ static inline void writel(u32 data, volatile void __iomem *addr) #define writew_relaxed __raw_writew #define writel_relaxed __raw_writel -void __iomem *ioremap(unsigned long phys_addr, unsigned long size); -#define ioremap_uc(X, Y) ioremap((X), (Y)) +/* + * I/O memory mapping functions. + */ +#define _PAGE_IOREMAP (_PAGE_PRESENT | _PAGE_READ | _PAGE_WRITE | \ + (__HEXAGON_C_DEV << 6)) + +#define ioremap_uc(addr, size) ioremap((addr), (size)) #define __raw_writel writel diff --git a/arch/hexagon/mm/ioremap.c b/arch/hexagon/mm/ioremap.c deleted file mode 100644 index 255c5b1ee1a7..000000000000 --- a/arch/hexagon/mm/ioremap.c +++ /dev/null @@ -1,44 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/* - * I/O remap functions for Hexagon - * - * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. - */ - -#include <linux/io.h> -#include <linux/vmalloc.h> -#include <linux/mm.h> - -void __iomem *ioremap(unsigned long phys_addr, unsigned long size) -{ - unsigned long last_addr, addr; - unsigned long offset = phys_addr & ~PAGE_MASK; - struct vm_struct *area; - - pgprot_t prot = __pgprot(_PAGE_PRESENT|_PAGE_READ|_PAGE_WRITE - |(__HEXAGON_C_DEV << 6)); - - last_addr = phys_addr + size - 1; - - /* Wrapping not allowed */ - if (!size || (last_addr < phys_addr)) - return NULL; - - /* Rounds up to next page size, including whole-page offset */ - size = PAGE_ALIGN(offset + size); - - area = get_vm_area(size, VM_IOREMAP); - addr = (unsigned long)area->addr; - - if (ioremap_page_range(addr, addr+size, phys_addr, prot)) { - vunmap((void *)addr); - return NULL; - } - - return (void __iomem *) (offset + addr); -} - -void iounmap(const volatile void __iomem *addr) -{ - vunmap((void *) ((unsigned long) addr & PAGE_MASK)); -} -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP 2023-06-20 13:13 ` [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP Baoquan He @ 2023-06-21 2:15 ` kernel test robot 2023-06-21 8:50 ` Baoquan He 0 siblings, 1 reply; 5+ messages in thread From: kernel test robot @ 2023-06-21 2:15 UTC (permalink / raw) To: Baoquan He, linux-kernel Cc: llvm, oe-kbuild-all, linux-arch, linux-mm, arnd, hch, christophe.leroy, rppt, willy, agordeev, wangkefeng.wang, schnelle, David.Laight, shorne, deller, nathan, glaubitz, Baoquan He, Brian Cain, linux-hexagon Hi Baoquan, kernel test robot noticed the following build errors: [auto build test ERROR on akpm-mm/mm-everything] url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/asm-generic-iomap-h-remove-ARCH_HAS_IOREMAP_xx-macros/20230620-212135 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20230620131356.25440-3-bhe%40redhat.com patch subject: [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP config: hexagon-randconfig-r041-20230620 (https://download.01.org/0day-ci/archive/20230621/202306211030.DioMEPhl-lkp@intel.com/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a) reproduce: (https://download.01.org/0day-ci/archive/20230621/202306211030.DioMEPhl-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202306211030.DioMEPhl-lkp@intel.com/ All errors (new ones prefixed by >>): >> arch/hexagon/kernel/hexagon_ksyms.o: error: local symbol ioremap was exported -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP 2023-06-21 2:15 ` kernel test robot @ 2023-06-21 8:50 ` Baoquan He 2023-06-21 19:08 ` Nathan Chancellor 0 siblings, 1 reply; 5+ messages in thread From: Baoquan He @ 2023-06-21 8:50 UTC (permalink / raw) To: kernel test robot Cc: linux-kernel, llvm, oe-kbuild-all, linux-arch, linux-mm, arnd, hch, christophe.leroy, rppt, willy, agordeev, wangkefeng.wang, schnelle, David.Laight, shorne, deller, nathan, glaubitz, Brian Cain, linux-hexagon Hi, On 06/21/23 at 10:15am, kernel test robot wrote: > Hi Baoquan, > > kernel test robot noticed the following build errors: > > [auto build test ERROR on akpm-mm/mm-everything] > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/asm-generic-iomap-h-remove-ARCH_HAS_IOREMAP_xx-macros/20230620-212135 > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > patch link: https://lore.kernel.org/r/20230620131356.25440-3-bhe%40redhat.com > patch subject: [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP > config: hexagon-randconfig-r041-20230620 (https://download.01.org/0day-ci/archive/20230621/202306211030.DioMEPhl-lkp@intel.com/config) > compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a) > reproduce: (https://download.01.org/0day-ci/archive/20230621/202306211030.DioMEPhl-lkp@intel.com/reproduce) > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot <lkp@intel.com> > | Closes: https://lore.kernel.org/oe-kbuild-all/202306211030.DioMEPhl-lkp@intel.com/ > > All errors (new ones prefixed by >>): > > >> arch/hexagon/kernel/hexagon_ksyms.o: error: local symbol ioremap was exported I followed steps in your reproduce link, didn't reproduce the error as above line reported. I can still see those PCI_IOMAP warning, however they will disappear when rebuilding. The clone3 warning can always ben seen. I didn't see the symbol ioremap error. Could you double check if anything missed in steps? [root@dell-pem620-01 linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash Compiler will be installed in /root/0day make --keep-going LLVM=1 CROSS_COMPILE=hexagon-linux- LLVM_IAS=1 --jobs=48 W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash make[1]: Entering directory '/root/linux/build_dir' GEN Makefile ld.lld: /lib64/libtinfo.so.6: no version information available (required by ld.lld) tools/testing/selftests/arm64/tags/.gitignore: warning: ignored by one of the .gitignore files tools/testing/selftests/arm64/tags/Makefile: warning: ignored by one of the .gitignore files tools/testing/selftests/arm64/tags/run_tags_test.sh: warning: ignored by one of the .gitignore files tools/testing/selftests/arm64/tags/tags_test.c: warning: ignored by one of the .gitignore files tools/testing/selftests/kvm/.gitignore: warning: ignored by one of the .gitignore files tools/testing/selftests/kvm/Makefile: warning: ignored by one of the .gitignore files tools/testing/selftests/kvm/config: warning: ignored by one of the .gitignore files tools/testing/selftests/kvm/settings: warning: ignored by one of the .gitignore files CALL ../scripts/checksyscalls.sh clang: /lib64/libtinfo.so.6: no version information available (required by clang) <stdin>:1519:2: warning: syscall clone3 not implemented [-W#warnings] 1519 | #warning syscall clone3 not implemented | ^ 1 warning generated. make[1]: Leaving directory '/root/linux/build_dir' [root@dell-pem620-01 linux]# ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP 2023-06-21 8:50 ` Baoquan He @ 2023-06-21 19:08 ` Nathan Chancellor 2023-06-25 1:15 ` Baoquan He 0 siblings, 1 reply; 5+ messages in thread From: Nathan Chancellor @ 2023-06-21 19:08 UTC (permalink / raw) To: Baoquan He Cc: kernel test robot, linux-kernel, llvm, oe-kbuild-all, linux-arch, linux-mm, arnd, hch, christophe.leroy, rppt, willy, agordeev, wangkefeng.wang, schnelle, David.Laight, shorne, deller, glaubitz, Brian Cain, linux-hexagon On Wed, Jun 21, 2023 at 04:50:53PM +0800, Baoquan He wrote: > Hi, > > On 06/21/23 at 10:15am, kernel test robot wrote: > > Hi Baoquan, > > > > kernel test robot noticed the following build errors: > > > > [auto build test ERROR on akpm-mm/mm-everything] > > > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/asm-generic-iomap-h-remove-ARCH_HAS_IOREMAP_xx-macros/20230620-212135 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > > patch link: https://lore.kernel.org/r/20230620131356.25440-3-bhe%40redhat.com > > patch subject: [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP > > config: hexagon-randconfig-r041-20230620 (https://download.01.org/0day-ci/archive/20230621/202306211030.DioMEPhl-lkp@intel.com/config) > > compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a) > > reproduce: (https://download.01.org/0day-ci/archive/20230621/202306211030.DioMEPhl-lkp@intel.com/reproduce) > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > > the same patch/commit), kindly add following tags > > | Reported-by: kernel test robot <lkp@intel.com> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202306211030.DioMEPhl-lkp@intel.com/ > > > > All errors (new ones prefixed by >>): > > > > >> arch/hexagon/kernel/hexagon_ksyms.o: error: local symbol ioremap was exported > > I followed steps in your reproduce link, didn't reproduce the error as > above line reported. I can still see those PCI_IOMAP warning, however > they will disappear when rebuilding. The clone3 warning can always ben > seen. I didn't see the symbol ioremap error. Could you double check if > anything missed in steps? > > [root@dell-pem620-01 linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash > Compiler will be installed in /root/0day > make --keep-going LLVM=1 CROSS_COMPILE=hexagon-linux- LLVM_IAS=1 --jobs=48 W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash > make[1]: Entering directory '/root/linux/build_dir' > GEN Makefile > ld.lld: /lib64/libtinfo.so.6: no version information available (required by ld.lld) Hmmm, seems like a dynamic linking issue, likely because either libtinfo is not available or the version on your system is older or newer than the one that the compiler was built with. Intel folks, you can opt out of this particular library dependency with '-DLLVM_ENABLE_TERMINFO=OFF' to cmake, which will make it easier for others to use it; the compiler can still output color on most terminals even without libtinfo. > tools/testing/selftests/arm64/tags/.gitignore: warning: ignored by one of the .gitignore files > tools/testing/selftests/arm64/tags/Makefile: warning: ignored by one of the .gitignore files > tools/testing/selftests/arm64/tags/run_tags_test.sh: warning: ignored by one of the .gitignore files > tools/testing/selftests/arm64/tags/tags_test.c: warning: ignored by one of the .gitignore files > tools/testing/selftests/kvm/.gitignore: warning: ignored by one of the .gitignore files > tools/testing/selftests/kvm/Makefile: warning: ignored by one of the .gitignore files > tools/testing/selftests/kvm/config: warning: ignored by one of the .gitignore files > tools/testing/selftests/kvm/settings: warning: ignored by one of the .gitignore files > CALL ../scripts/checksyscalls.sh > clang: /lib64/libtinfo.so.6: no version information available (required by clang) > <stdin>:1519:2: warning: syscall clone3 not implemented [-W#warnings] > 1519 | #warning syscall clone3 not implemented > | ^ > 1 warning generated. > make[1]: Leaving directory '/root/linux/build_dir' > [root@dell-pem620-01 linux]# > > I am able to reproduce this with the kernel.org LLVM builds that I do, which should not have that library dependency: https://mirrors.edge.kernel.org/pub/tools/llvm/ $ curl -LSso .config https://download.01.org/0day-ci/archive/20230621/202306211030.DioMEPhl-lkp@intel.com/config $ make -skj"$(nproc)" ARCH=hexagon LLVM=$(realpath llvm-16.0.6-x86_64/bin)/ olddefconfig all ... make[5]: *** No rule to make target 'arch/hexagon/mm/ioremap.o', needed by 'arch/hexagon/mm/built-in.a'. ... arch/hexagon/kernel/hexagon_ksyms.o: error: local symbol ioremap was exported ... The first issue is resolved with: diff --git a/arch/hexagon/mm/Makefile b/arch/hexagon/mm/Makefile index 49911a906fd0..ba4b04d962d6 100644 --- a/arch/hexagon/mm/Makefile +++ b/arch/hexagon/mm/Makefile @@ -3,5 +3,5 @@ # Makefile for Hexagon memory management subsystem # -obj-y := init.o ioremap.o uaccess.o vm_fault.o cache.o +obj-y := init.o uaccess.o vm_fault.o cache.o obj-y += copy_to_user.o copy_from_user.o vm_tlb.o For the second issue, it seems that ioremap is exported in arch/hexagon/kernel/hexagon_ksyms.c but ioremap() is a static inline function with CONFIG_GENERIC_IOREMAP. I think we can just remove the ioremap and iounmap exports now, as ioremap() calls ioremap_prot(), which is exported, and iounmap() is exported in mm/ioremap.c. diff --git a/arch/hexagon/kernel/hexagon_ksyms.c b/arch/hexagon/kernel/hexagon_ksyms.c index ec56ce2d92a2..36a80e31d187 100644 --- a/arch/hexagon/kernel/hexagon_ksyms.c +++ b/arch/hexagon/kernel/hexagon_ksyms.c @@ -14,12 +14,10 @@ EXPORT_SYMBOL(__clear_user_hexagon); EXPORT_SYMBOL(raw_copy_from_user); EXPORT_SYMBOL(raw_copy_to_user); -EXPORT_SYMBOL(iounmap); EXPORT_SYMBOL(__vmgetie); EXPORT_SYMBOL(__vmsetie); EXPORT_SYMBOL(__vmyield); EXPORT_SYMBOL(empty_zero_page); -EXPORT_SYMBOL(ioremap); EXPORT_SYMBOL(memcpy); EXPORT_SYMBOL(memset); With those two diffs, the randconfig the robot provides builds and links without any errors. Cheers, Nathan ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP 2023-06-21 19:08 ` Nathan Chancellor @ 2023-06-25 1:15 ` Baoquan He 0 siblings, 0 replies; 5+ messages in thread From: Baoquan He @ 2023-06-25 1:15 UTC (permalink / raw) To: Nathan Chancellor Cc: kernel test robot, linux-kernel, llvm, oe-kbuild-all, linux-arch, linux-mm, arnd, hch, christophe.leroy, rppt, willy, agordeev, wangkefeng.wang, schnelle, David.Laight, shorne, deller, glaubitz, Brian Cain, linux-hexagon On 06/21/23 at 07:08pm, Nathan Chancellor wrote: > On Wed, Jun 21, 2023 at 04:50:53PM +0800, Baoquan He wrote: > > Hi, > > > > On 06/21/23 at 10:15am, kernel test robot wrote: > > > Hi Baoquan, > > > > > > kernel test robot noticed the following build errors: > > > > > > [auto build test ERROR on akpm-mm/mm-everything] > > > > > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/asm-generic-iomap-h-remove-ARCH_HAS_IOREMAP_xx-macros/20230620-212135 > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > > > patch link: https://lore.kernel.org/r/20230620131356.25440-3-bhe%40redhat.com > > > patch subject: [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP > > > config: hexagon-randconfig-r041-20230620 (https://download.01.org/0day-ci/archive/20230621/202306211030.DioMEPhl-lkp@intel.com/config) > > > compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a) > > > reproduce: (https://download.01.org/0day-ci/archive/20230621/202306211030.DioMEPhl-lkp@intel.com/reproduce) > > > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > > > the same patch/commit), kindly add following tags > > > | Reported-by: kernel test robot <lkp@intel.com> > > > | Closes: https://lore.kernel.org/oe-kbuild-all/202306211030.DioMEPhl-lkp@intel.com/ > > > > > > All errors (new ones prefixed by >>): > > > > > > >> arch/hexagon/kernel/hexagon_ksyms.o: error: local symbol ioremap was exported > > > > I followed steps in your reproduce link, didn't reproduce the error as > > above line reported. I can still see those PCI_IOMAP warning, however > > they will disappear when rebuilding. The clone3 warning can always ben > > seen. I didn't see the symbol ioremap error. Could you double check if > > anything missed in steps? > > > > [root@dell-pem620-01 linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash > > Compiler will be installed in /root/0day > > make --keep-going LLVM=1 CROSS_COMPILE=hexagon-linux- LLVM_IAS=1 --jobs=48 W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash > > make[1]: Entering directory '/root/linux/build_dir' > > GEN Makefile > > ld.lld: /lib64/libtinfo.so.6: no version information available (required by ld.lld) > > Hmmm, seems like a dynamic linking issue, likely because either libtinfo > is not available or the version on your system is older or newer than > the one that the compiler was built with. > > Intel folks, you can opt out of this particular library dependency with > '-DLLVM_ENABLE_TERMINFO=OFF' to cmake, which will make it easier for > others to use it; the compiler can still output color on most terminals > even without libtinfo. > > > tools/testing/selftests/arm64/tags/.gitignore: warning: ignored by one of the .gitignore files > > tools/testing/selftests/arm64/tags/Makefile: warning: ignored by one of the .gitignore files > > tools/testing/selftests/arm64/tags/run_tags_test.sh: warning: ignored by one of the .gitignore files > > tools/testing/selftests/arm64/tags/tags_test.c: warning: ignored by one of the .gitignore files > > tools/testing/selftests/kvm/.gitignore: warning: ignored by one of the .gitignore files > > tools/testing/selftests/kvm/Makefile: warning: ignored by one of the .gitignore files > > tools/testing/selftests/kvm/config: warning: ignored by one of the .gitignore files > > tools/testing/selftests/kvm/settings: warning: ignored by one of the .gitignore files > > CALL ../scripts/checksyscalls.sh > > clang: /lib64/libtinfo.so.6: no version information available (required by clang) > > <stdin>:1519:2: warning: syscall clone3 not implemented [-W#warnings] > > 1519 | #warning syscall clone3 not implemented > > | ^ > > 1 warning generated. > > make[1]: Leaving directory '/root/linux/build_dir' > > [root@dell-pem620-01 linux]# > > > > > > I am able to reproduce this with the kernel.org LLVM builds that I do, > which should not have that library dependency: > > https://mirrors.edge.kernel.org/pub/tools/llvm/ > > $ curl -LSso .config https://download.01.org/0day-ci/archive/20230621/202306211030.DioMEPhl-lkp@intel.com/config > > $ make -skj"$(nproc)" ARCH=hexagon LLVM=$(realpath llvm-16.0.6-x86_64/bin)/ olddefconfig all > ... > make[5]: *** No rule to make target 'arch/hexagon/mm/ioremap.o', needed by 'arch/hexagon/mm/built-in.a'. > ... > arch/hexagon/kernel/hexagon_ksyms.o: error: local symbol ioremap was exported > ... > > The first issue is resolved with: > > diff --git a/arch/hexagon/mm/Makefile b/arch/hexagon/mm/Makefile > index 49911a906fd0..ba4b04d962d6 100644 > --- a/arch/hexagon/mm/Makefile > +++ b/arch/hexagon/mm/Makefile > @@ -3,5 +3,5 @@ > # Makefile for Hexagon memory management subsystem > # > > -obj-y := init.o ioremap.o uaccess.o vm_fault.o cache.o > +obj-y := init.o uaccess.o vm_fault.o cache.o > obj-y += copy_to_user.o copy_from_user.o vm_tlb.o Ah, right, arch/hexagon/mm/ioremap.c is removed, I forgot change that in Makefile. Thanks. > > For the second issue, it seems that ioremap is exported in > arch/hexagon/kernel/hexagon_ksyms.c but ioremap() is a static inline > function with CONFIG_GENERIC_IOREMAP. I think we can just remove the > ioremap and iounmap exports now, as ioremap() calls ioremap_prot(), > which is exported, and iounmap() is exported in mm/ioremap.c. > > diff --git a/arch/hexagon/kernel/hexagon_ksyms.c b/arch/hexagon/kernel/hexagon_ksyms.c > index ec56ce2d92a2..36a80e31d187 100644 > --- a/arch/hexagon/kernel/hexagon_ksyms.c > +++ b/arch/hexagon/kernel/hexagon_ksyms.c > @@ -14,12 +14,10 @@ > EXPORT_SYMBOL(__clear_user_hexagon); > EXPORT_SYMBOL(raw_copy_from_user); > EXPORT_SYMBOL(raw_copy_to_user); > -EXPORT_SYMBOL(iounmap); > EXPORT_SYMBOL(__vmgetie); > EXPORT_SYMBOL(__vmsetie); > EXPORT_SYMBOL(__vmyield); > EXPORT_SYMBOL(empty_zero_page); > -EXPORT_SYMBOL(ioremap); > EXPORT_SYMBOL(memcpy); > EXPORT_SYMBOL(memset); > > > With those two diffs, the randconfig the robot provides builds and links > without any errors. Thanks a lot, I will add this into patch 02/19 of v8 post. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-06-25 1:15 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20230620131356.25440-1-bhe@redhat.com>
2023-06-20 13:13 ` [PATCH v7 02/19] hexagon: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-06-21 2:15 ` kernel test robot
2023-06-21 8:50 ` Baoquan He
2023-06-21 19:08 ` Nathan Chancellor
2023-06-25 1:15 ` Baoquan He
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).