[OpenWrt-Devel] [RFC] brcm2708: enable hard float ABI

Álvaro Fernández Rojas noltari at gmail.com
Sat Jul 18 06:54:48 EDT 2015


I agree with you and I can't see the point in keeping CONFIG_SOFT_FLOAT option at all, since it messes toolchain/staging directories (at least as it is right now, but if anyone thinks we should keep it then it needs to be fixed somehow).
Let's see what others have to say about that.

Regards,
Álvaro.

El 17/07/2015 a las 19:46, Matthias Schiffer escribió:
> As I wrote in my last mail, using the same toolchain build/staging dirs
> with different float ABIs seems broken to me and should be fixed before
> any further work is done towards adding hard float support to BCM270x.
> 
> After thinking a bit more about this, I came to the conclusion that the
> whole CONFIG_SOFT_FLOAT/CONFIG_HAS_FPU mess should be removed.
> Currently, having two targets using the same CPU_TYPE/CPU_SUBTYPE
> combination, but with different HAS_FPU, will break.
> 
> In my opinion, the float ABI toolchain flags should only depend on the
> CPU_SUBTYPE, so when similar CPUs should use different float ABIs, a
> separate CPU_SUBTYPE would need to be created and thus separate
> build/staging dirs are used.
> 
> If we really want to keep the CONFIG_SOFT_FLOAT option, at least a
> "softfp" suffix or similar would need to be added to the toolchain
> build/staging dir names, as mentioned before.
> 
> I can write patches for that, but the OpenWrt team must decide which way
> to go.
> 
> Regards,
> Matthias
> 
> 
> On 07/17/2015 07:28 PM, Álvaro Fernández Rojas wrote:
>> This enables hard float abi on BCM2708 (RPi1) and also enables neon on BCM2709 (RPi2).
>> Attention: minimally tested, but seems to be OK.
>> The toolchain directory changes on BCM2709 due to switching the CPU subtype to neon, but BCM2708 needs a distclean.
>>
>> Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
>> ---
>>  target/linux/brcm2708/Makefile          | 4 +---
>>  target/linux/brcm2708/bcm2708/target.mk | 2 ++
>>  target/linux/brcm2708/bcm2709/target.mk | 2 +-
>>  3 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/target/linux/brcm2708/Makefile b/target/linux/brcm2708/Makefile
>> index 6d8aba0..a3e35e4 100644
>> --- a/target/linux/brcm2708/Makefile
>> +++ b/target/linux/brcm2708/Makefile
>> @@ -10,10 +10,8 @@ include $(INCLUDE_DIR)/host.mk
>>  ARCH:=arm
>>  BOARD:=brcm2708
>>  BOARDNAME:=Broadcom BCM2708/BCM2709
>> -FEATURES:=ext4 audio usb usbgadget display gpio
>> +FEATURES:=ext4 audio usb usbgadget display gpio fpu
>>  MAINTAINER:=Florian Fainelli <florian at openwrt.org>
>> -CPU_TYPE:=arm1176jzf-s
>> -CPU_SUBTYPE:=vfp
>>  SUBTARGETS:=bcm2708 bcm2709
>>  
>>  KERNEL_PATCHVER:=4.1
>> diff --git a/target/linux/brcm2708/bcm2708/target.mk b/target/linux/brcm2708/bcm2708/target.mk
>> index 10fae2f..a35ec66 100644
>> --- a/target/linux/brcm2708/bcm2708/target.mk
>> +++ b/target/linux/brcm2708/bcm2708/target.mk
>> @@ -4,6 +4,8 @@
>>  
>>  SUBTARGET:=bcm2708
>>  BOARDNAME:=BCM2708 based boards
>> +CPU_TYPE:=arm1176jzf-s
>> +CPU_SUBTYPE:=vfp
>>  
>>  define Target/Description
>>  	Build firmware image for Broadcom BCM2708 SoC devices.
>> diff --git a/target/linux/brcm2708/bcm2709/target.mk b/target/linux/brcm2708/bcm2709/target.mk
>> index 565c12a..b910b36 100644
>> --- a/target/linux/brcm2708/bcm2709/target.mk
>> +++ b/target/linux/brcm2708/bcm2709/target.mk
>> @@ -5,7 +5,7 @@
>>  SUBTARGET:=bcm2709
>>  BOARDNAME:=BCM2709 based boards
>>  CPU_TYPE:=cortex-a7
>> -CPU_SUBTYPE:=vfp
>> +CPU_SUBTYPE:=neon
>>  
>>  define Target/Description
>>  	Build firmware image for Broadcom BCM2709 SoC devices.
>>
> 
> 
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list