Linux SNPS ARC Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 0/3] ARC buildroot fixes/updates
@ 2019-11-08 17:41 Vineet Gupta
  2019-11-08 17:41 ` [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config Vineet Gupta
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Vineet Gupta @ 2019-11-08 17:41 UTC (permalink / raw)
  To: buildroot; +Cc: Evgeniy.Didin, Vineet Gupta, linux-snps-arc, Alexey.Brodkin

Hi,

I have some fixes/updates from ongoing glibc work.
Please review/apply.

Thx,
-Vineet

Vineet Gupta (3):
  arch/config.in.arc: Introduce the ARC optimized hs38 config
  arch/config.in.arc: Introduce ARC ISA toggle to ease downstream
    toggles
  package/ffmpeg: Enable ARC glibc builds

 arch/Config.in.arc       | 44 ++++++++++++++++++++++++++++++++--------
 package/ffmpeg/Config.in |  2 --
 2 files changed, 36 insertions(+), 10 deletions(-)

-- 
2.20.1


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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
  2019-11-08 17:41 [PATCH 0/3] ARC buildroot fixes/updates Vineet Gupta
@ 2019-11-08 17:41 ` Vineet Gupta
  2019-11-09 13:46   ` [Buildroot] " Thomas Petazzoni
  2019-11-08 17:41 ` [PATCH 2/3] arch/config.in.arc: Introduce ARC ISA toggle to ease downstream toggles Vineet Gupta
  2019-11-08 17:41 ` [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds Vineet Gupta
  2 siblings, 1 reply; 11+ messages in thread
From: Vineet Gupta @ 2019-11-08 17:41 UTC (permalink / raw)
  To: buildroot; +Cc: Evgeniy.Didin, Vineet Gupta, linux-snps-arc, Alexey.Brodkin

This corresponds to -mcu=hs38 with mpy-option=9 (64-bit multiplier)

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
 arch/Config.in.arc | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/arch/Config.in.arc b/arch/Config.in.arc
index c65bb01f1f4f..284951b82cee 100644
--- a/arch/Config.in.arc
+++ b/arch/Config.in.arc
@@ -11,13 +11,19 @@ config BR2_arc750d
 config BR2_arc770d
 	bool "ARC 770D"
 
-config BR2_archs38
+config BR2_archs
 	bool "ARC HS38"
 	help
 	  Generic ARC HS capable of running Linux, i.e. with MMU,
-	  caches and multiplier. Also it corresponds to the default
+	  caches and 32-bit multiplier. Also it corresponds to the default
 	  configuration in older GNU toolchain versions.
 
+config BR2_archs38
+	bool "ARC HS38 with 64-bit mpy"
+	help
+	  Fully featured ARC HS capable of running Linux, i.e. with MMU,
+	  caches and 64-bit multiplier.
+
 	  If you're not sure which version of ARC HS core you  build for
 	  keep this one.
 
@@ -43,7 +49,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_full || BR2_archs4x_rel31
+	default y if BR2_arc770d || BR2_archs || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
 
 config BR2_ARCH
 	default "arc"	if BR2_arcle
@@ -60,13 +66,14 @@ config BR2_ENDIAN
 config BR2_GCC_TARGET_CPU
 	default "arc700" if BR2_arc750d
 	default "arc700" if BR2_arc770d
-	default "archs"	 if BR2_archs38
+	default "archs"	 if BR2_archs
+	default "hs38"	 if BR2_archs38
 	default "hs38_linux"	 if BR2_archs38_full
 	default "hs4x_rel31"	 if BR2_archs4x_rel31
 
 config BR2_READELF_ARCH_NAME
 	default "ARCompact"	if BR2_arc750d || BR2_arc770d
-	default "ARCv2"		if BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
+	default "ARCv2"		if BR2_archs || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
 
 choice
 	prompt "MMU Page Size"
@@ -86,7 +93,7 @@ choice
 
 config BR2_ARC_PAGE_SIZE_4K
 	bool "4KB"
-	depends on BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
+	depends on BR2_arc770d || BR2_archs || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
 
 config BR2_ARC_PAGE_SIZE_8K
 	bool "8KB"
@@ -96,7 +103,7 @@ config BR2_ARC_PAGE_SIZE_8K
 
 config BR2_ARC_PAGE_SIZE_16K
 	bool "16KB"
-	depends on BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
+	depends on BR2_arc770d || BR2_archs || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
 
 endchoice
 
-- 
2.20.1


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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 2/3] arch/config.in.arc: Introduce ARC ISA toggle to ease downstream toggles
  2019-11-08 17:41 [PATCH 0/3] ARC buildroot fixes/updates Vineet Gupta
  2019-11-08 17:41 ` [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config Vineet Gupta
@ 2019-11-08 17:41 ` Vineet Gupta
  2019-11-09 13:50   ` [Buildroot] " Thomas Petazzoni
  2019-11-08 17:41 ` [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds Vineet Gupta
  2 siblings, 1 reply; 11+ messages in thread
From: Vineet Gupta @ 2019-11-08 17:41 UTC (permalink / raw)
  To: buildroot; +Cc: Evgeniy.Didin, Vineet Gupta, linux-snps-arc, Alexey.Brodkin

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
 arch/Config.in.arc | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/arch/Config.in.arc b/arch/Config.in.arc
index 284951b82cee..dbc608db39c6 100644
--- a/arch/Config.in.arc
+++ b/arch/Config.in.arc
@@ -1,3 +1,18 @@
+choice
+	prompt "Target ISA"
+	default BR2_arcompact
+	depends on BR2_arc
+	help
+	    Specific ARC ISA to use
+
+config BR2_arcompact
+	bool "ARCompact ISA"
+
+config BR2_arcv2
+	bool "ARCv2 ISA"
+
+endchoice
+
 choice
 	prompt "Target CPU"
 	default BR2_arc770d
@@ -7,12 +22,15 @@ choice
 
 config BR2_arc750d
 	bool "ARC 750D"
+	depends on BR2_arcompact
 
 config BR2_arc770d
 	bool "ARC 770D"
+	depends on BR2_arcompact
 
 config BR2_archs
 	bool "ARC HS38"
+	depends on BR2_arcv2
 	help
 	  Generic ARC HS capable of running Linux, i.e. with MMU,
 	  caches and 32-bit multiplier. Also it corresponds to the default
@@ -20,6 +38,7 @@ config BR2_archs
 
 config BR2_archs38
 	bool "ARC HS38 with 64-bit mpy"
+	depends on BR2_arcv2
 	help
 	  Fully featured ARC HS capable of running Linux, i.e. with MMU,
 	  caches and 64-bit multiplier.
@@ -29,6 +48,7 @@ config BR2_archs38
 
 config BR2_archs38_full
 	bool "ARC HS38 with Quad MAC & FPU"
+	depends on BR2_arcv2
 	help
 	  Fully featured ARC HS with additional support for
 	   - Dual- and quad multiply and MC oprations
@@ -39,6 +59,7 @@ config BR2_archs38_full
 
 config BR2_archs4x_rel31
 	bool "ARC HS48 rel 31"
+	depends on BR2_arcv2
 	help
 	   Latest release of HS48 processor
 	   - Dual- and quad multiply and MC oprations
@@ -72,8 +93,8 @@ config BR2_GCC_TARGET_CPU
 	default "hs4x_rel31"	 if BR2_archs4x_rel31
 
 config BR2_READELF_ARCH_NAME
-	default "ARCompact"	if BR2_arc750d || BR2_arc770d
-	default "ARCv2"		if BR2_archs || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
+	default "ARCompact"	if BR2_arcompact
+	default "ARCv2"		if BR2_arcv2
 
 choice
 	prompt "MMU Page Size"
-- 
2.20.1


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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds
  2019-11-08 17:41 [PATCH 0/3] ARC buildroot fixes/updates Vineet Gupta
  2019-11-08 17:41 ` [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config Vineet Gupta
  2019-11-08 17:41 ` [PATCH 2/3] arch/config.in.arc: Introduce ARC ISA toggle to ease downstream toggles Vineet Gupta
@ 2019-11-08 17:41 ` Vineet Gupta
  2019-11-09 13:51   ` [Buildroot] " Thomas Petazzoni
  2 siblings, 1 reply; 11+ messages in thread
From: Vineet Gupta @ 2019-11-08 17:41 UTC (permalink / raw)
  To: buildroot; +Cc: Evgeniy.Didin, Vineet Gupta, linux-snps-arc, Alexey.Brodkin

ARC glibc fenv.h has the needed macros for quite some time now so allow
ffmpeg builds

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
 package/ffmpeg/Config.in | 2 --
 1 file changed, 2 deletions(-)

diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in
index a5c05d9c1c8e..47a1c510db01 100644
--- a/package/ffmpeg/Config.in
+++ b/package/ffmpeg/Config.in
@@ -1,8 +1,6 @@
 config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
 	bool
 	default y
-	# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW
-	depends on !(BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC)
 	# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
 	depends on !BR2_nios2
 	# No support for ARMv7-M in the ARM assembly logic
-- 
2.20.1


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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
  2019-11-08 17:41 ` [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config Vineet Gupta
@ 2019-11-09 13:46   ` " Thomas Petazzoni
  2019-11-10 20:35     ` Yann E. MORIN
  2019-11-11 18:47     ` Vineet Gupta
  0 siblings, 2 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2019-11-09 13:46 UTC (permalink / raw)
  To: Vineet Gupta
  Cc: buildroot, Evgeniy.Didin, linux-snps-arc, Alexey.Brodkin,
	Arnout Vandecappelle

Hello,

+Arnout for legacy handling.

On Fri,  8 Nov 2019 09:41:10 -0800
Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:

> This corresponds to -mcu=hs38 with mpy-option=9 (64-bit multiplier)
> 
> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> ---
>  arch/Config.in.arc | 21 ++++++++++++++-------
>  1 file changed, 14 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/Config.in.arc b/arch/Config.in.arc
> index c65bb01f1f4f..284951b82cee 100644
> --- a/arch/Config.in.arc
> +++ b/arch/Config.in.arc
> @@ -11,13 +11,19 @@ config BR2_arc750d
>  config BR2_arc770d
>  	bool "ARC 770D"
>  
> -config BR2_archs38
> +config BR2_archs
>  	bool "ARC HS38"
>  	help
>  	  Generic ARC HS capable of running Linux, i.e. with MMU,
> -	  caches and multiplier. Also it corresponds to the default
> +	  caches and 32-bit multiplier. Also it corresponds to the default
>  	  configuration in older GNU toolchain versions.
>  
> +config BR2_archs38

This re-use of an existing name is a bit annoying. Indeed, all existing
users of Buildroot that have a configuration with BR2_archs38 will now
be building for a ARC system with a 64-bit multiplier, while they were
previously building for a 32-bit multiplier.

I see that what you have done is to try to be consistent between the
BR2_ options and the gcc options. I'm hesitating between keeping the
consistency but making the migration a bit annoying for users, or
breaking the consistency to make the migration smooth for users.

Since I think the number of affected users will probably be quite
small/limited, I think I would be fine with merging your patch as-is,
but I'd like to hear from others.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Buildroot] [PATCH 2/3] arch/config.in.arc: Introduce ARC ISA toggle to ease downstream toggles
  2019-11-08 17:41 ` [PATCH 2/3] arch/config.in.arc: Introduce ARC ISA toggle to ease downstream toggles Vineet Gupta
@ 2019-11-09 13:50   ` " Thomas Petazzoni
  0 siblings, 0 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2019-11-09 13:50 UTC (permalink / raw)
  To: Vineet Gupta; +Cc: buildroot, Evgeniy.Didin, linux-snps-arc, Alexey.Brodkin

Hello,

On Fri,  8 Nov 2019 09:41:11 -0800
Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:

> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> ---
>  arch/Config.in.arc | 25 +++++++++++++++++++++++--
>  1 file changed, 23 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/Config.in.arc b/arch/Config.in.arc
> index 284951b82cee..dbc608db39c6 100644
> --- a/arch/Config.in.arc
> +++ b/arch/Config.in.arc
> @@ -1,3 +1,18 @@
> +choice
> +	prompt "Target ISA"
> +	default BR2_arcompact
> +	depends on BR2_arc
> +	help
> +	    Specific ARC ISA to use
> +
> +config BR2_arcompact
> +	bool "ARCompact ISA"
> +
> +config BR2_arcv2
> +	bool "ARCv2 ISA"
> +
> +endchoice

I don't think we want a choice for that. It should simply be implied by
the target CPU selection.

So instead, do it like this:

config BR2_ARC_ARCH_ISA_ARCOMPACT
	bool

config BR2_ARC_ARCH_ISA_ARCV2
	bool

(note: the names are just a proposal, there are probably some better
names)

>  choice
>  	prompt "Target CPU"
>  	default BR2_arc770d
> @@ -7,12 +22,15 @@ choice
>  
>  config BR2_arc750d
>  	bool "ARC 750D"
> +	depends on BR2_arcompact

Replace by:

	select BR2_ARC_ARCH_ISA_ARCOMPACT

>  
>  config BR2_arc770d
>  	bool "ARC 770D"
> +	depends on BR2_arcompact

Ditto.

>  
>  config BR2_archs
>  	bool "ARC HS38"
> +	depends on BR2_arcv2

	select BR2_ARC_ARCH_ISA_ARCV2

>  	help
>  	  Generic ARC HS capable of running Linux, i.e. with MMU,
>  	  caches and 32-bit multiplier. Also it corresponds to the default
> @@ -20,6 +38,7 @@ config BR2_archs
>  
>  config BR2_archs38
>  	bool "ARC HS38 with 64-bit mpy"
> +	depends on BR2_arcv2

	select BR2_ARC_ARCH_ISA_ARCV2


>  	help
>  	  Fully featured ARC HS capable of running Linux, i.e. with MMU,
>  	  caches and 64-bit multiplier.
> @@ -29,6 +48,7 @@ config BR2_archs38
>  
>  config BR2_archs38_full
>  	bool "ARC HS38 with Quad MAC & FPU"
> +	depends on BR2_arcv2

	select BR2_ARC_ARCH_ISA_ARCV2


>  	help
>  	  Fully featured ARC HS with additional support for
>  	   - Dual- and quad multiply and MC oprations
> @@ -39,6 +59,7 @@ config BR2_archs38_full
>  
>  config BR2_archs4x_rel31
>  	bool "ARC HS48 rel 31"
> +	depends on BR2_arcv2

	select BR2_ARC_ARCH_ISA_ARCV2

>  	help
>  	   Latest release of HS48 processor
>  	   - Dual- and quad multiply and MC oprations
> @@ -72,8 +93,8 @@ config BR2_GCC_TARGET_CPU
>  	default "hs4x_rel31"	 if BR2_archs4x_rel31
>  
>  config BR2_READELF_ARCH_NAME
> -	default "ARCompact"	if BR2_arc750d || BR2_arc770d
> -	default "ARCv2"		if BR2_archs || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
> +	default "ARCompact"	if BR2_arcompact

	default "ARCompact"	if BR2_ARC_ARCH_ISA_ARCOMPACT

> +	default "ARCv2"		if BR2_arcv2

	default "ARCv2"		if BR2_ARC_ARCH_ISA_ARCV2

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Buildroot] [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds
  2019-11-08 17:41 ` [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds Vineet Gupta
@ 2019-11-09 13:51   ` " Thomas Petazzoni
  0 siblings, 0 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2019-11-09 13:51 UTC (permalink / raw)
  To: Vineet Gupta; +Cc: buildroot, Evgeniy.Didin, linux-snps-arc, Alexey.Brodkin

On Fri,  8 Nov 2019 09:41:12 -0800
Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:

> ARC glibc fenv.h has the needed macros for quite some time now so allow
> ffmpeg builds
> 
> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> ---
>  package/ffmpeg/Config.in | 2 --
>  1 file changed, 2 deletions(-)

Applied to next, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
  2019-11-09 13:46   ` [Buildroot] " Thomas Petazzoni
@ 2019-11-10 20:35     ` Yann E. MORIN
  2019-11-11 18:47     ` Vineet Gupta
  1 sibling, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2019-11-10 20:35 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: buildroot, Evgeniy.Didin, Vineet Gupta, linux-snps-arc, Alexey.Brodkin

Vineet, Thomas, All,

On 2019-11-09 14:46 +0100, Thomas Petazzoni spake thusly:
> +Arnout for legacy handling.
> 
> On Fri,  8 Nov 2019 09:41:10 -0800
> Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
> 
> > This corresponds to -mcu=hs38 with mpy-option=9 (64-bit multiplier)
> > 
> > Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> > ---
> >  arch/Config.in.arc | 21 ++++++++++++++-------
> >  1 file changed, 14 insertions(+), 7 deletions(-)
> > 
> > diff --git a/arch/Config.in.arc b/arch/Config.in.arc
> > index c65bb01f1f4f..284951b82cee 100644
> > --- a/arch/Config.in.arc
> > +++ b/arch/Config.in.arc
> > @@ -11,13 +11,19 @@ config BR2_arc750d
> >  config BR2_arc770d
> >  	bool "ARC 770D"
> >  
> > -config BR2_archs38
> > +config BR2_archs
> >  	bool "ARC HS38"
> >  	help
> >  	  Generic ARC HS capable of running Linux, i.e. with MMU,
> > -	  caches and multiplier. Also it corresponds to the default
> > +	  caches and 32-bit multiplier. Also it corresponds to the default
> >  	  configuration in older GNU toolchain versions.
> >  
> > +config BR2_archs38
> 
> This re-use of an existing name is a bit annoying. Indeed, all existing
> users of Buildroot that have a configuration with BR2_archs38 will now
> be building for a ARC system with a 64-bit multiplier, while they were
> previously building for a 32-bit multiplier.
> 
> I see that what you have done is to try to be consistent between the
> BR2_ options and the gcc options. I'm hesitating between keeping the
> consistency but making the migration a bit annoying for users, or
> breaking the consistency to make the migration smooth for users.
> 
> Since I think the number of affected users will probably be quite
> small/limited, I think I would be fine with merging your patch as-is,
> but I'd like to hear from others.

I would prefer if we kept the existing name as-is, and introduce the new
variant under a different name, e.g.:

    config BR2_archs38
        bool "ARC HS38"

    config BR2_archs68_64mpy
        bool "ARC HS38 w/ 64-bit mpy"

Because, well, they both are HS38 cores, so we are not wrong in naming
both options with hs38.

It would have been good that the config names match the gcc option, of
course, but that is a minor detail I believe...

Regards,
Yann E. MORIN.

> Thanks,
> 
> Thomas
> -- 
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
> _______________________________________________
> buildroot mailing list
> buildroot@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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
  2019-11-09 13:46   ` [Buildroot] " Thomas Petazzoni
  2019-11-10 20:35     ` Yann E. MORIN
@ 2019-11-11 18:47     ` Vineet Gupta
  2019-11-11 21:09       ` Yann E. MORIN
  1 sibling, 1 reply; 11+ messages in thread
From: Vineet Gupta @ 2019-11-11 18:47 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: buildroot, Evgeniy Didin, linux-snps-arc, Alexey Brodkin,
	Arnout Vandecappelle

Hi Thomas,

On 11/9/19 5:46 AM, Thomas Petazzoni wrote:
> Hello,
>
> +Arnout for legacy handling.
>
> On Fri,  8 Nov 2019 09:41:10 -0800
> Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
>
>> This corresponds to -mcu=hs38 with mpy-option=9 (64-bit multiplier)
>>
>> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
>> ---
>>  arch/Config.in.arc | 21 ++++++++++++++-------
>>  1 file changed, 14 insertions(+), 7 deletions(-)
>>
>> diff --git a/arch/Config.in.arc b/arch/Config.in.arc
>> index c65bb01f1f4f..284951b82cee 100644
>> --- a/arch/Config.in.arc
>> +++ b/arch/Config.in.arc
>> @@ -11,13 +11,19 @@ config BR2_arc750d
>>  config BR2_arc770d
>>  	bool "ARC 770D"
>>  
>> -config BR2_archs38
>> +config BR2_archs
>>  	bool "ARC HS38"
>>  	help
>>  	  Generic ARC HS capable of running Linux, i.e. with MMU,
>> -	  caches and multiplier. Also it corresponds to the default
>> +	  caches and 32-bit multiplier. Also it corresponds to the default
>>  	  configuration in older GNU toolchain versions.
>>  
>> +config BR2_archs38
> This re-use of an existing name is a bit annoying. Indeed, all existing
> users of Buildroot that have a configuration with BR2_archs38 will now
> be building for a ARC system with a 64-bit multiplier, while they were
> previously building for a 32-bit multiplier.
>
> I see that what you have done is to try to be consistent between the
> BR2_ options and the gcc options. I'm hesitating between keeping the
> consistency but making the migration a bit annoying for users, or
> breaking the consistency to make the migration smooth for users.
>
> Since I think the number of affected users will probably be quite
> small/limited, I think I would be fine with merging your patch as-is,
> but I'd like to hear from others.

I agree that this might cause potential breakage, but this is not totally
uncharted territory for software build config. We've been building Linux kernel
with this option as default since mid 2018.

2018-09-07 00a99339f0a3 ARCv2: build: use mcpu=hs38 iso generic mcpu=archs 

Granted that kernel build is just one part of puzzle and any latent codegen issues
are more likely to surface with default applied to full software stack, I would
still vote for switching default to -mcpu=hs38

Thx,
-Vineet

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
  2019-11-11 18:47     ` Vineet Gupta
@ 2019-11-11 21:09       ` Yann E. MORIN
  2019-11-11 21:32         ` Vineet Gupta
  0 siblings, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2019-11-11 21:09 UTC (permalink / raw)
  To: Vineet Gupta
  Cc: buildroot, Evgeniy Didin, linux-snps-arc, Alexey Brodkin,
	Thomas Petazzoni

Vineet, All,

On 2019-11-11 18:47 +0000, Vineet Gupta spake thusly:
> On 11/9/19 5:46 AM, Thomas Petazzoni wrote:
> > On Fri,  8 Nov 2019 09:41:10 -0800
> > Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
> >> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> >> ---
> >>  arch/Config.in.arc | 21 ++++++++++++++-------
> >>  1 file changed, 14 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/arch/Config.in.arc b/arch/Config.in.arc
> >> index c65bb01f1f4f..284951b82cee 100644
> >> --- a/arch/Config.in.arc
> >> +++ b/arch/Config.in.arc
> >> @@ -11,13 +11,19 @@ config BR2_arc750d
> >>  config BR2_arc770d
> >>  	bool "ARC 770D"
> >>  
> >> -config BR2_archs38
> >> +config BR2_archs

[Note this change, above ^^^]

> >>  	bool "ARC HS38"
> >>  	help
> >>  	  Generic ARC HS capable of running Linux, i.e. with MMU,
> >> -	  caches and multiplier. Also it corresponds to the default
> >> +	  caches and 32-bit multiplier. Also it corresponds to the default
> >>  	  configuration in older GNU toolchain versions.
> >>  
> >> +config BR2_archs38
> >> +	bool "ARC HS38 with 64-bit mpy"

[and note this, above^^^]

> > This re-use of an existing name is a bit annoying. Indeed, all existing
> > users of Buildroot that have a configuration with BR2_archs38 will now
> > be building for a ARC system with a 64-bit multiplier, while they were
> > previously building for a 32-bit multiplier.
> >
> > I see that what you have done is to try to be consistent between the
> > BR2_ options and the gcc options. I'm hesitating between keeping the
> > consistency but making the migration a bit annoying for users, or
> > breaking the consistency to make the migration smooth for users.
> >
> > Since I think the number of affected users will probably be quite
> > small/limited, I think I would be fine with merging your patch as-is,
> > but I'd like to hear from others.
> 
> I agree that this might cause potential breakage, but this is not totally
> uncharted territory for software build config. We've been building Linux kernel
> with this option as default since mid 2018.

I think there is some misunderstanding.

What Thomas and I argue on, is the way to change the meaning for the
BR2_archs38 option.

Before this patch, BR2_archs38 meant "ARC HS38". But with your patch, it
now means "ARC HS38 with 64-bit mpy".

So, a user that updates their Buildroot configurationi which previously
had a "plain" HS38 setup, but with this patch, they get an "extended"
HS38 with the 64-bit multiplier.

That's why I suggested in my own reply, to keep BR2_archs38 as it was
before, and introduce BR2_archs38_64mpy to mean the new HS38 w/ the
64-bit multiplier.

Indeed, it does not match the gcc config options, but that would hardly
be the only derogation we have in Buildroot... ;-)

> 2018-09-07 00a99339f0a3 ARCv2: build: use mcpu=hs38 iso generic mcpu=archs 
> 
> Granted that kernel build is just one part of puzzle and any latent codegen issues
> are more likely to surface with default applied to full software stack, I would
> still vote for switching default to -mcpu=hs38

Changing the meaning of an option, and changing the default of a choice,
are two different things. I'm OK with changing the default, but I'd
rather that options keep their meaning.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
  2019-11-11 21:09       ` Yann E. MORIN
@ 2019-11-11 21:32         ` Vineet Gupta
  0 siblings, 0 replies; 11+ messages in thread
From: Vineet Gupta @ 2019-11-11 21:32 UTC (permalink / raw)
  To: Yann E. MORIN
  Cc: buildroot, Evgeniy Didin, linux-snps-arc, Alexey Brodkin,
	Thomas Petazzoni

Hi Yann,

On 11/11/19 1:09 PM, Yann E. MORIN wrote:
>
>>> This re-use of an existing name is a bit annoying. Indeed, all existing
>>> users of Buildroot that have a configuration with BR2_archs38 will now
>>> be building for a ARC system with a 64-bit multiplier, while they were
>>> previously building for a 32-bit multiplier.
>>>
>>> I see that what you have done is to try to be consistent between the
>>> BR2_ options and the gcc options. I'm hesitating between keeping the
>>> consistency but making the migration a bit annoying for users, or
>>> breaking the consistency to make the migration smooth for users.
>>>
>>> Since I think the number of affected users will probably be quite
>>> small/limited, I think I would be fine with merging your patch as-is,
>>> but I'd like to hear from others.
>> I agree that this might cause potential breakage, but this is not totally
>> uncharted territory for software build config. We've been building Linux kernel
>> with this option as default since mid 2018.
> I think there is some misunderstanding.

Not really, I understand what you and Thomas are asking for - its not a super
complicated patch after all ;-)

> What Thomas and I argue on, is the way to change the meaning for the
> BR2_archs38 option.

Yeah I understand that part.

> Before this patch, BR2_archs38 meant "ARC HS38". But with your patch, it
> now means "ARC HS38 with 64-bit mpy".
>
> So, a user that updates their Buildroot configurationi which previously
> had a "plain" HS38 setup, but with this patch, they get an "extended"
> HS38 with the 64-bit multiplier.
>
> That's why I suggested in my own reply, to keep BR2_archs38 as it was
> before, and introduce BR2_archs38_64mpy to mean the new HS38 w/ the
> 64-bit multiplier.
>
> Indeed, it does not match the gcc config options, but that would hardly
> be the only derogation we have in Buildroot... ;-)

Right that's not the point of doing this exercise anyways.

>> 2018-09-07 00a99339f0a3 ARCv2: build: use mcpu=hs38 iso generic mcpu=archs 
>>
>> Granted that kernel build is just one part of puzzle and any latent codegen issues
>> are more likely to surface with default applied to full software stack, I would
>> still vote for switching default to -mcpu=hs38
> Changing the meaning of an option, and changing the default of a choice,
> are two different things. I'm OK with changing the default, but I'd
> rather that options keep their meaning.

Ok sounds good !

Thx,
-Vineet
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, back to index

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-08 17:41 [PATCH 0/3] ARC buildroot fixes/updates Vineet Gupta
2019-11-08 17:41 ` [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config Vineet Gupta
2019-11-09 13:46   ` [Buildroot] " Thomas Petazzoni
2019-11-10 20:35     ` Yann E. MORIN
2019-11-11 18:47     ` Vineet Gupta
2019-11-11 21:09       ` Yann E. MORIN
2019-11-11 21:32         ` Vineet Gupta
2019-11-08 17:41 ` [PATCH 2/3] arch/config.in.arc: Introduce ARC ISA toggle to ease downstream toggles Vineet Gupta
2019-11-09 13:50   ` [Buildroot] " Thomas Petazzoni
2019-11-08 17:41 ` [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds Vineet Gupta
2019-11-09 13:51   ` [Buildroot] " Thomas Petazzoni

Linux SNPS ARC Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-snps-arc/0 linux-snps-arc/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-snps-arc linux-snps-arc/ https://lore.kernel.org/linux-snps-arc \
		linux-snps-arc@lists.infradead.org
	public-inbox-index linux-snps-arc

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-snps-arc


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git