Re: [PATCH 0/3] Remove drivers used by EZChip NPS platform

2020-12-11 Thread Marc Zyngier
On Thu, 5 Nov 2020 13:22:07 -0800, Vineet Gupta wrote:
> This series removes any drivers associated with EZChip NPS platform
> which was removed from ARC in 5.10-rc1.
> 
> Vineet Gupta (3):
>   drivers/clocksource: Remove EZChip NPS clocksource driver
>   drivers/irqchip: Remove EZChip NPS interrupt controller
>   include/soc: remove headers for EZChip NPS
> 
> [...]

Applied to irq/irqchip-next, thanks!

[2/3] drivers/irqchip: Remove EZChip NPS interrupt controller
  commit: 04e7f423f4a96ad492fd51bf2234b8982400ab5f

Please route the two other patches via their respective trees.

Cheers,

M.
-- 
Without deviation from the norm, progress is not possible.



___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[RFC] cacheflush.2: Document different prototypes for different architectures

2020-12-11 Thread Alejandro Colomar (man-pages)
Hi Michael,

Continuing with the changes in this thread:
https://lore.kernel.org/linux-man/747d56e0-c102-ab40-add4-530a48a43...@gmx.de/T/#t

I researched the architectures that have this syscall.  I found some
that clearly provide the syscall, and some that seem to have something,
but I didn't find a definition in the kernel (i.e., ARM, MicroBlaze
(glibc only)?)

Research:

$ grep -rn cacheflush glibc/
glibc/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist:324:GLIBC_2.0
cacheflush F
glibc/sysdeps/unix/sysv/linux/m68k/Versions:13:cacheflush;
glibc/sysdeps/unix/sysv/linux/m68k/arch-syscall.h:17:#define
__NR_cacheflush 123
glibc/sysdeps/unix/sysv/linux/m68k/syscalls.list:18:cacheflush  EXTRA
cacheflush  i:  __cacheflushcacheflush
glibc/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist:744:GLIBC_2.4
cacheflush F
glibc/sysdeps/unix/sysv/linux/arc/Versions:10:cacheflush;
glibc/sysdeps/unix/sysv/linux/arc/sys/cachectl.h:1:/* cacheflush - flush
contents of instruction and/or data cache.
glibc/sysdeps/unix/sysv/linux/arc/sys/cachectl.h:30:extern int
cacheflush (void *__addr, int __nbytes, int __op) __THROW;
glibc/sysdeps/unix/sysv/linux/arc/arch-syscall.h:13:#define
__NR_cacheflush 244
glibc/sysdeps/unix/sysv/linux/arc/syscalls.list:3:cacheflush-
cacheflush  i:pii   _flush_cachecacheflush
glibc/sysdeps/unix/sysv/linux/arc/Makefile:10:# MIPS/Tile-style
cacheflush routine
glibc/sysdeps/unix/sysv/linux/arc/Makefile:12:sysdep_routines += cacheflush
glibc/sysdeps/unix/sysv/linux/arc/libc.abilist:574:GLIBC_2.32 cacheflush F
glibc/sysdeps/unix/sysv/linux/csky/Versions:3:cacheflush;
glibc/sysdeps/unix/sysv/linux/csky/sys/cachectl.h:30:extern int
cacheflush (void *__addr, const int __nbytes,
glibc/sysdeps/unix/sysv/linux/csky/arch-syscall.h:10:#define
__NR_cacheflush 245
glibc/sysdeps/unix/sysv/linux/csky/syscalls.list:2:cacheflush   -
cacheflush  i:pii   _flush_cachecacheflush
glibc/sysdeps/unix/sysv/linux/csky/Makefile:2:sysdep_routines += cacheflush
glibc/sysdeps/unix/sysv/linux/csky/libc.abilist:594:GLIBC_2.29 cacheflush F
glibc/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist:322:GLIBC_2.0
cacheflush F
glibc/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h:19:#define
__NR_cacheflush 4147
glibc/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist:322:GLIBC_2.0
cacheflush F
glibc/sysdeps/unix/sysv/linux/mips/Versions:19:cachectl; cacheflush;
glibc/sysdeps/unix/sysv/linux/mips/sys/cachectl.h:35:extern int
cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
glibc/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h:16:#define
__NR_cacheflush 5197
glibc/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist:320:GLIBC_2.0
cacheflush F
glibc/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h:16:#define
__NR_cacheflush 6197
glibc/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist:322:GLIBC_2.0
cacheflush F
glibc/sysdeps/unix/sysv/linux/mips/syscalls.list:8:cacheflush   -
cacheflush  i:pii   _flush_cachecacheflush
glibc/sysdeps/unix/sysv/linux/mips/Makefile:6:sysdep_routines +=
cachectl cacheflush sysmips _test_and_set
glibc/sysdeps/unix/sysv/linux/sh/arch-syscall.h:16:#define
__NR_cacheflush 123
glibc/sysdeps/unix/sysv/linux/nios2/Versions:4:cacheflush;
glibc/sysdeps/unix/sysv/linux/nios2/sys/cachectl.h:1:/* cacheflush -
flush contents of instruction and/or data cache.
glibc/sysdeps/unix/sysv/linux/nios2/sys/cachectl.h:27:extern int
cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
glibc/sysdeps/unix/sysv/linux/nios2/arch-syscall.h:10:#define
__NR_cacheflush 244
glibc/sysdeps/unix/sysv/linux/nios2/cacheflush.c:1:/* cacheflush system
call for Nios II Linux.
glibc/sysdeps/unix/sysv/linux/nios2/cacheflush.c:27:  return
INLINE_SYSCALL (cacheflush, 3, addr, nbytes, op);
glibc/sysdeps/unix/sysv/linux/nios2/cacheflush.c:29:weak_alias
(_flush_cache, cacheflush)
glibc/sysdeps/unix/sysv/linux/nios2/Makefile:6:# MIPS-style cacheflush
routine
glibc/sysdeps/unix/sysv/linux/nios2/Makefile:8:sysdep_routines += cacheflush
glibc/sysdeps/unix/sysv/linux/nios2/libc.abilist:663:GLIBC_2.21 cacheflush F
glibc/sysdeps/unix/sysv/linux/arm/dl-machine.h:23:
INTERNAL_SYSCALL_CALL (cacheflush, (BEG), (END), 0)
glibc/sysdeps/unix/sysv/linux/arm/arch-syscall.h:17:#define
__NR_cacheflush 983042
glibc/sysdeps/unix/sysv/linux/arm/fixup-asm-unistd.h:19:#ifndef
__NR_cacheflush
glibc/sysdeps/unix/sysv/linux/arm/fixup-asm-unistd.h:20:# define
__NR_cacheflush __ARM_NR_cacheflush
glibc/sysdeps/unix/sysv/linux/microblaze/syscalls.list:3:cacheflush
EXTRA   cacheflush  i:  __cacheflushcacheflush
glibc/sysdeps/unix/sysv/linux/syscall-names.list:60:cacheflush
glibc/benchtests/strcoll-inputs/filelist#en_US.UTF-8:1417:cacheflush.c
glibc/benchtests/strcoll-inputs/filelist#en_US.UTF-8:1744:cacheflush.c
glibc/ChangeLog.old/ChangeLog.7:7489:   * sysdeps/mach/mips/cacheflush.c:
Likewise.
glibc/ChangeLog.old/ChangeLog.7:9422:   *
sysdeps/unix/sysv/linux

Re: [RFC] cacheflush.2: Document different prototypes for different architectures

2020-12-11 Thread Heinrich Schuchardt

On 12/11/20 10:09 PM, Alejandro Colomar (man-pages) wrote:

Hi Michael,

Continuing with the changes in this thread:
https://lore.kernel.org/linux-man/747d56e0-c102-ab40-add4-530a48a43...@gmx.de/T/#t

I researched the architectures that have this syscall.  I found some
that clearly provide the syscall, and some that seem to have something,
but I didn't find a definition in the kernel (i.e., ARM, MicroBlaze
(glibc only)?)


arch/arm/include/uapi/asm/unistd.h:35:
#define __ARM_NR_cacheflush   (__ARM_NR_BASE+2)

arch/arm64/include/asm/unistd.h:37:
#define __ARM_NR_compat_cacheflush   (__ARM_NR_COMPAT_BASE + 2)

These syscalls are marked as private. So you should not use them from
user space.

The compilers seem not to care about these syscalls being private:

https://github.com/gcc-mirror/gcc/blob/master/libgcc/config/arm/lib1funcs.S#L1512
https://github.com/llvm-mirror/compiler-rt/blob/master/lib/builtins/clear_cache.c

Best regards

Heinrich



Research:

$ grep -rn cacheflush glibc/
glibc/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist:324:GLIBC_2.0
cacheflush F
glibc/sysdeps/unix/sysv/linux/m68k/Versions:13:cacheflush;
glibc/sysdeps/unix/sysv/linux/m68k/arch-syscall.h:17:#define
__NR_cacheflush 123
glibc/sysdeps/unix/sysv/linux/m68k/syscalls.list:18:cacheflush  EXTRA
cacheflush  i:  __cacheflushcacheflush
glibc/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist:744:GLIBC_2.4
cacheflush F
glibc/sysdeps/unix/sysv/linux/arc/Versions:10:cacheflush;
glibc/sysdeps/unix/sysv/linux/arc/sys/cachectl.h:1:/* cacheflush - flush
contents of instruction and/or data cache.
glibc/sysdeps/unix/sysv/linux/arc/sys/cachectl.h:30:extern int
cacheflush (void *__addr, int __nbytes, int __op) __THROW;
glibc/sysdeps/unix/sysv/linux/arc/arch-syscall.h:13:#define
__NR_cacheflush 244
glibc/sysdeps/unix/sysv/linux/arc/syscalls.list:3:cacheflush-
cacheflush  i:pii   _flush_cachecacheflush
glibc/sysdeps/unix/sysv/linux/arc/Makefile:10:# MIPS/Tile-style
cacheflush routine
glibc/sysdeps/unix/sysv/linux/arc/Makefile:12:sysdep_routines += cacheflush
glibc/sysdeps/unix/sysv/linux/arc/libc.abilist:574:GLIBC_2.32 cacheflush F
glibc/sysdeps/unix/sysv/linux/csky/Versions:3:cacheflush;
glibc/sysdeps/unix/sysv/linux/csky/sys/cachectl.h:30:extern int
cacheflush (void *__addr, const int __nbytes,
glibc/sysdeps/unix/sysv/linux/csky/arch-syscall.h:10:#define
__NR_cacheflush 245
glibc/sysdeps/unix/sysv/linux/csky/syscalls.list:2:cacheflush   -
cacheflush  i:pii   _flush_cachecacheflush
glibc/sysdeps/unix/sysv/linux/csky/Makefile:2:sysdep_routines += cacheflush
glibc/sysdeps/unix/sysv/linux/csky/libc.abilist:594:GLIBC_2.29 cacheflush F
glibc/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist:322:GLIBC_2.0
cacheflush F
glibc/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h:19:#define
__NR_cacheflush 4147
glibc/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist:322:GLIBC_2.0
cacheflush F
glibc/sysdeps/unix/sysv/linux/mips/Versions:19:cachectl; cacheflush;
glibc/sysdeps/unix/sysv/linux/mips/sys/cachectl.h:35:extern int
cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
glibc/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h:16:#define
__NR_cacheflush 5197
glibc/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist:320:GLIBC_2.0
cacheflush F
glibc/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h:16:#define
__NR_cacheflush 6197
glibc/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist:322:GLIBC_2.0
cacheflush F
glibc/sysdeps/unix/sysv/linux/mips/syscalls.list:8:cacheflush   -
cacheflush  i:pii   _flush_cachecacheflush
glibc/sysdeps/unix/sysv/linux/mips/Makefile:6:sysdep_routines +=
cachectl cacheflush sysmips _test_and_set
glibc/sysdeps/unix/sysv/linux/sh/arch-syscall.h:16:#define
__NR_cacheflush 123
glibc/sysdeps/unix/sysv/linux/nios2/Versions:4:cacheflush;
glibc/sysdeps/unix/sysv/linux/nios2/sys/cachectl.h:1:/* cacheflush -
flush contents of instruction and/or data cache.
glibc/sysdeps/unix/sysv/linux/nios2/sys/cachectl.h:27:extern int
cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
glibc/sysdeps/unix/sysv/linux/nios2/arch-syscall.h:10:#define
__NR_cacheflush 244
glibc/sysdeps/unix/sysv/linux/nios2/cacheflush.c:1:/* cacheflush system
call for Nios II Linux.
glibc/sysdeps/unix/sysv/linux/nios2/cacheflush.c:27:  return
INLINE_SYSCALL (cacheflush, 3, addr, nbytes, op);
glibc/sysdeps/unix/sysv/linux/nios2/cacheflush.c:29:weak_alias
(_flush_cache, cacheflush)
glibc/sysdeps/unix/sysv/linux/nios2/Makefile:6:# MIPS-style cacheflush
routine
glibc/sysdeps/unix/sysv/linux/nios2/Makefile:8:sysdep_routines += cacheflush
glibc/sysdeps/unix/sysv/linux/nios2/libc.abilist:663:GLIBC_2.21 cacheflush F
glibc/sysdeps/unix/sysv/linux/arm/dl-machine.h:23:
INTERNAL_SYSCALL_CALL (cacheflush, (BEG), (END), 0)
glibc/sysdeps/unix/sysv/linux/arm/arch-syscall.h:17:#define
__NR_cacheflush 983042
glibc/sysdeps/unix/sysv/linux/arm/fixup-asm-unistd.h:19:#