Patchwork [v3,2/7] arch: Add blackfin CPU choice.

login
register
mail settings
Submitter Sonic Zhang
Date April 9, 2013, 6:29 a.m.
Message ID <1365488988-21604-2-git-send-email-sonic.adi@gmail.com>
Download mbox | patch
Permalink /patch/234970/
State Changes Requested
Headers show

Comments

Sonic Zhang - April 9, 2013, 6:29 a.m.
From: Sonic Zhang <sonic.zhang@analog.com>

v3-changes:
none

v2-changes:
none

v1-changes:
- is patch adds a Target CPU configuration option and uses it to select a -m
option for gcc.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
---
 arch/Config.in.bfin |   97 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 90 insertions(+), 7 deletions(-)
Arnout Vandecappelle - April 10, 2013, 6:20 a.m.
On 09/04/13 08:29, Sonic Zhang wrote:
> From: Sonic Zhang <sonic.zhang@analog.com>
>
> v3-changes:
> none
>
> v2-changes:
> none
>
> v1-changes:
> - is patch adds a Target CPU configuration option and uses it to select a -m
> option for gcc.
>
> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
> ---
>   arch/Config.in.bfin |   97 +++++++++++++++++++++++++++++++++++++++++++++++----
>   1 files changed, 90 insertions(+), 7 deletions(-)
>
> diff --git a/arch/Config.in.bfin b/arch/Config.in.bfin
> index 0b137ae..ac96620 100644
> --- a/arch/Config.in.bfin
> +++ b/arch/Config.in.bfin
> @@ -1,12 +1,65 @@
>   choice
> -	prompt "Target ABI"
> +	prompt "Target CPU"
>   	depends on BR2_bfin
> -	default BR2_BFIN_FDPIC
> -config BR2_BFIN_FDPIC
> -	bool "FDPIC"
> -config BR2_BFIN_FLAT
> -	bool "FLAT"
> -	select BR2_PREFER_STATIC_LIB

  These should have been removed in the previous patch.

> +	default BR2_bf609

  I could be wrong, but wasn't bf60x introduced relatively recently? Do 
all toolchains support it? If not, it would be better to default to 
something more traditional. Also, the toolchains will need conditionals 
to check if they support the selected architecture.


  Regards,
  Arnout


> +	help
> +	  Specify target CPU
> +config BR2_bf606
> +	bool "bf606"
> +config BR2_bf607
> +	bool "bf607"
> +config BR2_bf608
> +	bool "bf608"
> +config BR2_bf609
> +	bool "bf609"
> +config BR2_bf512
> +	bool "bf512"
> +config BR2_bf514
> +	bool "bf514"
> +config BR2_bf516
> +	bool "bf516"
> +config BR2_bf518
> +	bool "bf518"
> +config BR2_bf522
> +	bool "bf522"
> +config BR2_bf523
> +	bool "bf523"
> +config BR2_bf524
> +	bool "bf524"
> +config BR2_bf525
> +	bool "bf525"
> +config BR2_bf526
> +	bool "bf526"
> +config BR2_bf527
> +	bool "bf527"
> +config BR2_bf531
> +	bool "bf531"
> +config BR2_bf532
> +	bool "bf532"
> +config BR2_bf533
> +	bool "bf533"
> +config BR2_bf534
> +	bool "bf534"
> +config BR2_bf536
> +	bool "bf536"
> +config BR2_bf537
> +	bool "bf537"
> +config BR2_bf538
> +	bool "bf538"
> +config BR2_bf539
> +	bool "bf539"
> +config BR2_bf542
> +	bool "bf542"
> +config BR2_bf544
> +	bool "bf544"
> +config BR2_bf547
> +	bool "bf547"
> +config BR2_bf548
> +	bool "bf548"
> +config BR2_bf549
> +	bool "bf549"
> +config BR2_bf561
> +	bool "bf561"
>   endchoice
>
>   config BR2_ARCH
> @@ -14,3 +67,33 @@ config BR2_ARCH
>
>   config BR2_ENDIAN
>           default "LITTLE"
> +
> +config BR2_GCC_TARGET_CPU
> +	default bf606		if BR2_bf606
> +	default bf607		if BR2_bf607
> +	default bf608		if BR2_bf608
> +	default bf609		if BR2_bf609
> +	default bf512		if BR2_bf512
> +	default bf514		if BR2_bf514
> +	default bf516		if BR2_bf516
> +	default bf518		if BR2_bf518
> +	default bf522		if BR2_bf522
> +	default bf523		if BR2_bf523
> +	default bf524		if BR2_bf524
> +	default bf525		if BR2_bf525
> +	default bf526		if BR2_bf526
> +	default bf527		if BR2_bf527
> +	default bf531		if BR2_bf531
> +	default bf532		if BR2_bf532
> +	default bf533		if BR2_bf533
> +	default bf534		if BR2_bf534
> +	default bf536		if BR2_bf536
> +	default bf537		if BR2_bf537
> +	default bf538		if BR2_bf538
> +	default bf539		if BR2_bf539
> +	default bf542		if BR2_bf542
> +	default bf544		if BR2_bf544
> +	default bf547		if BR2_bf547
> +	default bf548		if BR2_bf548
> +	default bf549		if BR2_bf549
> +	default bf561		if BR2_bf561
>
Sonic Zhang - April 10, 2013, 7:19 a.m.
Hi Arnout,

On Wed, Apr 10, 2013 at 2:20 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
> On 09/04/13 08:29, Sonic Zhang wrote:
>>
>> From: Sonic Zhang <sonic.zhang@analog.com>
>>
>> v3-changes:
>> none
>>
>> v2-changes:
>> none
>>
>> v1-changes:
>> - is patch adds a Target CPU configuration option and uses it to select a
>> -m
>> option for gcc.
>>
>> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
>> ---
>>   arch/Config.in.bfin |   97
>> +++++++++++++++++++++++++++++++++++++++++++++++----
>>   1 files changed, 90 insertions(+), 7 deletions(-)
>>
>> diff --git a/arch/Config.in.bfin b/arch/Config.in.bfin
>> index 0b137ae..ac96620 100644
>> --- a/arch/Config.in.bfin
>> +++ b/arch/Config.in.bfin
>> @@ -1,12 +1,65 @@
>>   choice
>> -       prompt "Target ABI"
>> +       prompt "Target CPU"
>>         depends on BR2_bfin
>> -       default BR2_BFIN_FDPIC
>> -config BR2_BFIN_FDPIC
>> -       bool "FDPIC"
>> -config BR2_BFIN_FLAT
>> -       bool "FLAT"
>> -       select BR2_PREFER_STATIC_LIB
>
>
>  These should have been removed in the previous patch.
>
>> +       default BR2_bf609
>
>
>  I could be wrong, but wasn't bf60x introduced relatively recently? Do all
> toolchains support it? If not, it would be better to default to something
> more traditional. Also, the toolchains will need conditionals to check if
> they support the selected architecture.
>

The Blackfin toochain releases before 2012R1 should be removed from
the buildroot toolchain makefile.
ADI supports buildroot for blackfin only since the 2012R1 release and
bf60x is enabled in the 2012R2 Blackfin toolchain release.

Regards,

Sonic
Sonic Zhang - April 10, 2013, 7:20 a.m.
On Wed, Apr 10, 2013 at 3:19 PM, Sonic Zhang <sonic.adi@gmail.com> wrote:
> Hi Arnout,
>
> On Wed, Apr 10, 2013 at 2:20 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
>> On 09/04/13 08:29, Sonic Zhang wrote:
>>>
>>> From: Sonic Zhang <sonic.zhang@analog.com>
>>>
>>> v3-changes:
>>> none
>>>
>>> v2-changes:
>>> none
>>>
>>> v1-changes:
>>> - is patch adds a Target CPU configuration option and uses it to select a
>>> -m
>>> option for gcc.
>>>
>>> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
>>> ---
>>>   arch/Config.in.bfin |   97
>>> +++++++++++++++++++++++++++++++++++++++++++++++----
>>>   1 files changed, 90 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/arch/Config.in.bfin b/arch/Config.in.bfin
>>> index 0b137ae..ac96620 100644
>>> --- a/arch/Config.in.bfin
>>> +++ b/arch/Config.in.bfin
>>> @@ -1,12 +1,65 @@
>>>   choice
>>> -       prompt "Target ABI"
>>> +       prompt "Target CPU"
>>>         depends on BR2_bfin
>>> -       default BR2_BFIN_FDPIC
>>> -config BR2_BFIN_FDPIC
>>> -       bool "FDPIC"
>>> -config BR2_BFIN_FLAT
>>> -       bool "FLAT"
>>> -       select BR2_PREFER_STATIC_LIB
>>
>>
>>  These should have been removed in the previous patch.
>>
>>> +       default BR2_bf609
>>
>>
>>  I could be wrong, but wasn't bf60x introduced relatively recently? Do all
>> toolchains support it? If not, it would be better to default to something
>> more traditional. Also, the toolchains will need conditionals to check if
>> they support the selected architecture.
>>
>
> The Blackfin toochain releases before 2012R1 should be removed from
> the buildroot toolchain makefile.
> ADI supports buildroot for blackfin only since the 2012R1 release and
> bf60x is enabled in the 2012R2 Blackfin toolchain release.
>
Sorry, should be "bf60x is enabled in the 2012R1 Blackfin toolchain release".

Regards,

Sonic

Patch

diff --git a/arch/Config.in.bfin b/arch/Config.in.bfin
index 0b137ae..ac96620 100644
--- a/arch/Config.in.bfin
+++ b/arch/Config.in.bfin
@@ -1,12 +1,65 @@ 
 choice
-	prompt "Target ABI"
+	prompt "Target CPU"
 	depends on BR2_bfin
-	default BR2_BFIN_FDPIC
-config BR2_BFIN_FDPIC
-	bool "FDPIC"
-config BR2_BFIN_FLAT
-	bool "FLAT"
-	select BR2_PREFER_STATIC_LIB
+	default BR2_bf609
+	help
+	  Specify target CPU
+config BR2_bf606
+	bool "bf606"
+config BR2_bf607
+	bool "bf607"
+config BR2_bf608
+	bool "bf608"
+config BR2_bf609
+	bool "bf609"
+config BR2_bf512
+	bool "bf512"
+config BR2_bf514
+	bool "bf514"
+config BR2_bf516
+	bool "bf516"
+config BR2_bf518
+	bool "bf518"
+config BR2_bf522
+	bool "bf522"
+config BR2_bf523
+	bool "bf523"
+config BR2_bf524
+	bool "bf524"
+config BR2_bf525
+	bool "bf525"
+config BR2_bf526
+	bool "bf526"
+config BR2_bf527
+	bool "bf527"
+config BR2_bf531
+	bool "bf531"
+config BR2_bf532
+	bool "bf532"
+config BR2_bf533
+	bool "bf533"
+config BR2_bf534
+	bool "bf534"
+config BR2_bf536
+	bool "bf536"
+config BR2_bf537
+	bool "bf537"
+config BR2_bf538
+	bool "bf538"
+config BR2_bf539
+	bool "bf539"
+config BR2_bf542
+	bool "bf542"
+config BR2_bf544
+	bool "bf544"
+config BR2_bf547
+	bool "bf547"
+config BR2_bf548
+	bool "bf548"
+config BR2_bf549
+	bool "bf549"
+config BR2_bf561
+	bool "bf561"
 endchoice
 
 config BR2_ARCH
@@ -14,3 +67,33 @@  config BR2_ARCH
 
 config BR2_ENDIAN
         default "LITTLE"
+
+config BR2_GCC_TARGET_CPU
+	default bf606		if BR2_bf606
+	default bf607		if BR2_bf607
+	default bf608		if BR2_bf608
+	default bf609		if BR2_bf609
+	default bf512		if BR2_bf512
+	default bf514		if BR2_bf514
+	default bf516		if BR2_bf516
+	default bf518		if BR2_bf518
+	default bf522		if BR2_bf522
+	default bf523		if BR2_bf523
+	default bf524		if BR2_bf524
+	default bf525		if BR2_bf525
+	default bf526		if BR2_bf526
+	default bf527		if BR2_bf527
+	default bf531		if BR2_bf531
+	default bf532		if BR2_bf532
+	default bf533		if BR2_bf533
+	default bf534		if BR2_bf534
+	default bf536		if BR2_bf536
+	default bf537		if BR2_bf537
+	default bf538		if BR2_bf538
+	default bf539		if BR2_bf539
+	default bf542		if BR2_bf542
+	default bf544		if BR2_bf544
+	default bf547		if BR2_bf547
+	default bf548		if BR2_bf548
+	default bf549		if BR2_bf549
+	default bf561		if BR2_bf561