On 5/14/20 5:45 PM, Vineet Gupta via Libc-alpha wrote: > On 5/4/20 2:21 PM, Vineet Gupta wrote: >> On 4/22/20 6:41 PM, Vineet Gupta wrote: >>> Hi, >>> >>> This patchset implements glibc port to ARC HS48x processor from Synopsys. >> >> ping ! > > ping ^2 > > I have rebased and adjusted the v6 patch for semaphore header unification. Would > appreciate more technincal review. ping ^3 Hello list, Can some of you please review this patchset. The only comment I got on v6 so far was for a common semaphore header which is merged upstream (and dropped from ARC port). I'm wating for some more technical feedback before posting v7 (and hopefully Alistair's sysvipc code is also accepted/merged by that point) Thx, -Vineet >>> This still needs a couple of inflight 64-time, offset patches. >>> >>> git@xxxxxxxxxx:foss-for-synopsys-dwc-arc-processors/glibc.git upstream-v6 >>> >>> v6: >>> * Dropped 11/14: merged upstream >>> * _FPU_SETS() inline asm reworked >>> * Introduce fixup-asm-unistd.h to elide 32-bit time, offset syscalls and >>> regenerate arch-syscall.h >>> * Fix snafu in updating build-many-glibcs for ARC >>> * More code sytle fixes flagged by Joseph >>> v5: >>> * Big Endian formally supported as multi-ABI >>> * Removed code for ARC700 processors >>> * Hard-float code updates: fegetmode, fesetround, feupdateenv >>> * socket-constant.h update for 64-bit ABI spun off as standalone patch >>> * __syscall_error made glibc_private >>> * math ulps regen >>> * gmp-mparam.h removed >>> * lint fixes as flagged by Joseph >>> v4: >>> * Dropped 1/17: Merged upstream >>> * Dropped 17/17: >>> - 64-bit time/offset code chunked up into respective patches >>> * sysctl removed >>> * Updated README for arc gnu triplet >>> * Updated install files for ARC gcc/binutils requirements >>> * Updated NEWS with brief ISA/ABI info >>> >>> v3: >>> * Support for Hardware Floating Point >>> * 64-bit time and offsets ABI (although all such changes are confined >>> to a single patch) >>> >>> v5: https://sourceware.org/pipermail/libc-alpha/2020-April/112657.html >>> v4: https://sourceware.org/pipermail/libc-alpha/2020-March/111855.html >>> v3: https://sourceware.org/legacy-ml/libc-alpha/2020-03/msg00167.html >>> v2: https://sourceware.org/legacy-ml/libc-alpha/2019-01/msg00681.html >>> v1: https://sourceware.org/legacy-ml/libc-alpha/2018-12/msg00678.html >>> >>> Documentation: >>> -------------- >>> >>> (a) ABI doc: >>> https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/wiki/files/ARCv2_ABI.pdf >>> >>> (b) Programmer's Reference Manual (PRM) : needs a download request to be filled >>> https://www.synopsys.com/dw/ipdir.php?ds=arc-hs44-hs46-hs48 >>> https://www.synopsys.com/dw/doc.php/ds/cc/programmers-reference-manual-ARC-HS.pdf >>> >>> Test Results: >>> -------------- >>> (a) build-many-glibcs.py >>> >>> | Summary of test results: >>> | 1251 PASS >>> | 15 XFAIL >>> >>> >>> (b) Full testsuite ran in a cross compile setup using buildroot on HSDK development >>> platform. Bulk of failures come from cross testing setup and I >>> intend to improve things with native testing going forward. >>> >>> | Summary of test results: >>> | 30 FAIL (-3) >>> | >>> | FAIL: csu/test-as-const-tcb-offsets >>> + FAIL: elf/tst-audit14 >>> + FAIL: elf/tst-audit15 >>> + FAIL: elf/tst-audit16 >>> | FAIL: elf/tst-ldconfig-ld_so_conf-update # not true: dlopen >>> | FAIL: iconv/test-iconvconfig # Needs gconv installed >>> - FAIL: iconv/tst-gconv-init-failure >>> | FAIL: io/ftwtest # Requires execution by non-root >>> - FAIL: io/tst-futimesat >>> | FAIL: io/tst-lockf >>> | FAIL: libio/tst-wfile-sync >>> | FAIL: locale/tst-C-locale >>> | FAIL: locale/tst-duplocale >>> | FAIL: locale/tst-locale-locpath >>> | FAIL: locale/tst-locname >>> | FAIL: localedata/sort-test >>> | FAIL: nptl/test-cond-printers # needs Python3 and target GDB on target >>> | FAIL: nptl/test-condattr-printers # ditto >>> | FAIL: nptl/test-mutex-printers # ditto >>> | FAIL: nptl/test-mutexattr-printers # ditto >>> | FAIL: nptl/test-rwlock-printers # ditto >>> | FAIL: nptl/test-rwlockattr-printers # ditto >>> | FAIL: nptl/tst-umask1 # passes if run natively on target (NFS ACLv3 support needed) >>> | FAIL: nss/bug-erange >>> | FAIL: nss/tst-nss-files-hosts-getent # Timed out >>> | FAIL: nss/tst-nss-files-hosts-multi # Timed out >>> | FAIL: posix/bug-ga2 # DNS issue: google DNS vs. SNPS >>> | FAIL: posix/globtest # require same user on target and host >>> | FAIL: posix/tst-getaddrinfo5 # passes outside corporate network >>> - FAIL: resolv/tst-resolv-basic >>> - FAIL: resolv/tst-resolv-edns >>> - FAIL: resolv/tst-resolv-rotate >>> - FAIL: resolv/tst-resolv-search >>> | FAIL: stdio-common/bug22 # Needs more RAM: 2 GB memory >>> | FAIL: sunrpc/bug20790 # missing cpp on target >>> | FAIL: timezone/tst-tzset # passes outside corporate network >>> >>> >>> kindly review. >>> >>> Thx, >>> -Vineet >>> >>> Vineet Gupta (13): >>> ARC: ABI Implementation >>> ARC: startup and dynamic linking code >>> ARC: Thread Local Storage support >>> ARC: Atomics and Locking primitives >>> ARC: math soft float support >>> ARC: hardware floating point support >>> ARC: Linux Syscall Interface >>> ARC: Linux ABI >>> ARC: Linux Startup and Dynamic Loading >>> ARC: ABI lists >>> ARC: Build Infrastructure >>> build-many-glibcs.py: Enable ARC builds >>> Documentation for ARC port >>> >>> NEWS | 9 + >>> README | 1 + >>> config.h.in | 3 + >>> manual/install.texi | 4 + >>> scripts/build-many-glibcs.py | 10 + >>> sysdeps/arc/Implies | 3 + >>> sysdeps/arc/Makefile | 21 + >>> sysdeps/arc/Versions | 8 + >>> sysdeps/arc/__longjmp.S | 50 + >>> sysdeps/arc/abort-instr.h | 2 + >>> sysdeps/arc/atomic-machine.h | 69 + >>> sysdeps/arc/bits/endianness.h | 15 + >>> sysdeps/arc/bits/fenv.h | 77 + >>> sysdeps/arc/bits/link.h | 52 + >>> sysdeps/arc/bits/setjmp.h | 26 + >>> sysdeps/arc/bsd-_setjmp.S | 1 + >>> sysdeps/arc/bsd-setjmp.S | 1 + >>> sysdeps/arc/configure | 182 ++ >>> sysdeps/arc/configure.ac | 26 + >>> sysdeps/arc/dl-machine.h | 340 +++ >>> sysdeps/arc/dl-runtime.c | 33 + >>> sysdeps/arc/dl-sysdep.h | 25 + >>> sysdeps/arc/dl-tls.h | 30 + >>> sysdeps/arc/dl-trampoline.S | 80 + >>> sysdeps/arc/entry.h | 5 + >>> sysdeps/arc/fpu/e_sqrt.c | 27 + >>> sysdeps/arc/fpu/e_sqrtf.c | 27 + >>> sysdeps/arc/fpu/fclrexcpt.c | 36 + >>> sysdeps/arc/fpu/fegetenv.c | 37 + >>> sysdeps/arc/fpu/fegetmode.c | 31 + >>> sysdeps/arc/fpu/fegetround.c | 32 + >>> sysdeps/arc/fpu/feholdexcpt.c | 43 + >>> sysdeps/arc/fpu/fesetenv.c | 48 + >>> sysdeps/arc/fpu/fesetexcept.c | 32 + >>> sysdeps/arc/fpu/fesetmode.c | 40 + >>> sysdeps/arc/fpu/fesetround.c | 40 + >>> sysdeps/arc/fpu/feupdateenv.c | 51 + >>> sysdeps/arc/fpu/fgetexcptflg.c | 31 + >>> sysdeps/arc/fpu/fraiseexcpt.c | 39 + >>> sysdeps/arc/fpu/fsetexcptflg.c | 38 + >>> sysdeps/arc/fpu/ftestexcept.c | 33 + >>> sysdeps/arc/fpu/libm-test-ulps | 1140 +++++++++ >>> sysdeps/arc/fpu/libm-test-ulps-name | 1 + >>> sysdeps/arc/fpu/s_fma.c | 28 + >>> sysdeps/arc/fpu/s_fmaf.c | 28 + >>> sysdeps/arc/fpu_control.h | 106 + >>> sysdeps/arc/gccframe.h | 21 + >>> sysdeps/arc/get-rounding-mode.h | 38 + >>> sysdeps/arc/jmpbuf-offsets.h | 47 + >>> sysdeps/arc/jmpbuf-unwind.h | 47 + >>> sysdeps/arc/ldsodefs.h | 43 + >>> sysdeps/arc/libc-tls.c | 27 + >>> sysdeps/arc/machine-gmon.h | 35 + >>> sysdeps/arc/math-tests-trap.h | 27 + >>> sysdeps/arc/memusage.h | 23 + >>> sysdeps/arc/nofpu/Implies | 1 + >>> sysdeps/arc/nofpu/libm-test-ulps | 270 +++ >>> sysdeps/arc/nofpu/libm-test-ulps-name | 1 + >>> sysdeps/arc/nofpu/math-tests-exceptions.h | 27 + >>> sysdeps/arc/nofpu/math-tests-rounding.h | 27 + >>> sysdeps/arc/nptl/Makefile | 22 + >>> sysdeps/arc/nptl/bits/semaphore.h | 32 + >>> sysdeps/arc/nptl/pthreaddef.h | 32 + >>> sysdeps/arc/nptl/tcb-offsets.sym | 11 + >>> sysdeps/arc/nptl/tls.h | 150 ++ >>> sysdeps/arc/preconfigure | 14 + >>> sysdeps/arc/setjmp.S | 66 + >>> sysdeps/arc/sfp-machine.h | 73 + >>> sysdeps/arc/sotruss-lib.c | 51 + >>> sysdeps/arc/stackinfo.h | 33 + >>> sysdeps/arc/start.S | 74 + >>> sysdeps/arc/sysdep.h | 48 + >>> sysdeps/arc/tininess.h | 1 + >>> sysdeps/arc/tls-macros.h | 47 + >>> sysdeps/arc/tst-audit.h | 23 + >>> sysdeps/unix/sysv/linux/arc/Implies | 3 + >>> sysdeps/unix/sysv/linux/arc/Makefile | 29 + >>> sysdeps/unix/sysv/linux/arc/Versions | 16 + >>> sysdeps/unix/sysv/linux/arc/arch-syscall.h | 303 +++ >>> sysdeps/unix/sysv/linux/arc/bits/procfs.h | 35 + >>> sysdeps/unix/sysv/linux/arc/bits/timesize.h | 21 + >>> .../sysv/linux/arc/bits/types/__sigset_t.h | 12 + >>> sysdeps/unix/sysv/linux/arc/c++-types.data | 67 + >>> sysdeps/unix/sysv/linux/arc/clone.S | 98 + >>> sysdeps/unix/sysv/linux/arc/configure | 4 + >>> sysdeps/unix/sysv/linux/arc/configure.ac | 4 + >>> sysdeps/unix/sysv/linux/arc/dl-static.c | 84 + >>> .../unix/sysv/linux/arc/fixup-asm-unistd.h | 41 + >>> sysdeps/unix/sysv/linux/arc/getcontext.S | 63 + >>> sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h | 6 + >>> sysdeps/unix/sysv/linux/arc/kernel-features.h | 28 + >>> sysdeps/unix/sysv/linux/arc/kernel_stat.h | 26 + >>> sysdeps/unix/sysv/linux/arc/ld.abilist | 5 + >>> sysdeps/unix/sysv/linux/arc/ldconfig.h | 27 + >>> sysdeps/unix/sysv/linux/arc/ldsodefs.h | 32 + >>> .../sysv/linux/arc/libBrokenLocale.abilist | 1 + >>> sysdeps/unix/sysv/linux/arc/libanl.abilist | 4 + >>> sysdeps/unix/sysv/linux/arc/libc.abilist | 2082 +++++++++++++++++ >>> sysdeps/unix/sysv/linux/arc/libcrypt.abilist | 2 + >>> sysdeps/unix/sysv/linux/arc/libdl.abilist | 9 + >>> sysdeps/unix/sysv/linux/arc/libm.abilist | 699 ++++++ >>> .../unix/sysv/linux/arc/libpthread.abilist | 216 ++ >>> sysdeps/unix/sysv/linux/arc/libresolv.abilist | 79 + >>> sysdeps/unix/sysv/linux/arc/librt.abilist | 35 + >>> .../unix/sysv/linux/arc/libthread_db.abilist | 40 + >>> sysdeps/unix/sysv/linux/arc/libutil.abilist | 6 + >>> sysdeps/unix/sysv/linux/arc/localplt.data | 12 + >>> sysdeps/unix/sysv/linux/arc/makecontext.c | 73 + >>> sysdeps/unix/sysv/linux/arc/mmap_internal.h | 27 + >>> sysdeps/unix/sysv/linux/arc/pt-vfork.S | 1 + >>> sysdeps/unix/sysv/linux/arc/setcontext.S | 92 + >>> sysdeps/unix/sysv/linux/arc/shlib-versions | 7 + >>> sysdeps/unix/sysv/linux/arc/sigaction.c | 31 + >>> sysdeps/unix/sysv/linux/arc/sigcontextinfo.h | 28 + >>> sysdeps/unix/sysv/linux/arc/sigrestorer.S | 29 + >>> sysdeps/unix/sysv/linux/arc/swapcontext.S | 92 + >>> sysdeps/unix/sysv/linux/arc/sys/cachectl.h | 36 + >>> sysdeps/unix/sysv/linux/arc/sys/ucontext.h | 61 + >>> sysdeps/unix/sysv/linux/arc/sys/user.h | 31 + >>> sysdeps/unix/sysv/linux/arc/syscall.S | 33 + >>> sysdeps/unix/sysv/linux/arc/syscalls.list | 3 + >>> sysdeps/unix/sysv/linux/arc/sysctl.mk | 1 + >>> sysdeps/unix/sysv/linux/arc/sysdep.c | 33 + >>> sysdeps/unix/sysv/linux/arc/sysdep.h | 224 ++ >>> sysdeps/unix/sysv/linux/arc/ucontext-macros.h | 29 + >>> sysdeps/unix/sysv/linux/arc/ucontext_i.sym | 20 + >>> sysdeps/unix/sysv/linux/arc/vfork.S | 42 + >>> 127 files changed, 9254 insertions(+) >>> create mode 100644 sysdeps/arc/Implies >>> create mode 100644 sysdeps/arc/Makefile >>> create mode 100644 sysdeps/arc/Versions >>> create mode 100644 sysdeps/arc/__longjmp.S >>> create mode 100644 sysdeps/arc/abort-instr.h >>> create mode 100644 sysdeps/arc/atomic-machine.h >>> create mode 100644 sysdeps/arc/bits/endianness.h >>> create mode 100644 sysdeps/arc/bits/fenv.h >>> create mode 100644 sysdeps/arc/bits/link.h >>> create mode 100644 sysdeps/arc/bits/setjmp.h >>> create mode 100644 sysdeps/arc/bsd-_setjmp.S >>> create mode 100644 sysdeps/arc/bsd-setjmp.S >>> create mode 100644 sysdeps/arc/configure >>> create mode 100644 sysdeps/arc/configure.ac >>> create mode 100644 sysdeps/arc/dl-machine.h >>> create mode 100644 sysdeps/arc/dl-runtime.c >>> create mode 100644 sysdeps/arc/dl-sysdep.h >>> create mode 100644 sysdeps/arc/dl-tls.h >>> create mode 100644 sysdeps/arc/dl-trampoline.S >>> create mode 100644 sysdeps/arc/entry.h >>> create mode 100644 sysdeps/arc/fpu/e_sqrt.c >>> create mode 100644 sysdeps/arc/fpu/e_sqrtf.c >>> create mode 100644 sysdeps/arc/fpu/fclrexcpt.c >>> create mode 100644 sysdeps/arc/fpu/fegetenv.c >>> create mode 100644 sysdeps/arc/fpu/fegetmode.c >>> create mode 100644 sysdeps/arc/fpu/fegetround.c >>> create mode 100644 sysdeps/arc/fpu/feholdexcpt.c >>> create mode 100644 sysdeps/arc/fpu/fesetenv.c >>> create mode 100644 sysdeps/arc/fpu/fesetexcept.c >>> create mode 100644 sysdeps/arc/fpu/fesetmode.c >>> create mode 100644 sysdeps/arc/fpu/fesetround.c >>> create mode 100644 sysdeps/arc/fpu/feupdateenv.c >>> create mode 100644 sysdeps/arc/fpu/fgetexcptflg.c >>> create mode 100644 sysdeps/arc/fpu/fraiseexcpt.c >>> create mode 100644 sysdeps/arc/fpu/fsetexcptflg.c >>> create mode 100644 sysdeps/arc/fpu/ftestexcept.c >>> create mode 100644 sysdeps/arc/fpu/libm-test-ulps >>> create mode 100644 sysdeps/arc/fpu/libm-test-ulps-name >>> create mode 100644 sysdeps/arc/fpu/s_fma.c >>> create mode 100644 sysdeps/arc/fpu/s_fmaf.c >>> create mode 100644 sysdeps/arc/fpu_control.h >>> create mode 100644 sysdeps/arc/gccframe.h >>> create mode 100644 sysdeps/arc/get-rounding-mode.h >>> create mode 100644 sysdeps/arc/jmpbuf-offsets.h >>> create mode 100644 sysdeps/arc/jmpbuf-unwind.h >>> create mode 100644 sysdeps/arc/ldsodefs.h >>> create mode 100644 sysdeps/arc/libc-tls.c >>> create mode 100644 sysdeps/arc/machine-gmon.h >>> create mode 100644 sysdeps/arc/math-tests-trap.h >>> create mode 100644 sysdeps/arc/memusage.h >>> create mode 100644 sysdeps/arc/nofpu/Implies >>> create mode 100644 sysdeps/arc/nofpu/libm-test-ulps >>> create mode 100644 sysdeps/arc/nofpu/libm-test-ulps-name >>> create mode 100644 sysdeps/arc/nofpu/math-tests-exceptions.h >>> create mode 100644 sysdeps/arc/nofpu/math-tests-rounding.h >>> create mode 100644 sysdeps/arc/nptl/Makefile >>> create mode 100644 sysdeps/arc/nptl/bits/semaphore.h >>> create mode 100644 sysdeps/arc/nptl/pthreaddef.h >>> create mode 100644 sysdeps/arc/nptl/tcb-offsets.sym >>> create mode 100644 sysdeps/arc/nptl/tls.h >>> create mode 100644 sysdeps/arc/preconfigure >>> create mode 100644 sysdeps/arc/setjmp.S >>> create mode 100644 sysdeps/arc/sfp-machine.h >>> create mode 100644 sysdeps/arc/sotruss-lib.c >>> create mode 100644 sysdeps/arc/stackinfo.h >>> create mode 100644 sysdeps/arc/start.S >>> create mode 100644 sysdeps/arc/sysdep.h >>> create mode 100644 sysdeps/arc/tininess.h >>> create mode 100644 sysdeps/arc/tls-macros.h >>> create mode 100644 sysdeps/arc/tst-audit.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/Implies >>> create mode 100644 sysdeps/unix/sysv/linux/arc/Makefile >>> create mode 100644 sysdeps/unix/sysv/linux/arc/Versions >>> create mode 100644 sysdeps/unix/sysv/linux/arc/arch-syscall.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/bits/procfs.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/bits/timesize.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/c++-types.data >>> create mode 100644 sysdeps/unix/sysv/linux/arc/clone.S >>> create mode 100644 sysdeps/unix/sysv/linux/arc/configure >>> create mode 100644 sysdeps/unix/sysv/linux/arc/configure.ac >>> create mode 100644 sysdeps/unix/sysv/linux/arc/dl-static.c >>> create mode 100644 sysdeps/unix/sysv/linux/arc/fixup-asm-unistd.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/getcontext.S >>> create mode 100644 sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/kernel-features.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/kernel_stat.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/ld.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/ldconfig.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/ldsodefs.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/libanl.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/libc.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/libcrypt.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/libdl.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/libm.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/libpthread.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/libresolv.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/librt.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/libthread_db.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/libutil.abilist >>> create mode 100644 sysdeps/unix/sysv/linux/arc/localplt.data >>> create mode 100644 sysdeps/unix/sysv/linux/arc/makecontext.c >>> create mode 100644 sysdeps/unix/sysv/linux/arc/mmap_internal.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/pt-vfork.S >>> create mode 100644 sysdeps/unix/sysv/linux/arc/setcontext.S >>> create mode 100644 sysdeps/unix/sysv/linux/arc/shlib-versions >>> create mode 100644 sysdeps/unix/sysv/linux/arc/sigaction.c >>> create mode 100644 sysdeps/unix/sysv/linux/arc/sigcontextinfo.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/sigrestorer.S >>> create mode 100644 sysdeps/unix/sysv/linux/arc/swapcontext.S >>> create mode 100644 sysdeps/unix/sysv/linux/arc/sys/cachectl.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/sys/ucontext.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/sys/user.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/syscall.S >>> create mode 100644 sysdeps/unix/sysv/linux/arc/syscalls.list >>> create mode 100644 sysdeps/unix/sysv/linux/arc/sysctl.mk >>> create mode 100644 sysdeps/unix/sysv/linux/arc/sysdep.c >>> create mode 100644 sysdeps/unix/sysv/linux/arc/sysdep.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/ucontext-macros.h >>> create mode 100644 sysdeps/unix/sysv/linux/arc/ucontext_i.sym >>> create mode 100644 sysdeps/unix/sysv/linux/arc/vfork.S >>> > _______________________________________________ linux-snps-arc mailing list linux-snps-arc@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-snps-arc