[PATCH] cacheflush.2: Update SYNOPSIS for glibc wrapper

2021-01-16 Thread Alejandro Colomar
Glibc uses 'void *' instead of 'char *'.
And the prototype is declared in .

..

$ syscall='cacheflush';
$ ret='int';
$ find glibc/ -type f -name '*.h' \
  |xargs pcregrep -Mn "(?s)^[\w\s]*${ret}\s*${syscall}\s*\(.*?;";
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/mips/sys/cachectl.h:35:
extern int cacheflush (void *__addr, const int __nbytes, const int __op) 
__THROW;
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/csky/sys/cachectl.h:30:
extern int cacheflush (void *__addr, const int __nbytes,
   const int __op) __THROW;

Signed-off-by: Alejandro Colomar 
---
 man2/cacheflush.2 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/man2/cacheflush.2 b/man2/cacheflush.2
index 2cf624f3a..0496879ca 100644
--- a/man2/cacheflush.2
+++ b/man2/cacheflush.2
@@ -27,9 +27,9 @@
 cacheflush \- flush contents of instruction and/or data cache
 .SH SYNOPSIS
 .nf
-.B #include 
+.B #inlcude 
 .PP
-.BI "int cacheflush(char *" addr ", int "nbytes ", int "cache );
+.BI "int cacheflush(void *" addr ", int "nbytes ", int "cache );
 .fi
 .PP
 .IR Note :
-- 
2.30.0


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


Re: [Buildroot] [PATCH 0/4] ARC updates

2021-01-16 Thread Yann E. MORIN
Vineet, All,

On 2021-01-15 12:03 -0800, Vineet Gupta spake thusly:
> PFA assorted ARC changes. Main being a hw config for -mcpu=hs4x which
> schedules code for HS48x dual issue pipeline.

Series applied to master, thanks!

I have however done a bit of changes, so I will reply individually to
affected patches.

Regards,
Yann E. MORIN.

> Thx,
> -Vineet
> 
> Vineet Gupta (4):
>   ARC: Add support for generic HS48 processor
>   configs/snps_archs38_hsdk_defconfig: refresh defconfig
>   configs/snps_archs38_hsdk_defconfig: switch to glibc hard-float
>   configs/snps_archs38_hsdk_defconfig: update for better out-of-box
> experience
> 
>  arch/Config.in.arc  | 16 +
>  configs/snps_archs38_hsdk_defconfig | 36 +++--
>  2 files changed, 30 insertions(+), 22 deletions(-)
> 
> -- 
> 2.25.1
> 
> ___
> buildroot mailing list
> buildr...@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-..--..
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN |  ___   |
| +33 561 099 427 `.---:  X  AGAINST  |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL|   v   conspiracy.  |
'--^---^--^'

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


Re: [Buildroot] [PATCH 1/4] ARC: Add support for generic HS48 processor

2021-01-16 Thread Yann E. MORIN
Vineet, All,

On 2021-01-15 12:03 -0800, Vineet Gupta spake thusly:
> For the HS48 processor, BR currently builds with -mcpu=hs4x_rel31 which
> generates suboptimal code as it inhibits delay slot and back-back ST and so 
> on.
> 
> Enable a new variant to build with -mcpu=hs4x for normal codegen.
> 
> Signed-off-by: Vineet Gupta 
> ---
>  arch/Config.in.arc | 16 +++-
>  1 file changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/Config.in.arc b/arch/Config.in.arc
> index fdfafda31c72..259d6f3ab8b9 100644
> --- a/arch/Config.in.arc
> +++ b/arch/Config.in.arc
> @@ -39,9 +39,14 @@ config BR2_archs38_full
>  
>  config BR2_archs4x_rel31
>   bool "ARC HS48 rel 31"
> + help
> +Build for HS48 release 3.1
> +
> +config BR2_archs4x
> + bool "ARC HS48"
>   help
>  Latest release of HS48 processor
> -- Dual- and quad multiply and MC oprations
> +- Dual and Quad multiply and MAC operations
>  - Double-precision FPU
>  
>  endchoice
> @@ -49,7 +54,7 @@ endchoice
>  # Choice of atomic instructions presence
>  config BR2_ARC_ATOMIC_EXT
>   bool "Atomic extension (LLOCK/SCOND instructions)"
> - default y if BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || 
> BR2_archs38_full || BR2_archs4x_rel31
> + default y if BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || 
> BR2_archs38_full || BR2_archs4x_rel31 || BR2_archs4x

Those started to be rather long lines, so I split them.

>  config BR2_ARCH
>   default "arc"   if BR2_arcle
> @@ -70,10 +75,11 @@ config BR2_GCC_TARGET_CPU
>   default "hs38"   if BR2_archs38_64mpy
>   default "hs38_linux" if BR2_archs38_full
>   default "hs4x_rel31" if BR2_archs4x_rel31
> + default "hs4x"   if BR2_archs4x
>  
>  config BR2_READELF_ARCH_NAME
>   default "ARCompact" if BR2_arc750d || BR2_arc770d
> - default "ARCv2" if BR2_archs38 || BR2_archs38_64mpy || 
> BR2_archs38_full || BR2_archs4x_rel31
> + default "ARCv2" if BR2_archs38 || BR2_archs38_64mpy || 
> BR2_archs38_full || BR2_archs4x_rel31 || BR2_archs4x

Ditto.

>  choice
>   prompt "MMU Page Size"
> @@ -93,7 +99,7 @@ choice
>  
>  config BR2_ARC_PAGE_SIZE_4K
>   bool "4KB"
> - depends on BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || 
> BR2_archs38_full || BR2_archs4x_rel31
> + depends on BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || 
> BR2_archs38_full || BR2_archs4x_rel31 || BR2_archs4x

In fact, the only variant that does not have 4K pages is 750d, so I
inverted the logic to:

depends on !BR2_arc750d

So the lines are not too long anymore.

If the situation becones more complex than that, then we could introduce
intermediate symbols, like;

config BR2_ARC_HAS_4K_PAGES
bool

which could then be selected by the variants that do have it, e.g.:

config BR2_archs4x
bool "ARC HS48"
select BR2_ARC_HAS_4K_PAGES

and then the 4K choice would depend on it;

config BR2_ARC_PAGE_SIZE_4K
bool "4KB"
depends on BR2_ARC_HAS_4K_PAGES

I was about to do that, but if 750d is definitely the only variant to
not support those 4K or 16K pages, this would be overkill...

>  config BR2_ARC_PAGE_SIZE_8K
>   bool "8KB"
> @@ -103,7 +109,7 @@ config BR2_ARC_PAGE_SIZE_8K
>  
>  config BR2_ARC_PAGE_SIZE_16K
>   bool "16KB"
> - depends on BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || 
> BR2_archs38_full || BR2_archs4x_rel31
> + depends on BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || 
> BR2_archs38_full || BR2_archs4x_rel31 || BR2_archs4x

Ditto.

Regards,
Yann E. MORIN.

>  endchoice
>  
> -- 
> 2.25.1
> 
> ___
> buildroot mailing list
> buildr...@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-..--..
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN |  ___   |
| +33 561 099 427 `.---:  X  AGAINST  |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL|   v   conspiracy.  |
'--^---^--^'

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


Re: [Buildroot] [PATCH 3/4] configs/snps_archs38_hsdk_defconfig: switch to glibc hard-float

2021-01-16 Thread Yann E. MORIN
Vineet, All,

On 2021-01-15 12:03 -0800, Vineet Gupta spake thusly:
> We are no longer actively working on uClibc and hard-float support is
> pretty stable, so make that default for HSDK boards
> 
> The hard-float setting is a bit convulated since current ARC gcc lacks
> --with-fpu - so this is done with BR2_TARGET_OPTIMIZATION
> 
> Signed-off-by: Vineet Gupta 

I split that patch in two:
  - one commit to switch to glibc,
  - one commit to enable hard-float

Since the hard-float, as you noticed, is using a non-conventional way to
passit, so if it truns out to be causing issues, it is easier to revert
if it is in a commit of its own.

Regards,
Yann E. MORIN.

> ---
>  configs/snps_archs38_hsdk_defconfig | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/configs/snps_archs38_hsdk_defconfig 
> b/configs/snps_archs38_hsdk_defconfig
> index b8fd35636000..69d0b1936b3a 100644
> --- a/configs/snps_archs38_hsdk_defconfig
> +++ b/configs/snps_archs38_hsdk_defconfig
> @@ -1,6 +1,9 @@
>  BR2_arcle=y
>  BR2_archs38_full=y
> +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
>  BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6=y
> +BR2_PACKAGE_GLIBC_UTILS=y
> +BR2_TARGET_OPTIMIZATION="-mfpu=fpud_all"
>  BR2_TARGET_GENERIC_HOSTNAME="hsdk"
>  BR2_TARGET_GENERIC_ISSUE="Welcome to the HSDK Platform"
>  BR2_SYSTEM_DHCP="eth0"
> -- 
> 2.25.1
> 
> ___
> buildroot mailing list
> buildr...@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-..--..
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN |  ___   |
| +33 561 099 427 `.---:  X  AGAINST  |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL|   v   conspiracy.  |
'--^---^--^'

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


Re: [Buildroot] [PATCH 4/4] configs/snps_archs38_hsdk_defconfig: update for better out-of-box experience

2021-01-16 Thread Yann E. MORIN
Vineet, All,

On 2021-01-15 12:03 -0800, Vineet Gupta spake thusly:
>  - Enable C++ support
>  - Don't strip executables
>  - Add minimal debug symbols
>  - Enable strace and openssh
>  - Enable perf (and elfutils)

Of all those, I only kept adding C++.

None of the other defconfigs enable debug, or disable stripping.

Also, we like our defconfigs to truly be minimal. We could however
accept an additional defconfig with more packages, as a "demo" of sorts,
though. But the selection of packages you added is not kind of "demoing"
that specific board...

So, I just kept C++.

Thanks!

Regards,
Yann E. MORIN.

> Signed-off-by: Vineet Gupta 
> ---
>  configs/snps_archs38_hsdk_defconfig | 11 +++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/configs/snps_archs38_hsdk_defconfig 
> b/configs/snps_archs38_hsdk_defconfig
> index 69d0b1936b3a..7d406a90ed3c 100644
> --- a/configs/snps_archs38_hsdk_defconfig
> +++ b/configs/snps_archs38_hsdk_defconfig
> @@ -1,8 +1,12 @@
>  BR2_arcle=y
>  BR2_archs38_full=y
> +BR2_ENABLE_DEBUG=y
> +BR2_DEBUG_1=y
> +# BR2_STRIP_strip is not set
>  BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
>  BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6=y
>  BR2_PACKAGE_GLIBC_UTILS=y
> +BR2_TOOLCHAIN_BUILDROOT_CXX=y
>  BR2_TARGET_OPTIMIZATION="-mfpu=fpud_all"
>  BR2_TARGET_GENERIC_HOSTNAME="hsdk"
>  BR2_TARGET_GENERIC_ISSUE="Welcome to the HSDK Platform"
> @@ -14,8 +18,15 @@ BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>  BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.6.3"
>  BR2_LINUX_KERNEL_DEFCONFIG="hsdk"
>  BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/synopsys/hsdk/linux.fragment"
> +BR2_PACKAGE_LINUX_TOOLS_PERF=y
> +BR2_PACKAGE_STRACE=y
> +BR2_PACKAGE_MAKE=y
> +BR2_PACKAGE_ELFUTILS=y
> +BR2_PACKAGE_ELFUTILS_PROGS=y
> +BR2_PACKAGE_OPENSSH=y
>  BR2_TARGET_ROOTFS_EXT2=y
>  BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
>  # BR2_TARGET_ROOTFS_TAR is not set
>  BR2_TARGET_UBOOT=y
>  BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
> -- 
> 2.25.1
> 
> ___
> buildroot mailing list
> buildr...@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-..--..
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN |  ___   |
| +33 561 099 427 `.---:  X  AGAINST  |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL|   v   conspiracy.  |
'--^---^--^'

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