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

Matthias Schiffer mschiffer at universe-factory.net
Fri Jul 17 13:46:37 EDT 2015


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.
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20150717/14988470/attachment.sig>
-------------- next part --------------
_______________________________________________
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