* [Buildroot] [PATCH 0/3] ARC buildroot fixes/updates
@ 2019-11-08 17:41 ` Vineet Gupta
0 siblings, 0 replies; 22+ messages in thread
From: Vineet Gupta @ 2019-11-08 17:41 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 0/3] ARC buildroot fixes/updates
@ 2019-11-08 17:41 ` Vineet Gupta
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
2019-11-08 17:41 ` Vineet Gupta
@ 2019-11-08 17:41 ` Vineet Gupta
-1 siblings, 0 replies; 22+ messages in thread
From: Vineet Gupta @ 2019-11-08 17:41 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
@ 2019-11-08 17:41 ` Vineet Gupta
0 siblings, 0 replies; 22+ 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 related [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH 2/3] arch/config.in.arc: Introduce ARC ISA toggle to ease downstream toggles
2019-11-08 17:41 ` Vineet Gupta
@ 2019-11-08 17:41 ` Vineet Gupta
-1 siblings, 0 replies; 22+ messages in thread
From: Vineet Gupta @ 2019-11-08 17:41 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 2/3] arch/config.in.arc: Introduce ARC ISA toggle to ease downstream toggles
@ 2019-11-08 17:41 ` Vineet Gupta
0 siblings, 0 replies; 22+ 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 related [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds
2019-11-08 17:41 ` Vineet Gupta
@ 2019-11-08 17:41 ` Vineet Gupta
-1 siblings, 0 replies; 22+ messages in thread
From: Vineet Gupta @ 2019-11-08 17:41 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds
@ 2019-11-08 17:41 ` Vineet Gupta
0 siblings, 0 replies; 22+ 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 related [flat|nested] 22+ messages in thread
* [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
2019-11-08 17:41 ` Vineet Gupta
@ 2019-11-09 13:46 ` Thomas Petazzoni
-1 siblings, 0 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2019-11-09 13:46 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
@ 2019-11-09 13:46 ` Thomas Petazzoni
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* [Buildroot] [PATCH 2/3] arch/config.in.arc: Introduce ARC ISA toggle to ease downstream toggles
2019-11-08 17:41 ` Vineet Gupta
@ 2019-11-09 13:50 ` Thomas Petazzoni
-1 siblings, 0 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2019-11-09 13:50 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH 2/3] arch/config.in.arc: Introduce ARC ISA toggle to ease downstream toggles
@ 2019-11-09 13:50 ` Thomas Petazzoni
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* [Buildroot] [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds
2019-11-08 17:41 ` Vineet Gupta
@ 2019-11-09 13:51 ` Thomas Petazzoni
-1 siblings, 0 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2019-11-09 13:51 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds
@ 2019-11-09 13:51 ` Thomas Petazzoni
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
2019-11-09 13:46 ` Thomas Petazzoni
@ 2019-11-10 20:35 ` Yann E. MORIN
-1 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2019-11-10 20:35 UTC (permalink / raw)
To: buildroot
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 at 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
@ 2019-11-10 20:35 ` Yann E. MORIN
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
2019-11-09 13:46 ` Thomas Petazzoni
@ 2019-11-11 18:47 ` Vineet Gupta
-1 siblings, 0 replies; 22+ messages in thread
From: Vineet Gupta @ 2019-11-11 18:47 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply [flat|nested] 22+ 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
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* [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
-1 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2019-11-11 21:09 UTC (permalink / raw)
To: buildroot
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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 22+ 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
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* [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
-1 siblings, 0 replies; 22+ messages in thread
From: Vineet Gupta @ 2019-11-11 21:32 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Buildroot] [PATCH 1/3] arch/config.in.arc: Introduce the ARC optimized hs38 config
@ 2019-11-11 21:32 ` Vineet Gupta
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
end of thread, other threads:[~2019-11-11 21:32 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-08 17:41 [Buildroot] [PATCH 0/3] ARC buildroot fixes/updates Vineet Gupta
2019-11-08 17:41 ` Vineet Gupta
2019-11-08 17:41 ` [Buildroot] [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:46 ` [Buildroot] " Thomas Petazzoni
2019-11-09 13:46 ` Thomas Petazzoni
2019-11-10 20:35 ` Yann E. MORIN
2019-11-10 20:35 ` Yann E. MORIN
2019-11-11 18:47 ` Vineet Gupta
2019-11-11 18:47 ` Vineet Gupta
2019-11-11 21:09 ` Yann E. MORIN
2019-11-11 21:09 ` Yann E. MORIN
2019-11-11 21:32 ` Vineet Gupta
2019-11-11 21:32 ` Vineet Gupta
2019-11-08 17:41 ` [Buildroot] [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:50 ` [Buildroot] " Thomas Petazzoni
2019-11-09 13:50 ` Thomas Petazzoni
2019-11-08 17:41 ` [Buildroot] [PATCH 3/3] package/ffmpeg: Enable ARC glibc builds Vineet Gupta
2019-11-08 17:41 ` Vineet Gupta
2019-11-09 13:51 ` [Buildroot] " Thomas Petazzoni
2019-11-09 13:51 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.