* [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS
@ 2016-10-16 17:05 Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 2/7] MIPS: add support for MSA Vicente Olivert Riera
` (6 more replies)
0 siblings, 7 replies; 9+ messages in thread
From: Vicente Olivert Riera @ 2016-10-16 17:05 UTC (permalink / raw)
To: buildroot
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
toolchain/toolchain-wrapper.mk | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk
index af39071..6e480e6 100644
--- a/toolchain/toolchain-wrapper.mk
+++ b/toolchain/toolchain-wrapper.mk
@@ -12,9 +12,14 @@ endif
TOOLCHAIN_WRAPPER_ARGS = $($(PKG)_TOOLCHAIN_WRAPPER_ARGS)
TOOLCHAIN_WRAPPER_ARGS += -DBR_SYSROOT='"$(STAGING_SUBDIR)"'
+# MIPS optimization flags
+TOOLCHAIN_WRAPPER_MIPS_OPTS =
+
# We create a list like '"-mfoo", "-mbar", "-mbarfoo"' so that each flag is a
# separate argument when used in execv() by the toolchain wrapper.
TOOLCHAIN_WRAPPER_OPTS = \
+ $(foreach f,$(call qstrip,$(TOOLCHAIN_WRAPPER_MIPS_OPTS)),"$(f)"$(comma))
+TOOLCHAIN_WRAPPER_OPTS += \
$(foreach f,$(call qstrip,$(BR2_TARGET_OPTIMIZATION)),"$(f)"$(comma))
TOOLCHAIN_WRAPPER_ARGS += -DBR_ADDITIONAL_CFLAGS='$(TOOLCHAIN_WRAPPER_OPTS)'
--
2.10.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/7] MIPS: add support for MSA
2016-10-16 17:05 [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Vicente Olivert Riera
@ 2016-10-16 17:05 ` Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 3/7] MIPS: add optional MSA support for M5100 core Vicente Olivert Riera
` (5 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Vicente Olivert Riera @ 2016-10-16 17:05 UTC (permalink / raw)
To: buildroot
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
arch/Config.in.mips | 17 +++++++++++++++++
toolchain/toolchain-wrapper.mk | 3 +++
2 files changed, 20 insertions(+)
diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index f7bfa21..fb9053c 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -16,6 +16,14 @@ config BR2_MIPS_CPU_MIPS64R5
config BR2_MIPS_CPU_MIPS64R6
bool
+# mips cpu features
+config BR2_MIPS_CPU_HAS_MSA
+ bool
+
+# for some cores, MSA support is optional
+config BR2_MIPS_CPU_MAYBE_HAS_MSA
+ bool
+
choice
prompt "Target Architecture Variant"
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
@@ -113,6 +121,15 @@ config BR2_MIPS_SOFT_FLOAT
floating point functions, then everything will need to be
compiled with soft floating point support (-msoft-float).
+config BR2_MIPS_ENABLE_MSA
+ bool "Enable MIPS SIMD Architecture (MSA) support"
+ depends on BR2_MIPS_CPU_MAYBE_HAS_MSA && !BR2_SOFT_FLOAT
+ select BR2_MIPS_CPU_HAS_MSA
+ help
+ For some CPU cores, the MSA extension is optional.
+ Select this option if you are certain your particular
+ implementation has MSA support and you want to use it.
+
config BR2_ARCH
default "mips" if BR2_mips
default "mipsel" if BR2_mipsel
diff --git a/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk
index 6e480e6..f9a1899 100644
--- a/toolchain/toolchain-wrapper.mk
+++ b/toolchain/toolchain-wrapper.mk
@@ -14,6 +14,9 @@ TOOLCHAIN_WRAPPER_ARGS += -DBR_SYSROOT='"$(STAGING_SUBDIR)"'
# MIPS optimization flags
TOOLCHAIN_WRAPPER_MIPS_OPTS =
+ifeq ($(BR2_MIPS_CPU_HAS_MSA),y)
+TOOLCHAIN_WRAPPER_MIPS_OPTS += -mmsa
+endif
# We create a list like '"-mfoo", "-mbar", "-mbarfoo"' so that each flag is a
# separate argument when used in execv() by the toolchain wrapper.
--
2.10.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 3/7] MIPS: add optional MSA support for M5100 core
2016-10-16 17:05 [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 2/7] MIPS: add support for MSA Vicente Olivert Riera
@ 2016-10-16 17:05 ` Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 4/7] MIPS: add optional MSA support for M5101 core Vicente Olivert Riera
` (4 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Vicente Olivert Riera @ 2016-10-16 17:05 UTC (permalink / raw)
To: buildroot
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
arch/Config.in.mips | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index fb9053c..b7bb48c 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -59,6 +59,7 @@ config BR2_mips_m5100
bool "M5100"
depends on !BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS32R5
+ select BR2_MIPS_CPU_MAYBE_HAS_MSA
config BR2_mips_m5101
bool "M5101"
depends on !BR2_ARCH_IS_64
--
2.10.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 4/7] MIPS: add optional MSA support for M5101 core
2016-10-16 17:05 [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 2/7] MIPS: add support for MSA Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 3/7] MIPS: add optional MSA support for M5100 core Vicente Olivert Riera
@ 2016-10-16 17:05 ` Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 5/7] MIPS: add optional MSA support for P5600 core Vicente Olivert Riera
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Vicente Olivert Riera @ 2016-10-16 17:05 UTC (permalink / raw)
To: buildroot
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
arch/Config.in.mips | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index b7bb48c..4122365 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -64,6 +64,7 @@ config BR2_mips_m5101
bool "M5101"
depends on !BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS32R5
+ select BR2_MIPS_CPU_MAYBE_HAS_MSA
config BR2_mips_p5600
bool "P5600"
depends on !BR2_ARCH_IS_64
--
2.10.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 5/7] MIPS: add optional MSA support for P5600 core
2016-10-16 17:05 [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Vicente Olivert Riera
` (2 preceding siblings ...)
2016-10-16 17:05 ` [Buildroot] [PATCH 4/7] MIPS: add optional MSA support for M5101 core Vicente Olivert Riera
@ 2016-10-16 17:05 ` Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 6/7] MIPS: add optional MSA support for I6400 core Vicente Olivert Riera
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Vicente Olivert Riera @ 2016-10-16 17:05 UTC (permalink / raw)
To: buildroot
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
arch/Config.in.mips | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 4122365..4b41412 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -69,6 +69,7 @@ config BR2_mips_p5600
bool "P5600"
depends on !BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS32R5
+ select BR2_MIPS_CPU_MAYBE_HAS_MSA
config BR2_mips_64
bool "Generic MIPS64"
depends on BR2_ARCH_IS_64
--
2.10.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 6/7] MIPS: add optional MSA support for I6400 core
2016-10-16 17:05 [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Vicente Olivert Riera
` (3 preceding siblings ...)
2016-10-16 17:05 ` [Buildroot] [PATCH 5/7] MIPS: add optional MSA support for P5600 core Vicente Olivert Riera
@ 2016-10-16 17:05 ` Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 7/7] MIPS: add optional MSA support for P6600 core Vicente Olivert Riera
2016-10-18 18:59 ` [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Arnout Vandecappelle
6 siblings, 0 replies; 9+ messages in thread
From: Vicente Olivert Riera @ 2016-10-16 17:05 UTC (permalink / raw)
To: buildroot
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
arch/Config.in.mips | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 4b41412..4c92c09 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -90,6 +90,7 @@ config BR2_mips_i6400
bool "I6400"
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R6
+ select BR2_MIPS_CPU_MAYBE_HAS_MSA
config BR2_mips_p6600
bool "P6600"
depends on BR2_ARCH_IS_64
--
2.10.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 7/7] MIPS: add optional MSA support for P6600 core
2016-10-16 17:05 [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Vicente Olivert Riera
` (4 preceding siblings ...)
2016-10-16 17:05 ` [Buildroot] [PATCH 6/7] MIPS: add optional MSA support for I6400 core Vicente Olivert Riera
@ 2016-10-16 17:05 ` Vicente Olivert Riera
2016-10-18 18:59 ` [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Arnout Vandecappelle
6 siblings, 0 replies; 9+ messages in thread
From: Vicente Olivert Riera @ 2016-10-16 17:05 UTC (permalink / raw)
To: buildroot
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
arch/Config.in.mips | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 4c92c09..51f46df 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -95,6 +95,7 @@ config BR2_mips_p6600
bool "P6600"
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R6
+ select BR2_MIPS_CPU_MAYBE_HAS_MSA
endchoice
--
2.10.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS
2016-10-16 17:05 [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Vicente Olivert Riera
` (5 preceding siblings ...)
2016-10-16 17:05 ` [Buildroot] [PATCH 7/7] MIPS: add optional MSA support for P6600 core Vicente Olivert Riera
@ 2016-10-18 18:59 ` Arnout Vandecappelle
2016-10-25 21:15 ` Thomas Petazzoni
6 siblings, 1 reply; 9+ messages in thread
From: Arnout Vandecappelle @ 2016-10-18 18:59 UTC (permalink / raw)
To: buildroot
Hi Vincent,
On 16-10-16 19:05, Vicente Olivert Riera wrote:
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> ---
> toolchain/toolchain-wrapper.mk | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk
> index af39071..6e480e6 100644
> --- a/toolchain/toolchain-wrapper.mk
> +++ b/toolchain/toolchain-wrapper.mk
> @@ -12,9 +12,14 @@ endif
> TOOLCHAIN_WRAPPER_ARGS = $($(PKG)_TOOLCHAIN_WRAPPER_ARGS)
> TOOLCHAIN_WRAPPER_ARGS += -DBR_SYSROOT='"$(STAGING_SUBDIR)"'
>
> +# MIPS optimization flags
> +TOOLCHAIN_WRAPPER_MIPS_OPTS =
This is not exactly what I meant, so I've sent a quick patch that does do what
I meant. Wait a little for Thomas to provide feedback on it, and then you can
include it in your series. For now I've marked the series as Superseded and
Changes Requested.
Regards,
Arnout
> +
> # We create a list like '"-mfoo", "-mbar", "-mbarfoo"' so that each flag is a
> # separate argument when used in execv() by the toolchain wrapper.
> TOOLCHAIN_WRAPPER_OPTS = \
> + $(foreach f,$(call qstrip,$(TOOLCHAIN_WRAPPER_MIPS_OPTS)),"$(f)"$(comma))
> +TOOLCHAIN_WRAPPER_OPTS += \
> $(foreach f,$(call qstrip,$(BR2_TARGET_OPTIMIZATION)),"$(f)"$(comma))
> TOOLCHAIN_WRAPPER_ARGS += -DBR_ADDITIONAL_CFLAGS='$(TOOLCHAIN_WRAPPER_OPTS)'
>
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS
2016-10-18 18:59 ` [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Arnout Vandecappelle
@ 2016-10-25 21:15 ` Thomas Petazzoni
0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2016-10-25 21:15 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 18 Oct 2016 20:59:08 +0200, Arnout Vandecappelle wrote:
> This is not exactly what I meant, so I've sent a quick patch that does do what
> I meant. Wait a little for Thomas to provide feedback on it, and then you can
> include it in your series. For now I've marked the series as Superseded and
> Changes Requested.
Only patches 1/7 and 2/7 were marked as Changes Requested or
Superseded, but patches 3/7 to 7/7 were still in patchwork. So I've
also marked them as Changes Requested, as they need to be resent with
the rest.
Vicente: for the next iteration, you can merge patches 3/7 to 7/7 in a
single patch, like:
mips: indicate which MIPS cores have MSA support
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-10-25 21:15 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-16 17:05 [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 2/7] MIPS: add support for MSA Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 3/7] MIPS: add optional MSA support for M5100 core Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 4/7] MIPS: add optional MSA support for M5101 core Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 5/7] MIPS: add optional MSA support for P5600 core Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 6/7] MIPS: add optional MSA support for I6400 core Vicente Olivert Riera
2016-10-16 17:05 ` [Buildroot] [PATCH 7/7] MIPS: add optional MSA support for P6600 core Vicente Olivert Riera
2016-10-18 18:59 ` [Buildroot] [PATCH 1/7] toolchain-wrapper: pass MIPS optimizations to TOOLCHAIN_WRAPPER_OPTS Arnout Vandecappelle
2016-10-25 21:15 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox