Re: [PATCH v2 08/19] ARC: mm: switch pgtable_t back to struct page *
Hi Vineet, I love your patch! Yet something to improve: [auto build test ERROR on arc/for-next] [also build test ERROR on linux/master linus/master v5.14-rc5 next-20210812] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023 base: https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git for-next config: arc-randconfig-s032-20210812 (attached as .config) compiler: arceb-elf-gcc (GCC) 10.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-348-gf0e6938b-dirty # https://github.com/0day-ci/linux/commit/36e618e081c5a49b2aff51823c5f012045e902ef git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023 git checkout 36e618e081c5a49b2aff51823c5f012045e902ef # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): arch/arc/mm/init.c:35:13: warning: no previous prototype for 'arc_get_mem_sz' [-Wmissing-prototypes] 35 | long __init arc_get_mem_sz(void) | ^~ arch/arc/mm/init.c:88:13: warning: no previous prototype for 'setup_arch_memory' [-Wmissing-prototypes] 88 | void __init setup_arch_memory(void) | ^ In file included from : arch/arc/mm/init.c: In function 'mem_init': >> include/linux/compiler_types.h:328:38: error: call to >> '__compiletime_assert_328' declared with attribute error: BUILD_BUG_ON >> failed: (PTRS_PER_PGD * sizeof(pgd_t)) > PAGE_SIZE 328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ include/linux/compiler_types.h:309:4: note: in definition of macro '__compiletime_assert' 309 |prefix ## suffix();\ |^~ include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert' 328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~ include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' 50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) | ^~~~ arch/arc/mm/init.c:193:2: note: in expansion of macro 'BUILD_BUG_ON' 193 | BUILD_BUG_ON((PTRS_PER_PGD * sizeof(pgd_t)) > PAGE_SIZE); | ^~~~ vim +/__compiletime_assert_328 +328 include/linux/compiler_types.h eb5c2d4b45e3d2 Will Deacon 2020-07-21 314 eb5c2d4b45e3d2 Will Deacon 2020-07-21 315 #define _compiletime_assert(condition, msg, prefix, suffix) \ eb5c2d4b45e3d2 Will Deacon 2020-07-21 316 __compiletime_assert(condition, msg, prefix, suffix) eb5c2d4b45e3d2 Will Deacon 2020-07-21 317 eb5c2d4b45e3d2 Will Deacon 2020-07-21 318 /** eb5c2d4b45e3d2 Will Deacon 2020-07-21 319 * compiletime_assert - break build and emit msg if condition is false eb5c2d4b45e3d2 Will Deacon 2020-07-21 320 * @condition: a compile-time constant condition to check eb5c2d4b45e3d2 Will Deacon 2020-07-21 321 * @msg: a message to emit if condition is false eb5c2d4b45e3d2 Will Deacon 2020-07-21 322 * eb5c2d4b45e3d2 Will Deacon 2020-07-21 323 * In tradition of POSIX assert, this macro will break the build if the eb5c2d4b45e3d2 Will Deacon 2020-07-21 324 * supplied condition is *false*, emitting the supplied error message if the eb5c2d4b45e3d2 Will Deacon 2020-07-21 325 * compiler has support to do so. eb5c2d4b45e3d2 Will Deacon 2020-07-21 326 */ eb5c2d4b45e3d2 Will Deacon 2020-07-21 327 #define compiletime_assert(condition, msg) \ eb5c2d4b45e3d2 Will Deacon 2020-07-21 @328 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) eb5c2d4b45e3d2 Will Deacon 2020-07-21 329 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org .confi
[linux-next:master 5325/7963] fs/file.c:401:54: sparse: sparse: incorrect type in initializer (different address spaces)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 4b358aabb93a2c654cd1dcab1a25a589f6e2b153 commit: 9cf1d7d830f4a586dfa4ddcaf9eae3959e0708ef [5325/7963] ARC: cmpxchg/xchg: rewrite as macros to make type safe config: arc-randconfig-s031-20210813 (attached as .config) compiler: arc-elf-gcc (GCC) 10.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-348-gf0e6938b-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=9cf1d7d830f4a586dfa4ddcaf9eae3959e0708ef git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 9cf1d7d830f4a586dfa4ddcaf9eae3959e0708ef # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) fs/file.c:350:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct file **old_fds @@ got struct file [noderef] __rcu **fd @@ fs/file.c:350:17: sparse: expected struct file **old_fds fs/file.c:350:17: sparse: got struct file [noderef] __rcu **fd fs/file.c:351:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct file **new_fds @@ got struct file [noderef] __rcu **fd @@ fs/file.c:351:17: sparse: expected struct file **new_fds fs/file.c:351:17: sparse: got struct file [noderef] __rcu **fd fs/file.c:366:17: sparse: sparse: incompatible types in comparison expression (different address spaces): fs/file.c:366:17: sparse:struct file [noderef] __rcu * fs/file.c:366:17: sparse:struct file * >> fs/file.c:401:54: sparse: sparse: incorrect type in initializer (different >> address spaces) @@ expected struct file *file @@ got struct file >> [noderef] __rcu *[assigned] _val_ @@ fs/file.c:441:28: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct fdtable [noderef] __rcu *fdt @@ got struct fdtable * @@ fs/file.c:608:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct file *file @@ got struct file [noderef] __rcu * @@ fs/file.c:762:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct file *file @@ got struct file [noderef] __rcu * @@ fs/file.c:813:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct file *file @@ got struct file [noderef] __rcu * @@ fs/file.c:1038:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct file *tofree @@ got struct file [noderef] __rcu * @@ vim +401 fs/file.c 02afc6267f6d55 Al Viro 2008-05-08 382 ce08b62d18b3f9 Oleg Nesterov2014-01-11 383 static struct fdtable *close_files(struct files_struct * files) 7cf4dc3c8dbfdf Al Viro 2012-08-15 384 { 7cf4dc3c8dbfdf Al Viro 2012-08-15 385 /* 7cf4dc3c8dbfdf Al Viro 2012-08-15 386 * It is safe to dereference the fd table without RCU or 7cf4dc3c8dbfdf Al Viro 2012-08-15 387 * ->file_lock because this is the last reference to the ce08b62d18b3f9 Oleg Nesterov2014-01-11 388 * files structure. 7cf4dc3c8dbfdf Al Viro 2012-08-15 389 */ ce08b62d18b3f9 Oleg Nesterov2014-01-11 390 struct fdtable *fdt = rcu_dereference_raw(files->fdt); 9b80a184eaadc1 Alexey Dobriyan 2016-09-02 391 unsigned int i, j = 0; ce08b62d18b3f9 Oleg Nesterov2014-01-11 392 7cf4dc3c8dbfdf Al Viro 2012-08-15 393 for (;;) { 7cf4dc3c8dbfdf Al Viro 2012-08-15 394 unsigned long set; 7cf4dc3c8dbfdf Al Viro 2012-08-15 395 i = j * BITS_PER_LONG; 7cf4dc3c8dbfdf Al Viro 2012-08-15 396 if (i >= fdt->max_fds) 7cf4dc3c8dbfdf Al Viro 2012-08-15 397 break; 7cf4dc3c8dbfdf Al Viro 2012-08-15 398 set = fdt->open_fds[j++]; 7cf4dc3c8dbfdf Al Viro 2012-08-15 399 while (set) { 7cf4dc3c8dbfdf Al Viro 2012-08-15 400 if (set & 1) { 7cf4dc3c8dbfdf Al Viro 2012-08-15 @401 struct file * file = xchg(&fdt->fd[i], NULL); 7cf4dc3c8dbfdf Al Viro 2012-08-15 402
Re: [PATCH v2 08/19] ARC: mm: switch pgtable_t back to struct page *
On 8/13/21 3:45 AM, kernel test robot wrote: Hi Vineet, I love your patch! Yet something to improve: [auto build test ERROR on arc/for-next] [also build test ERROR on linux/master linus/master v5.14-rc5 next-20210812] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023 base: https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git for-next config: arc-randconfig-s032-20210812 (attached as .config) compiler: arceb-elf-gcc (GCC) 10.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-348-gf0e6938b-dirty # https://github.com/0day-ci/linux/commit/36e618e081c5a49b2aff51823c5f012045e902ef git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023 git checkout 36e618e081c5a49b2aff51823c5f012045e902ef # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): arch/arc/mm/init.c:35:13: warning: no previous prototype for 'arc_get_mem_sz' [-Wmissing-prototypes] 35 | long __init arc_get_mem_sz(void) | ^~ arch/arc/mm/init.c:88:13: warning: no previous prototype for 'setup_arch_memory' [-Wmissing-prototypes] 88 | void __init setup_arch_memory(void) | ^ In file included from : arch/arc/mm/init.c: In function 'mem_init': include/linux/compiler_types.h:328:38: error: call to '__compiletime_assert_328' declared with attribute error: BUILD_BUG_ON failed: (PTRS_PER_PGD * sizeof(pgd_t)) > PAGE_SIZE 328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ include/linux/compiler_types.h:309:4: note: in definition of macro '__compiletime_assert' 309 |prefix ## suffix();\ |^~ include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert' 328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~ include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' 50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) | ^~~~ arch/arc/mm/init.c:193:2: note: in expansion of macro 'BUILD_BUG_ON' 193 | BUILD_BUG_ON((PTRS_PER_PGD * sizeof(pgd_t)) > PAGE_SIZE); | ^~~~ Thx for the report. This is 4K page config, where PGDIR_SHIFT 21 causes 32-21 = 11 bits or 2k entries which won't fit in 4k page. I've added the fix and added Tested-by. -Vineet ___ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc
Re: [PATCH v2 13/19] ARC: mm: disintegrate mmu.h (arcv2 bits out)
On 8/12/21 9:01 PM, kernel test robot wrote: Hi Vineet, I love your patch! Yet something to improve: [auto build test ERROR on arc/for-next] [also build test ERROR on next-20210812] [cannot apply to linux/master linus/master v5.14-rc5] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url:https://github.com/0day-ci/linux/commits/Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023 base:https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git for-next config: arc-allyesconfig (attached as .config) compiler: arceb-elf-gcc (GCC) 10.3.0 reproduce (this is a W=1 build): wgethttps://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross #https://github.com/0day-ci/linux/commit/0411d3a95cb73722d026f7b3d9c9d8abab8c0d79 git remote add linux-reviewhttps://github.com/0day-ci/linux git fetch --no-tags linux-review Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023 git checkout 0411d3a95cb73722d026f7b3d9c9d8abab8c0d79 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/arc/include/asm/mmu.h:19, from include/linux/mm_types.h:19, from include/linux/buildid.h:5, from include/linux/module.h:14, from lib/test_bitops.c:9: arch/arc/include/asm/mmu-arcv2.h:80:1: error: 'inline' is not at beginning of declaration [-Werror=old-style-declaration] 80 | static void inline mmu_setup_asid(struct mm_struct *mm, unsigned long asid) | ^~ arch/arc/include/asm/mmu-arcv2.h:85:1: error: 'inline' is not at beginning of declaration [-Werror=old-style-declaration] 85 | static void inline mmu_setup_pgd(struct mm_struct *mm, void *pgd) | ^~ cc1: all warnings being treated as errors Strange my gcc11 is not tripping on this snafu. Fixed now. Thx for the report as always. -Vineet ___ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc
[PATCH linux-nest] arch/arc/kernel/: fix misspellings using codespell tool
From: Changcheng Deng Some typos are found out by codespell tool: ./intc-compact.c:145: prioity ==> priority ./smp.c:286: recevier ==> receiver ./stacktrace.c:152 prelogue ==> prologue Fix typos found by codespell. Reported-by: Zeal Robot Signed-off-by: Changcheng Deng Signed-off-by: Yi Wang --- arch/arc/kernel/intc-compact.c | 2 +- arch/arc/kernel/smp.c | 2 +- arch/arc/kernel/stacktrace.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arc/kernel/intc-compact.c b/arch/arc/kernel/intc-compact.c index a86641b..6885e42 100644 --- a/arch/arc/kernel/intc-compact.c +++ b/arch/arc/kernel/intc-compact.c @@ -142,7 +142,7 @@ static int arc_intc_domain_map(struct irq_domain *d, unsigned int irq, *Time hard-ISR, timer_interrupt( ) calls spin_unlock_irq several times. *Here local_irq_enable( ) shd not re-enable lower priority interrupts * -If called from soft-ISR, it must re-enable all interrupts - *soft ISR are low prioity jobs which can be very slow, thus all IRQs + *soft ISR are low priority jobs which can be very slow, thus all IRQs *must be enabled while they run. *Now hardware context wise we may still be in L2 ISR (not done rtie) *still we must re-enable both L1 and L2 IRQs diff --git a/arch/arc/kernel/smp.c b/arch/arc/kernel/smp.c index db0e104..b5b5fe2 100644 --- a/arch/arc/kernel/smp.c +++ b/arch/arc/kernel/smp.c @@ -283,7 +283,7 @@ static void ipi_send_msg_one(int cpu, enum ipi_msg_type msg) /* * Call the platform specific IPI kick function, but avoid if possible: * Only do so if there's no pending msg from other concurrent sender(s). -* Otherwise, recevier will see this msg as well when it takes the +* Otherwise, receiver will see this msg as well when it takes the * IPI corresponding to that msg. This is true, even if it is already in * IPI handler, because !@old means it has not yet dequeued the msg(s) * so @new msg can be a free-loader diff --git a/arch/arc/kernel/stacktrace.c b/arch/arc/kernel/stacktrace.c index 1b9576d..c376ff3 100644 --- a/arch/arc/kernel/stacktrace.c +++ b/arch/arc/kernel/stacktrace.c @@ -149,7 +149,7 @@ #else /* On ARC, only Dward based unwinder works. fp based backtracing is * not possible (-fno-omit-frame-pointer) because of the way function -* prelogue is setup (callee regs saved and then fp set and not other +* prologue is setup (callee regs saved and then fp set and not other * way around */ pr_warn_once("CONFIG_ARC_DW2_UNWIND needs to be enabled\n"); -- 1.8.3.1___ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc
Re: [PATCH v6 00/12] mm/debug_vm_pgtable: Enhancements
On 8/13/21 2:25 AM, Gavin Shan wrote: Hi Anshuman and Vineet, On 8/12/21 9:11 PM, Anshuman Khandual wrote: On 8/9/21 2:56 PM, Gavin Shan wrote: There are couple of issues with current implementations and this series tries to resolve the issues: (a) All needed information are scattered in variables, passed to various test functions. The code is organized in pretty much relaxed fashion. (b) The page isn't allocated from buddy during page table entry modifying tests. The page can be invalid, conflicting to the implementations of set_xxx_at() on ARM64. The target page is accessed so that the iCache can be flushed when execution permission is given on ARM64. Besides, the target page can be unmapped and accessing to it causes kernel crash. "struct pgtable_debug_args" is introduced to address issue (a). For issue (b), the used page is allocated from buddy in page table entry modifying tests. The corresponding tets will be skipped if we fail to allocate the (huge) page. For other test cases, the original page around to kernel symbol (@start_kernel) is still used. The patches are organized as below. PATCH[2-10] could be combined to one patch, but it will make the review harder: PATCH[1] introduces "struct pgtable_debug_args" as place holder of all needed information. With it, the old and new implementation can coexist. PATCH[2-10] uses "struct pgtable_debug_args" in various test functions. PATCH[11] removes the unused code for old implementation. PATCH[12] fixes the issue of corrupted page flag for ARM64 Changelog = v6: * Populate saved page table entry pointers after they're allocated in init_args() (Anshuman) * Fix imbalanced preemption count issue by replacing pte_alloc_mmap() with pte_alloc() in init_args() (syzbot) + vgu...@kernel.org Please also keep linux-snps-arc CC'ed for ARC changes. Hello Gavin/Vineet, This series still need to be tested on ARC ? Yes, I'm unable to test ARC as it's not supported by QEMU yet. It would great if Vineet can give it a try on ARC :) We do have a working QEMU (in the process of being upstreamed) you could try https://github.com/foss-for-synopsys-dwc-arc-processors/qemu #master Is this code in some shared git repo we can pull - instead of apply 8 files. Thx, -Vineet ___ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc
Re: [PATCH v6 00/12] mm/debug_vm_pgtable: Enhancements
Hi Vineet, On 8/14/21 5:43 AM, Vineet Gupta wrote: On 8/13/21 2:25 AM, Gavin Shan wrote: On 8/12/21 9:11 PM, Anshuman Khandual wrote: On 8/9/21 2:56 PM, Gavin Shan wrote: There are couple of issues with current implementations and this series tries to resolve the issues: (a) All needed information are scattered in variables, passed to various test functions. The code is organized in pretty much relaxed fashion. (b) The page isn't allocated from buddy during page table entry modifying tests. The page can be invalid, conflicting to the implementations of set_xxx_at() on ARM64. The target page is accessed so that the iCache can be flushed when execution permission is given on ARM64. Besides, the target page can be unmapped and accessing to it causes kernel crash. "struct pgtable_debug_args" is introduced to address issue (a). For issue (b), the used page is allocated from buddy in page table entry modifying tests. The corresponding tets will be skipped if we fail to allocate the (huge) page. For other test cases, the original page around to kernel symbol (@start_kernel) is still used. The patches are organized as below. PATCH[2-10] could be combined to one patch, but it will make the review harder: PATCH[1] introduces "struct pgtable_debug_args" as place holder of all needed information. With it, the old and new implementation can coexist. PATCH[2-10] uses "struct pgtable_debug_args" in various test functions. PATCH[11] removes the unused code for old implementation. PATCH[12] fixes the issue of corrupted page flag for ARM64 Changelog = v6: * Populate saved page table entry pointers after they're allocated in init_args() (Anshuman) * Fix imbalanced preemption count issue by replacing pte_alloc_mmap() with pte_alloc() in init_args() (syzbot) + vgu...@kernel.org Please also keep linux-snps-arc CC'ed for ARC changes. Sure. Hello Gavin/Vineet, This series still need to be tested on ARC ? Yes, I'm unable to test ARC as it's not supported by QEMU yet. It would great if Vineet can give it a try on ARC :) We do have a working QEMU (in the process of being upstreamed) you could try https://github.com/foss-for-synopsys-dwc-arc-processors/qemu #master Is this code in some shared git repo we can pull - instead of apply 8 files. Here is repo with v6 series included. Please help to have a try. https://github.com/gwshan/linux # kvm/arm64_debug I tried to build the cross-compiler with buildroot with following 2 repos. Unfortunately, none of them worked for me. The QEMU binary can be built successfully with the provided repo though. [1] git://github.com/foss-for-synopsys-dwc-arc-processors/buildroot.git (branch: master) There are build errors after choosing little-endian ARM from "make menuconfig" [2] https://github.com/buildroot/buildroot (branch: master) The build is successful, but the kernel can't be built because of the following errors: # make ARCH=arc CROSS_COMPILE=arc-linux- axs103_smp_defconfig # make -j 40 : LD vmlinux.o arc-linux-ld: error: attempting to link /home/gavin/sandbox/buildroot/buildroot.arc/output/host/lib /gcc/arc-buildroot-linux-uclibc/10.2.0/libgcc.a(_muldi3.o) with a binary vmlinux.o of different architecture Thanks, Gavin ___ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc