All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/3] Add secondary toolchain to devkit
@ 2018-08-17 14:25 Jacob Stiffler
  2018-08-17 14:25 ` [RFC 1/3] external-linaro-secondary-sdk-toolchain: secondary toolchain for devkit Jacob Stiffler
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Jacob Stiffler @ 2018-08-17 14:25 UTC (permalink / raw)
  To: meta-arago

Add a method to install a second toolchain in the devkit for situation
when a chip has multiple cores with different architectures.

Jacob Stiffler (3):
  external-linaro-secondary-sdk-toolchain: secondary toolchain for
    devkit
  packagegroup-arago-cross-canadian: add SECONDARY_TOOLCHAIN
  arago-prefs: enable SECONDARY_TOOLCHAIN

 meta-arago-distro/conf/distro/include/arago-prefs.inc                 | 3 +++
 .../recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb      | 4 ++++
 .../recipes-core/packagegroups/packagegroup-arago-cross-canadian.bb   | 4 ++++
 3 files changed, 11 insertions(+)
 create mode 100644 meta-arago-extras/recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb

-- 
2.7.4



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

* [RFC 1/3] external-linaro-secondary-sdk-toolchain: secondary toolchain for devkit
  2018-08-17 14:25 [RFC 0/3] Add secondary toolchain to devkit Jacob Stiffler
@ 2018-08-17 14:25 ` Jacob Stiffler
  2018-08-17 14:25 ` [RFC 2/3] packagegroup-arago-cross-canadian: add SECONDARY_TOOLCHAIN Jacob Stiffler
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: Jacob Stiffler @ 2018-08-17 14:25 UTC (permalink / raw)
  To: meta-arago

* Add a method to install an secondary toolchain in the devkit.
* The architecture for this toolchain can be configured by setting
  "SECONDARY_TOOLCHAIN_ARCH" in some top-level config file.

Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
---
 .../recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb      | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 meta-arago-extras/recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb

diff --git a/meta-arago-extras/recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb b/meta-arago-extras/recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb
new file mode 100644
index 0000000..941bd94
--- /dev/null
+++ b/meta-arago-extras/recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb
@@ -0,0 +1,4 @@
+TARGET_ARCH := "${SECONDARY_TARGET_ARCH}"
+MACHINEOVERRIDES := "${SECONDARY_TARGET_ARCH}"
+
+require external-linaro-sdk-toolchain.bb
-- 
2.7.4



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

* [RFC 2/3] packagegroup-arago-cross-canadian: add SECONDARY_TOOLCHAIN
  2018-08-17 14:25 [RFC 0/3] Add secondary toolchain to devkit Jacob Stiffler
  2018-08-17 14:25 ` [RFC 1/3] external-linaro-secondary-sdk-toolchain: secondary toolchain for devkit Jacob Stiffler
@ 2018-08-17 14:25 ` Jacob Stiffler
  2018-08-17 14:25 ` [RFC 3/3] arago-prefs: enable SECONDARY_TOOLCHAIN Jacob Stiffler
  2018-08-20 18:29 ` [RFC 0/3] Add secondary toolchain to devkit Denys Dmytriyenko
  3 siblings, 0 replies; 10+ messages in thread
From: Jacob Stiffler @ 2018-08-17 14:25 UTC (permalink / raw)
  To: meta-arago

* Add the secondary toolchain to the devkit
 if SECONDARY_TOOLCHAIN_ARCH is defined.

Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
---
 .../recipes-core/packagegroups/packagegroup-arago-cross-canadian.bb   | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta-arago-extras/recipes-core/packagegroups/packagegroup-arago-cross-canadian.bb b/meta-arago-extras/recipes-core/packagegroups/packagegroup-arago-cross-canadian.bb
index b89c5d0..29dfdb6 100644
--- a/meta-arago-extras/recipes-core/packagegroups/packagegroup-arago-cross-canadian.bb
+++ b/meta-arago-extras/recipes-core/packagegroups/packagegroup-arago-cross-canadian.bb
@@ -11,10 +11,14 @@ BINUTILS = "binutils-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 GCC = "gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 GDB = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 
+SECONDARY_TOOLCHAIN = "gcc-cross-canadian-${SECONDARY_TARGET_ARCH} \
+                       binutils-cross-canadian-${SECONDARY_TARGET_ARCH}"
+
 RDEPENDS_${PN} = "\
     ${@all_multilib_tune_values(d, 'BINUTILS')} \
     ${@all_multilib_tune_values(d, 'GCC')} \
     ${@all_multilib_tune_values(d, 'GDB')} \
+    ${@base_conditional('SECONDARY_TARGET_ARCH', '', '', '${SECONDARY_TOOLCHAIN}', d)} \
     "
 
 #    meta-environment-${MACHINE}
-- 
2.7.4



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

* [RFC 3/3] arago-prefs: enable SECONDARY_TOOLCHAIN
  2018-08-17 14:25 [RFC 0/3] Add secondary toolchain to devkit Jacob Stiffler
  2018-08-17 14:25 ` [RFC 1/3] external-linaro-secondary-sdk-toolchain: secondary toolchain for devkit Jacob Stiffler
  2018-08-17 14:25 ` [RFC 2/3] packagegroup-arago-cross-canadian: add SECONDARY_TOOLCHAIN Jacob Stiffler
@ 2018-08-17 14:25 ` Jacob Stiffler
  2018-08-20 20:25   ` Denys Dmytriyenko
  2018-08-20 18:29 ` [RFC 0/3] Add secondary toolchain to devkit Denys Dmytriyenko
  3 siblings, 1 reply; 10+ messages in thread
From: Jacob Stiffler @ 2018-08-17 14:25 UTC (permalink / raw)
  To: meta-arago

* disable SECONDARY_TOOLCHAIN by default
* For k3, configure the secondary toolchain as armv7a for the R5
  cores.

Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
---
 meta-arago-distro/conf/distro/include/arago-prefs.inc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta-arago-distro/conf/distro/include/arago-prefs.inc b/meta-arago-distro/conf/distro/include/arago-prefs.inc
index c839c9a..4e3e221 100644
--- a/meta-arago-distro/conf/distro/include/arago-prefs.inc
+++ b/meta-arago-distro/conf/distro/include/arago-prefs.inc
@@ -1,6 +1,9 @@
 # Set preferred Qt5 versions. Different namespace from Qt4, so no conflict
 include conf/distro/include/qt5-versions.inc
 
+SECONDARY_TARGET_ARCH = ""
+SECONDARY_TARGET_ARCH_k3 = "armv7a"
+
 # Use the latest version of ltp-ddt for kernel versions 3.8+
 PREFERRED_PROVIDER_ltp-ddt = "ltp-ddt"
 
-- 
2.7.4



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

* Re: [RFC 0/3] Add secondary toolchain to devkit
  2018-08-17 14:25 [RFC 0/3] Add secondary toolchain to devkit Jacob Stiffler
                   ` (2 preceding siblings ...)
  2018-08-17 14:25 ` [RFC 3/3] arago-prefs: enable SECONDARY_TOOLCHAIN Jacob Stiffler
@ 2018-08-20 18:29 ` Denys Dmytriyenko
  2018-08-20 18:59   ` Jacob Stiffler
  3 siblings, 1 reply; 10+ messages in thread
From: Denys Dmytriyenko @ 2018-08-20 18:29 UTC (permalink / raw)
  To: Jacob Stiffler; +Cc: meta-arago

On Fri, Aug 17, 2018 at 10:25:50AM -0400, Jacob Stiffler wrote:
> Add a method to install a second toolchain in the devkit for situation
> when a chip has multiple cores with different architectures.

I actually like how minimally invasive it is. Have you tested it?


> Jacob Stiffler (3):
>   external-linaro-secondary-sdk-toolchain: secondary toolchain for
>     devkit
>   packagegroup-arago-cross-canadian: add SECONDARY_TOOLCHAIN
>   arago-prefs: enable SECONDARY_TOOLCHAIN
> 
>  meta-arago-distro/conf/distro/include/arago-prefs.inc                 | 3 +++
>  .../recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb      | 4 ++++
>  .../recipes-core/packagegroups/packagegroup-arago-cross-canadian.bb   | 4 ++++
>  3 files changed, 11 insertions(+)
>  create mode 100644 meta-arago-extras/recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb
> 
> -- 
> 2.7.4
> 
> _______________________________________________
> meta-arago mailing list
> meta-arago@arago-project.org
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago


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

* Re: [RFC 0/3] Add secondary toolchain to devkit
  2018-08-20 18:29 ` [RFC 0/3] Add secondary toolchain to devkit Denys Dmytriyenko
@ 2018-08-20 18:59   ` Jacob Stiffler
  0 siblings, 0 replies; 10+ messages in thread
From: Jacob Stiffler @ 2018-08-20 18:59 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: meta-arago



On 8/20/2018 2:29 PM, Denys Dmytriyenko wrote:
> On Fri, Aug 17, 2018 at 10:25:50AM -0400, Jacob Stiffler wrote:
>> Add a method to install a second toolchain in the devkit for situation
>> when a chip has multiple cores with different architectures.
> I actually like how minimally invasive it is. Have you tested it?

Yes. I have build-tested this for am65xx-evm and am57xx-evm, and the 
installation appears to be correct.

I also tried building U-Boot for A53 and R5 from the toolchains 
installed in a single devkit, and I do not see any problems.

>
>> Jacob Stiffler (3):
>>    external-linaro-secondary-sdk-toolchain: secondary toolchain for
>>      devkit
>>    packagegroup-arago-cross-canadian: add SECONDARY_TOOLCHAIN
>>    arago-prefs: enable SECONDARY_TOOLCHAIN
>>
>>   meta-arago-distro/conf/distro/include/arago-prefs.inc                 | 3 +++
>>   .../recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb      | 4 ++++
>>   .../recipes-core/packagegroups/packagegroup-arago-cross-canadian.bb   | 4 ++++
>>   3 files changed, 11 insertions(+)
>>   create mode 100644 meta-arago-extras/recipes-core/meta/external-linaro-secondary-sdk-toolchain.bb
>>
>> -- 
>> 2.7.4
>>
>> _______________________________________________
>> meta-arago mailing list
>> meta-arago@arago-project.org
>> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago



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

* Re: [RFC 3/3] arago-prefs: enable SECONDARY_TOOLCHAIN
  2018-08-17 14:25 ` [RFC 3/3] arago-prefs: enable SECONDARY_TOOLCHAIN Jacob Stiffler
@ 2018-08-20 20:25   ` Denys Dmytriyenko
  2018-08-21 18:19     ` Jacob Stiffler
  0 siblings, 1 reply; 10+ messages in thread
From: Denys Dmytriyenko @ 2018-08-20 20:25 UTC (permalink / raw)
  To: Jacob Stiffler; +Cc: meta-arago

On Fri, Aug 17, 2018 at 10:25:53AM -0400, Jacob Stiffler wrote:
> * disable SECONDARY_TOOLCHAIN by default
> * For k3, configure the secondary toolchain as armv7a for the R5
>   cores.
> 
> Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
> ---
>  meta-arago-distro/conf/distro/include/arago-prefs.inc | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/meta-arago-distro/conf/distro/include/arago-prefs.inc b/meta-arago-distro/conf/distro/include/arago-prefs.inc
> index c839c9a..4e3e221 100644
> --- a/meta-arago-distro/conf/distro/include/arago-prefs.inc
> +++ b/meta-arago-distro/conf/distro/include/arago-prefs.inc
> @@ -1,6 +1,9 @@
>  # Set preferred Qt5 versions. Different namespace from Qt4, so no conflict
>  include conf/distro/include/qt5-versions.inc
>  
> +SECONDARY_TARGET_ARCH = ""
> +SECONDARY_TARGET_ARCH_k3 = "armv7a"

Just a tiny comment here - this should probably go to arago.conf

I reserve arago-prefs.inc for all the PREFERRED_PROVIDER/VERSION settings.


>  # Use the latest version of ltp-ddt for kernel versions 3.8+
>  PREFERRED_PROVIDER_ltp-ddt = "ltp-ddt"
>  
> -- 
> 2.7.4
> 
> _______________________________________________
> meta-arago mailing list
> meta-arago@arago-project.org
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago


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

* Re: [RFC 3/3] arago-prefs: enable SECONDARY_TOOLCHAIN
  2018-08-20 20:25   ` Denys Dmytriyenko
@ 2018-08-21 18:19     ` Jacob Stiffler
  2018-08-21 18:28       ` Denys Dmytriyenko
  0 siblings, 1 reply; 10+ messages in thread
From: Jacob Stiffler @ 2018-08-21 18:19 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: meta-arago



On 8/20/2018 4:25 PM, Denys Dmytriyenko wrote:
> On Fri, Aug 17, 2018 at 10:25:53AM -0400, Jacob Stiffler wrote:
>> * disable SECONDARY_TOOLCHAIN by default
>> * For k3, configure the secondary toolchain as armv7a for the R5
>>    cores.
>>
>> Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
>> ---
>>   meta-arago-distro/conf/distro/include/arago-prefs.inc | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/meta-arago-distro/conf/distro/include/arago-prefs.inc b/meta-arago-distro/conf/distro/include/arago-prefs.inc
>> index c839c9a..4e3e221 100644
>> --- a/meta-arago-distro/conf/distro/include/arago-prefs.inc
>> +++ b/meta-arago-distro/conf/distro/include/arago-prefs.inc
>> @@ -1,6 +1,9 @@
>>   # Set preferred Qt5 versions. Different namespace from Qt4, so no conflict
>>   include conf/distro/include/qt5-versions.inc
>>   
>> +SECONDARY_TARGET_ARCH = ""
>> +SECONDARY_TARGET_ARCH_k3 = "armv7a"
> Just a tiny comment here - this should probably go to arago.conf
>
> I reserve arago-prefs.inc for all the PREFERRED_PROVIDER/VERSION settings.

While making that change, I realized that this patch set focuses on the 
external linaro toolchain.

Would this method work with the internal GCC toolchain? Do I need to 
disable this if not using the external linaro toolchain?

>
>>   # Use the latest version of ltp-ddt for kernel versions 3.8+
>>   PREFERRED_PROVIDER_ltp-ddt = "ltp-ddt"
>>   
>> -- 
>> 2.7.4
>>
>> _______________________________________________
>> meta-arago mailing list
>> meta-arago@arago-project.org
>> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago



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

* Re: [RFC 3/3] arago-prefs: enable SECONDARY_TOOLCHAIN
  2018-08-21 18:19     ` Jacob Stiffler
@ 2018-08-21 18:28       ` Denys Dmytriyenko
  2018-08-21 18:43         ` Jacob Stiffler
  0 siblings, 1 reply; 10+ messages in thread
From: Denys Dmytriyenko @ 2018-08-21 18:28 UTC (permalink / raw)
  To: Jacob Stiffler; +Cc: meta-arago

On Tue, Aug 21, 2018 at 02:19:52PM -0400, Jacob Stiffler wrote:
> 
> 
> On 8/20/2018 4:25 PM, Denys Dmytriyenko wrote:
> >On Fri, Aug 17, 2018 at 10:25:53AM -0400, Jacob Stiffler wrote:
> >>* disable SECONDARY_TOOLCHAIN by default
> >>* For k3, configure the secondary toolchain as armv7a for the R5
> >>   cores.
> >>
> >>Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
> >>---
> >>  meta-arago-distro/conf/distro/include/arago-prefs.inc | 3 +++
> >>  1 file changed, 3 insertions(+)
> >>
> >>diff --git a/meta-arago-distro/conf/distro/include/arago-prefs.inc b/meta-arago-distro/conf/distro/include/arago-prefs.inc
> >>index c839c9a..4e3e221 100644
> >>--- a/meta-arago-distro/conf/distro/include/arago-prefs.inc
> >>+++ b/meta-arago-distro/conf/distro/include/arago-prefs.inc
> >>@@ -1,6 +1,9 @@
> >>  # Set preferred Qt5 versions. Different namespace from Qt4, so no conflict
> >>  include conf/distro/include/qt5-versions.inc
> >>+SECONDARY_TARGET_ARCH = ""
> >>+SECONDARY_TARGET_ARCH_k3 = "armv7a"
> >Just a tiny comment here - this should probably go to arago.conf
> >
> >I reserve arago-prefs.inc for all the PREFERRED_PROVIDER/VERSION settings.
> 
> While making that change, I realized that this patch set focuses on the
> external linaro toolchain.
> 
> Would this method work with the internal GCC toolchain? Do I need to disable
> this if not using the external linaro toolchain?

Yeah, internal toolchain would be a problem. That would require building it 
twice, which doesn't work out of box. That's why I put all that knowledge 
inside toolchain-linaro.inc:
http://arago-project.org/git/?p=meta-arago.git;a=commitdiff;h=2adff429c23bc46b828e3f5f5c3017b4cb5780ce

That's probably the best place for your setting to, as well as limiting it to 
meta-arago-distro.


> >>  # Use the latest version of ltp-ddt for kernel versions 3.8+
> >>  PREFERRED_PROVIDER_ltp-ddt = "ltp-ddt"
> >>-- 
> >>2.7.4
> >>
> >>_______________________________________________
> >>meta-arago mailing list
> >>meta-arago@arago-project.org
> >>http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
> 


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

* Re: [RFC 3/3] arago-prefs: enable SECONDARY_TOOLCHAIN
  2018-08-21 18:28       ` Denys Dmytriyenko
@ 2018-08-21 18:43         ` Jacob Stiffler
  0 siblings, 0 replies; 10+ messages in thread
From: Jacob Stiffler @ 2018-08-21 18:43 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: meta-arago



On 8/21/2018 2:28 PM, Denys Dmytriyenko wrote:
> On Tue, Aug 21, 2018 at 02:19:52PM -0400, Jacob Stiffler wrote:
>>
>> On 8/20/2018 4:25 PM, Denys Dmytriyenko wrote:
>>> On Fri, Aug 17, 2018 at 10:25:53AM -0400, Jacob Stiffler wrote:
>>>> * disable SECONDARY_TOOLCHAIN by default
>>>> * For k3, configure the secondary toolchain as armv7a for the R5
>>>>    cores.
>>>>
>>>> Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
>>>> ---
>>>>   meta-arago-distro/conf/distro/include/arago-prefs.inc | 3 +++
>>>>   1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/meta-arago-distro/conf/distro/include/arago-prefs.inc b/meta-arago-distro/conf/distro/include/arago-prefs.inc
>>>> index c839c9a..4e3e221 100644
>>>> --- a/meta-arago-distro/conf/distro/include/arago-prefs.inc
>>>> +++ b/meta-arago-distro/conf/distro/include/arago-prefs.inc
>>>> @@ -1,6 +1,9 @@
>>>>   # Set preferred Qt5 versions. Different namespace from Qt4, so no conflict
>>>>   include conf/distro/include/qt5-versions.inc
>>>> +SECONDARY_TARGET_ARCH = ""
>>>> +SECONDARY_TARGET_ARCH_k3 = "armv7a"
>>> Just a tiny comment here - this should probably go to arago.conf
>>>
>>> I reserve arago-prefs.inc for all the PREFERRED_PROVIDER/VERSION settings.
>> While making that change, I realized that this patch set focuses on the
>> external linaro toolchain.
>>
>> Would this method work with the internal GCC toolchain? Do I need to disable
>> this if not using the external linaro toolchain?
> Yeah, internal toolchain would be a problem. That would require building it
> twice, which doesn't work out of box. That's why I put all that knowledge
> inside toolchain-linaro.inc:
> http://arago-project.org/git/?p=meta-arago.git;a=commitdiff;h=2adff429c23bc46b828e3f5f5c3017b4cb5780ce
>
> That's probably the best place for your setting to, as well as limiting it to
> meta-arago-distro.

Thank you! That's a lot simpler than the nested base_conditionals that I 
was imagining.

>
>>>>   # Use the latest version of ltp-ddt for kernel versions 3.8+
>>>>   PREFERRED_PROVIDER_ltp-ddt = "ltp-ddt"
>>>> -- 
>>>> 2.7.4
>>>>
>>>> _______________________________________________
>>>> meta-arago mailing list
>>>> meta-arago@arago-project.org
>>>> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago



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

end of thread, other threads:[~2018-08-21 18:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-17 14:25 [RFC 0/3] Add secondary toolchain to devkit Jacob Stiffler
2018-08-17 14:25 ` [RFC 1/3] external-linaro-secondary-sdk-toolchain: secondary toolchain for devkit Jacob Stiffler
2018-08-17 14:25 ` [RFC 2/3] packagegroup-arago-cross-canadian: add SECONDARY_TOOLCHAIN Jacob Stiffler
2018-08-17 14:25 ` [RFC 3/3] arago-prefs: enable SECONDARY_TOOLCHAIN Jacob Stiffler
2018-08-20 20:25   ` Denys Dmytriyenko
2018-08-21 18:19     ` Jacob Stiffler
2018-08-21 18:28       ` Denys Dmytriyenko
2018-08-21 18:43         ` Jacob Stiffler
2018-08-20 18:29 ` [RFC 0/3] Add secondary toolchain to devkit Denys Dmytriyenko
2018-08-20 18:59   ` Jacob Stiffler

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.