[PATCH] cacheflush.2: Update SYNOPSIS for glibc wrapper
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
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
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
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
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