All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex
@ 2022-01-18 10:43 Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 01/28] configs/acmesystems_acqua_a5_256mb_defconfig: enable NEON/VFPV4 FPU strategy Giulio Benetti
                   ` (28 more replies)
  0 siblings, 29 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

Hi All,

this patchset aims to enable the best FPU strategy for every board with
32-bits Arm Cortex actually present in Buildroot. I don't own these boards
so I can't test these changes. What is about Allwinner doesn't worry me
because I've tested a lot of cases with Olimex boards, but the other
changes are still to be tested.

So I ask to the board maintainers to test the patches that involve their
boards if possible. Anyway I've checked well all the SoCs Datasheet and I
think I've made it correctly, even if in some of them it's not specified
if VFPv4 means -D32. I assume it like that because otherwise -D16 is
usually specified.

Best regards
---
Giulio Benetti
Benetti Engineering sas

Giulio Benetti (28):
  configs/acmesystems_acqua_a5_256mb_defconfig: enable NEON/VFPV4 FPU
    strategy
  configs/acmesystems_acqua_a5_512mb_defconfig: enable NEON/VFPV4 FPU
    strategy
  configs/bananapi_m2_plus_defconfig: enable NEON/VFPV4 FPU strategy
  configs/bananapi_m2_plus_defconfig: enable NEON/VFPV4 FPU strategy
  configs/beagleboardx15_defconfig: enable NEON/VFPV4 FPU strategy
  configs/beagleboneai_defconfig: enable NEON/VFPV4 FPU strategy
  configs/chromebook_snow_defconfig: enable NEON/VFPV4 FPU strategy
  configs/chromebook_snow_defconfig: enable NEON/VFPV4 FPU strategy
  configs/friendlyarm_nanopi_m1_defconfig: enable NEON/VFPV4 FPU
    strategy
  configs/friendlyarm_nanopi_m1_plus_defconfig: enable NEON/VFPV4 FPU
    strategy
  configs/friendlyarm_nanopi_r1_defconfig: enable NEON/VFPV4 FPU
    strategy
  configs/friendlyarm_nanopi_r1_defconfig: enable NEON/VFPV4 FPU
    strategy
  configs/grinn_liteboard_defconfig: enable NEON/VFPV4 FPU strategy
  configs/licheepi_zero_defconfig: enable NEON/VFPV4 FPU strategy
  configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig: enable NEON/VFPV4
    FPU strategy
  configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig: enable
    NEON/VFPV4 FPU strategy
  configs/microchip_sama5d2_icp_mmc_dev_defconfig: enable NEON/VFPV4 FPU
    strategy
  configs/microchip_sama5d2_icp_mmc_dev_defconfig: enable NEON/VFPV4 FPU
    strategy
  configs/orangepi_lite_defconfig: enable NEON/VFPV4 FPU strategy
  configs/orangepi_one_defconfig: enable NEON/VFPV4 FPU strategy
  configs/orangepi_pc_defconfig: enable NEON/VFPV4 FPU strategy
  configs/orangepi_pc_plus_defconfig: enable NEON/VFPV4 FPU strategy
  configs/orangepi_plus_defconfig: enable NEON/VFPV4 FPU strategy
  configs/orangepi_r1_defconfig: enable NEON/VFPV4 FPU strategy
  configs/orangepi_zero_defconfig: enable NEON/VFPV4 FPU strategy
  configs/stm32mp157a_dk1_defconfig: enable NEON/VFPV4 FPU strategy
  configs/stm32mp157c_dk2_defconfig: enable NEON/VFPV4 FPU strategy
  configs/stm32mp157c_odyssey_defconfig: enable NEON/VFPV4 FPU strategy

 configs/acmesystems_acqua_a5_256mb_defconfig           | 1 +
 configs/acmesystems_acqua_a5_512mb_defconfig           | 1 +
 configs/bananapi_m2_plus_defconfig                     | 1 +
 configs/bananapi_m2_ultra_defconfig                    | 1 +
 configs/beagleboardx15_defconfig                       | 1 +
 configs/beagleboneai_defconfig                         | 1 +
 configs/chromebook_snow_defconfig                      | 1 +
 configs/freescale_imx7dsabresd_defconfig               | 1 +
 configs/friendlyarm_nanopi_m1_defconfig                | 2 +-
 configs/friendlyarm_nanopi_m1_plus_defconfig           | 2 +-
 configs/friendlyarm_nanopi_neo_defconfig               | 2 +-
 configs/friendlyarm_nanopi_r1_defconfig                | 2 +-
 configs/grinn_liteboard_defconfig                      | 1 +
 configs/licheepi_zero_defconfig                        | 2 +-
 configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig     | 1 +
 configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig | 1 +
 configs/microchip_sama5d2_icp_mmc_defconfig            | 1 +
 configs/microchip_sama5d2_icp_mmc_dev_defconfig        | 1 +
 configs/orangepi_lite_defconfig                        | 2 +-
 configs/orangepi_one_defconfig                         | 2 +-
 configs/orangepi_pc_defconfig                          | 2 +-
 configs/orangepi_pc_plus_defconfig                     | 2 +-
 configs/orangepi_plus_defconfig                        | 2 +-
 configs/orangepi_r1_defconfig                          | 2 +-
 configs/orangepi_zero_defconfig                        | 2 +-
 configs/stm32mp157a_dk1_defconfig                      | 1 +
 configs/stm32mp157c_dk2_defconfig                      | 1 +
 configs/stm32mp157c_odyssey_defconfig                  | 1 +
 28 files changed, 28 insertions(+), 12 deletions(-)

-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 01/28] configs/acmesystems_acqua_a5_256mb_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 17:33   ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 02/28] configs/acmesystems_acqua_a5_512mb_defconfig: " Giulio Benetti
                   ` (27 subsequent siblings)
  28 siblings, 1 reply; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

As pointed by SAMA5D2 Datasheet[1]:
```
The Cortex-A5 NEON Media Processing Engine (MPE) extends the Cortex-A5
functionality to provide support for the ARM v7 Advanced SIMD v2 and
Vector Floating-Point v4 (VFPv4) instruction sets.
```

So let's enable VFPV4/NEON FPU strategy instead of the default VFPV4-D16.

[1]: https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA5D2-Series-Data-sheet-ds60001476G.pdf

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/acmesystems_acqua_a5_256mb_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/acmesystems_acqua_a5_256mb_defconfig b/configs/acmesystems_acqua_a5_256mb_defconfig
index f8129f3780..991de4c1be 100644
--- a/configs/acmesystems_acqua_a5_256mb_defconfig
+++ b/configs/acmesystems_acqua_a5_256mb_defconfig
@@ -1,5 +1,6 @@
 BR2_arm=y
 BR2_cortex_a5=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_ARM_ENABLE_VFP=y
 BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 02/28] configs/acmesystems_acqua_a5_512mb_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 01/28] configs/acmesystems_acqua_a5_256mb_defconfig: enable NEON/VFPV4 FPU strategy Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 12:58   ` Edgar Bonet
  2022-01-18 13:28   ` Edgar Bonet
  2022-01-18 10:43 ` [Buildroot] [PATCH 03/28] configs/bananapi_m2_plus_defconfig: " Giulio Benetti
                   ` (26 subsequent siblings)
  28 siblings, 2 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

As pointed by SAMA5D2 Datasheet[1]:
```
The Cortex-A5 NEON Media Processing Engine (MPE) extends the Cortex-A5
functionality to provide support for the ARM v7 Advanced SIMD v2 and
Vector Floating-Point v4 (VFPv4) instruction sets.
```

So let's enable VFPV4/NEON FPU strategy instead of the default VFPV4-D16.

[1]: https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA5D2-Series-Data-sheet-ds60001476G.pdf

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/acmesystems_acqua_a5_512mb_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/acmesystems_acqua_a5_512mb_defconfig b/configs/acmesystems_acqua_a5_512mb_defconfig
index e399d4a9ff..56885ea5a1 100644
--- a/configs/acmesystems_acqua_a5_512mb_defconfig
+++ b/configs/acmesystems_acqua_a5_512mb_defconfig
@@ -1,6 +1,7 @@
 BR2_arm=y
 BR2_cortex_a5=y
 BR2_ARM_ENABLE_VFP=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
 BR2_SYSTEM_DHCP="eth0"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 03/28] configs/bananapi_m2_plus_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 01/28] configs/acmesystems_acqua_a5_256mb_defconfig: enable NEON/VFPV4 FPU strategy Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 02/28] configs/acmesystems_acqua_a5_512mb_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 04/28] configs/bananapi_m2_ultra_defconfig: " Giulio Benetti
                   ` (25 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This boards has Allwinner H3 that supports NEON/VFPV4 FPU strategy, so
let's enable it.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/bananapi_m2_plus_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/bananapi_m2_plus_defconfig b/configs/bananapi_m2_plus_defconfig
index 77a403ce81..9522c0c329 100644
--- a/configs/bananapi_m2_plus_defconfig
+++ b/configs/bananapi_m2_plus_defconfig
@@ -1,5 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y
 BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M2 Plus"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 04/28] configs/bananapi_m2_ultra_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (2 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 03/28] configs/bananapi_m2_plus_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 05/28] configs/beagleboardx15_defconfig: " Giulio Benetti
                   ` (24 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This boards has Allwinner A40i/R40/V40 that support NEON/VFPV4 FPU
strategy, so let's enable it.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/bananapi_m2_ultra_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/bananapi_m2_ultra_defconfig b/configs/bananapi_m2_ultra_defconfig
index 67ecec424c..b22e597945 100644
--- a/configs/bananapi_m2_ultra_defconfig
+++ b/configs/bananapi_m2_ultra_defconfig
@@ -1,5 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y
 BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M2 Ultra"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 05/28] configs/beagleboardx15_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (3 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 04/28] configs/bananapi_m2_ultra_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 06/28] configs/beagleboneai_defconfig: " Giulio Benetti
                   ` (23 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has TI AM5728 that is a cortex-A15 and supports NEON/VFPV4 FPU
strategy, so let's enable it.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/beagleboardx15_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/beagleboardx15_defconfig b/configs/beagleboardx15_defconfig
index 039a07b11e..2ee2777dad 100644
--- a/configs/beagleboardx15_defconfig
+++ b/configs/beagleboardx15_defconfig
@@ -1,5 +1,6 @@
 BR2_arm=y
 BR2_cortex_a15=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beagleboardx15/genimage.cfg"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 06/28] configs/beagleboneai_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (4 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 05/28] configs/beagleboardx15_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 07/28] configs/chromebook_snow_defconfig: " Giulio Benetti
                   ` (22 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has TI AM5729 that is a cortex-A15 and supports NEON/VFPV4 FPU
strategy, so let's enable it.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/beagleboneai_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/beagleboneai_defconfig b/configs/beagleboneai_defconfig
index 586a75317e..edc29e4e5e 100644
--- a/configs/beagleboneai_defconfig
+++ b/configs/beagleboneai_defconfig
@@ -1,5 +1,6 @@
 BR2_arm=y
 BR2_cortex_a15=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_GLOBAL_PATCH_DIR="board/beagleboneai/patches"
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
 BR2_SYSTEM_DHCP="eth0"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 07/28] configs/chromebook_snow_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (5 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 06/28] configs/beagleboneai_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 08/28] configs/freescale_imx7dsabresd_defconfig: " Giulio Benetti
                   ` (21 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has NVIDIA Tegra K1 that is a cortex-A15 and supports
NEON/VFPV4 FPU strategy, so let's enable it.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/chromebook_snow_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/chromebook_snow_defconfig b/configs/chromebook_snow_defconfig
index bcb94b716b..bc188967b3 100644
--- a/configs/chromebook_snow_defconfig
+++ b/configs/chromebook_snow_defconfig
@@ -1,5 +1,6 @@
 BR2_arm=y
 BR2_cortex_a15=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y
 BR2_TARGET_GENERIC_GETTY_PORT="tty1"
 BR2_TARGET_GENERIC_GETTY_TERM="linux"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 08/28] configs/freescale_imx7dsabresd_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (6 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 07/28] configs/chromebook_snow_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 09/28] configs/friendlyarm_nanopi_m1_defconfig: " Giulio Benetti
                   ` (20 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has i.M7D that supports NEON/VFPV4 FPU strategy, so let's
enable it.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/freescale_imx7dsabresd_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/freescale_imx7dsabresd_defconfig b/configs/freescale_imx7dsabresd_defconfig
index 5a9cff488d..dc9d8c0306 100644
--- a/configs/freescale_imx7dsabresd_defconfig
+++ b/configs/freescale_imx7dsabresd_defconfig
@@ -1,6 +1,7 @@
 # architecture
 BR2_arm=y
 BR2_cortex_a7=y
+BR2_ARM_FPU_NEON_VFPV4=y
 
 # Linux headers same as kernel, a 5.10 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 09/28] configs/friendlyarm_nanopi_m1_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (7 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 08/28] configs/freescale_imx7dsabresd_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 10/28] configs/friendlyarm_nanopi_m1_plus_defconfig: " Giulio Benetti
                   ` (19 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H3 that is a cortex-A7 and supports NEON/VFPV4
FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/friendlyarm_nanopi_m1_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/friendlyarm_nanopi_m1_defconfig b/configs/friendlyarm_nanopi_m1_defconfig
index 18cfcb261e..6e78e662be 100644
--- a/configs/friendlyarm_nanopi_m1_defconfig
+++ b/configs/friendlyarm_nanopi_m1_defconfig
@@ -1,7 +1,7 @@
 # Architecture
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 
 # Linux headers same as kernel, a 5.0 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 10/28] configs/friendlyarm_nanopi_m1_plus_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (8 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 09/28] configs/friendlyarm_nanopi_m1_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 11/28] configs/friendlyarm_nanopi_neo_defconfig: " Giulio Benetti
                   ` (18 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H3 that is a cortex-A7 and supports NEON/VFPV4
FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/friendlyarm_nanopi_m1_plus_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/friendlyarm_nanopi_m1_plus_defconfig b/configs/friendlyarm_nanopi_m1_plus_defconfig
index 06adc54b15..bd4d78cbf6 100644
--- a/configs/friendlyarm_nanopi_m1_plus_defconfig
+++ b/configs/friendlyarm_nanopi_m1_plus_defconfig
@@ -1,7 +1,7 @@
 # Architecture
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 
 # Linux headers same as kernel, a 5.0 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 11/28] configs/friendlyarm_nanopi_neo_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (9 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 10/28] configs/friendlyarm_nanopi_m1_plus_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 12/28] configs/friendlyarm_nanopi_r1_defconfig: " Giulio Benetti
                   ` (17 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H3 that is a cortex-A7 and supports NEON/VFPV4
FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/friendlyarm_nanopi_neo_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/friendlyarm_nanopi_neo_defconfig b/configs/friendlyarm_nanopi_neo_defconfig
index 1519d828d6..559a3a2415 100644
--- a/configs/friendlyarm_nanopi_neo_defconfig
+++ b/configs/friendlyarm_nanopi_neo_defconfig
@@ -1,6 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 
 BR2_TARGET_GENERIC_HOSTNAME="nanopi-neo"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the NanoPi NEO"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 12/28] configs/friendlyarm_nanopi_r1_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (10 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 11/28] configs/friendlyarm_nanopi_neo_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 13/28] configs/grinn_liteboard_defconfig: " Giulio Benetti
                   ` (16 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H3 that is a cortex-A7 and supports NEON/VFPV4
FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/friendlyarm_nanopi_r1_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/friendlyarm_nanopi_r1_defconfig b/configs/friendlyarm_nanopi_r1_defconfig
index 8b03f6dd00..8e382b5677 100644
--- a/configs/friendlyarm_nanopi_r1_defconfig
+++ b/configs/friendlyarm_nanopi_r1_defconfig
@@ -1,7 +1,7 @@
 # Architecture
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 
 # Linux headers same as kernel, a 5.0 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 13/28] configs/grinn_liteboard_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (11 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 12/28] configs/friendlyarm_nanopi_r1_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 14/28] configs/licheepi_zero_defconfig: " Giulio Benetti
                   ` (15 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has i.MX6UL that is a cortex-A7 and supports NEON/VFPV4 FPU
strategy, so let's enable it.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/grinn_liteboard_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/grinn_liteboard_defconfig b/configs/grinn_liteboard_defconfig
index 9cad66e15a..640e77c4d7 100644
--- a/configs/grinn_liteboard_defconfig
+++ b/configs/grinn_liteboard_defconfig
@@ -1,5 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y
 BR2_SYSTEM_DHCP="eth0"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 14/28] configs/licheepi_zero_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (12 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 13/28] configs/grinn_liteboard_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 15/28] configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig: " Giulio Benetti
                   ` (14 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner V3s that is a cortex-A7 and supports NEON/VFPV4
FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/licheepi_zero_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/licheepi_zero_defconfig b/configs/licheepi_zero_defconfig
index 2e1a413988..bdb937d2dd 100644
--- a/configs/licheepi_zero_defconfig
+++ b/configs/licheepi_zero_defconfig
@@ -1,7 +1,7 @@
 # Target options
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 
 # Toolchain
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 15/28] configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (13 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 14/28] configs/licheepi_zero_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 16/28] configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig: " Giulio Benetti
                   ` (13 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

As pointed by SAMA5D2 Datasheet[1]:
```
The Cortex-A5 NEON Media Processing Engine (MPE) extends the Cortex-A5
functionality to provide support for the ARM v7 Advanced SIMD v2 and
Vector Floating-Point v4 (VFPv4) instruction sets.
```

So let's enable VFPV4/NEON FPU strategy instead of the default VFPV4-D16.

[1]: https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA5D2-Series-Data-sheet-ds60001476G.pdf

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig b/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig
index 024e8a1465..c5b9e65a81 100644
--- a/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig
+++ b/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig
@@ -2,6 +2,7 @@ BR2_arm=y
 BR2_cortex_a5=y
 BR2_ARM_ENABLE_NEON=y
 BR2_ARM_ENABLE_VFP=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
 BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 16/28] configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (14 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 15/28] configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 17/28] configs/microchip_sama5d2_icp_mmc_defconfig: " Giulio Benetti
                   ` (12 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

As pointed by SAMA5D2 Datasheet[1]:
```
The Cortex-A5 NEON Media Processing Engine (MPE) extends the Cortex-A5
functionality to provide support for the ARM v7 Advanced SIMD v2 and
Vector Floating-Point v4 (VFPv4) instruction sets.
```

So let's enable VFPV4/NEON FPU strategy instead of the default VFPV4-D16.

[1]: https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA5D2-Series-Data-sheet-ds60001476G.pdf

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig b/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig
index 3bcd5f0200..35b8c905e5 100644
--- a/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig
+++ b/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig
@@ -2,6 +2,7 @@ BR2_arm=y
 BR2_cortex_a5=y
 BR2_ARM_ENABLE_NEON=y
 BR2_ARM_ENABLE_VFP=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
 BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 17/28] configs/microchip_sama5d2_icp_mmc_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (15 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 16/28] configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 18/28] configs/microchip_sama5d2_icp_mmc_dev_defconfig: " Giulio Benetti
                   ` (11 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

As pointed by SAMA5D2 Datasheet[1]:
```
The Cortex-A5 NEON Media Processing Engine (MPE) extends the Cortex-A5
functionality to provide support for the ARM v7 Advanced SIMD v2 and
Vector Floating-Point v4 (VFPv4) instruction sets.
```

So let's enable VFPV4/NEON FPU strategy instead of the default VFPV4-D16.

[1]: https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA5D2-Series-Data-sheet-ds60001476G.pdf

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/microchip_sama5d2_icp_mmc_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/microchip_sama5d2_icp_mmc_defconfig b/configs/microchip_sama5d2_icp_mmc_defconfig
index 4bb3625f83..658d8c18b6 100644
--- a/configs/microchip_sama5d2_icp_mmc_defconfig
+++ b/configs/microchip_sama5d2_icp_mmc_defconfig
@@ -2,6 +2,7 @@ BR2_arm=y
 BR2_cortex_a5=y
 BR2_ARM_ENABLE_NEON=y
 BR2_ARM_ENABLE_VFP=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
 BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 18/28] configs/microchip_sama5d2_icp_mmc_dev_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (16 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 17/28] configs/microchip_sama5d2_icp_mmc_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 19/28] configs/orangepi_lite_defconfig: " Giulio Benetti
                   ` (10 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

As pointed by SAMA5D2 Datasheet[1]:
```
The Cortex-A5 NEON Media Processing Engine (MPE) extends the Cortex-A5
functionality to provide support for the ARM v7 Advanced SIMD v2 and
Vector Floating-Point v4 (VFPv4) instruction sets.
```

So let's enable VFPV4/NEON FPU strategy instead of the default VFPV4-D16.

[1]: https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA5D2-Series-Data-sheet-ds60001476G.pdf

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/microchip_sama5d2_icp_mmc_dev_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/microchip_sama5d2_icp_mmc_dev_defconfig b/configs/microchip_sama5d2_icp_mmc_dev_defconfig
index 052d9e032c..123bb3e69c 100644
--- a/configs/microchip_sama5d2_icp_mmc_dev_defconfig
+++ b/configs/microchip_sama5d2_icp_mmc_dev_defconfig
@@ -2,6 +2,7 @@ BR2_arm=y
 BR2_cortex_a5=y
 BR2_ARM_ENABLE_NEON=y
 BR2_ARM_ENABLE_VFP=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
 BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 19/28] configs/orangepi_lite_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (17 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 18/28] configs/microchip_sama5d2_icp_mmc_dev_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 20/28] configs/orangepi_one_defconfig: " Giulio Benetti
                   ` (9 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H3 that is a cortex-A7 and supports NEON/VFPV4
FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/orangepi_lite_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/orangepi_lite_defconfig b/configs/orangepi_lite_defconfig
index e834816456..9805d953b9 100644
--- a/configs/orangepi_lite_defconfig
+++ b/configs/orangepi_lite_defconfig
@@ -1,6 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Lite"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Lite"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 20/28] configs/orangepi_one_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (18 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 19/28] configs/orangepi_lite_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 21/28] configs/orangepi_pc_defconfig: " Giulio Benetti
                   ` (8 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H3 that is a cortex-A7 and supports NEON/VFPV4
FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/orangepi_one_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/orangepi_one_defconfig b/configs/orangepi_one_defconfig
index 1a2772a307..c4e674a6b6 100644
--- a/configs/orangepi_one_defconfig
+++ b/configs/orangepi_one_defconfig
@@ -1,6 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_One"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi One"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 21/28] configs/orangepi_pc_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (19 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 20/28] configs/orangepi_one_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-23 18:39   ` Sergey Kuzminov
  2022-01-18 10:43 ` [Buildroot] [PATCH 22/28] configs/orangepi_pc_plus_defconfig: " Giulio Benetti
                   ` (7 subsequent siblings)
  28 siblings, 1 reply; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H3 that is a cortex-A7 and supports NEON/VFPV4
FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/orangepi_pc_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/orangepi_pc_defconfig b/configs/orangepi_pc_defconfig
index 44ea9b95c4..8d7d89599a 100644
--- a/configs/orangepi_pc_defconfig
+++ b/configs/orangepi_pc_defconfig
@@ -1,6 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 22/28] configs/orangepi_pc_plus_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (20 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 21/28] configs/orangepi_pc_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 23/28] configs/orangepi_plus_defconfig: " Giulio Benetti
                   ` (6 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H3 that is a cortex-A7 and supports NEON/VFPV4
FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/orangepi_pc_plus_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/orangepi_pc_plus_defconfig b/configs/orangepi_pc_plus_defconfig
index c3ff8bc417..cb108a8d31 100644
--- a/configs/orangepi_pc_plus_defconfig
+++ b/configs/orangepi_pc_plus_defconfig
@@ -1,6 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC_Plus"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 23/28] configs/orangepi_plus_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (21 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 22/28] configs/orangepi_pc_plus_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 24/28] configs/orangepi_r1_defconfig: " Giulio Benetti
                   ` (5 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H3 that is a cortex-A7 and supports NEON/VFPV4
FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/orangepi_plus_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/orangepi_plus_defconfig b/configs/orangepi_plus_defconfig
index 11d7486486..897246373b 100644
--- a/configs/orangepi_plus_defconfig
+++ b/configs/orangepi_plus_defconfig
@@ -1,7 +1,7 @@
 # Architecture
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 
 # Linux headers same as kernel, a 5.0 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 24/28] configs/orangepi_r1_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (22 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 23/28] configs/orangepi_plus_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 25/28] configs/orangepi_zero_defconfig: " Giulio Benetti
                   ` (4 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H2+(compatible with H3) that is a cortex-A7 and
supports NEON/VFPV4 FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/orangepi_r1_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/orangepi_r1_defconfig b/configs/orangepi_r1_defconfig
index bad1f9400c..9fff1fa97a 100644
--- a/configs/orangepi_r1_defconfig
+++ b/configs/orangepi_r1_defconfig
@@ -1,6 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_R1"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi R1"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 25/28] configs/orangepi_zero_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (23 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 24/28] configs/orangepi_r1_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-23 18:07   ` Sergey Kuzminov
  2022-01-18 10:43 ` [Buildroot] [PATCH 26/28] configs/stm32mp157a_dk1_defconfig: " Giulio Benetti
                   ` (3 subsequent siblings)
  28 siblings, 1 reply; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has Allwinner H2+(compatible with H3) that is a cortex-A7 and
supports NEON/VFPV4 FPU strategy, so let's enable it instead of only VFPV4.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/orangepi_zero_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig
index 1c107b10e6..a0af809e92 100644
--- a/configs/orangepi_zero_defconfig
+++ b/configs/orangepi_zero_defconfig
@@ -1,6 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches"
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 26/28] configs/stm32mp157a_dk1_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (24 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 25/28] configs/orangepi_zero_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 27/28] configs/stm32mp157c_dk2_defconfig: " Giulio Benetti
                   ` (2 subsequent siblings)
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has stm32mp157a that is a cortex-A7 and supports NEON/VFPV4 FPU
strategy, so let's enable it instead of the default VFPV4-D16.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/stm32mp157a_dk1_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/stm32mp157a_dk1_defconfig b/configs/stm32mp157a_dk1_defconfig
index a487ce9891..1768500b74 100644
--- a/configs/stm32mp157a_dk1_defconfig
+++ b/configs/stm32mp157a_dk1_defconfig
@@ -1,6 +1,7 @@
 # Architecture
 BR2_arm=y
 BR2_cortex_a7=y
+BR2_ARM_FPU_NEON_VFPV4=y
 
 # Linux headers same as kernel, a 5.13 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 27/28] configs/stm32mp157c_dk2_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (25 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 26/28] configs/stm32mp157a_dk1_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-18 10:43 ` [Buildroot] [PATCH 28/28] configs/stm32mp157c_odyssey_defconfig: " Giulio Benetti
  2022-01-22 14:32 ` [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Thomas Petazzoni
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has stm32mp157c that is a cortex-A7 and supports NEON/VFPV4 FPU
strategy, so let's enable it instead of the default VFPV4-D16.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/stm32mp157c_dk2_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/stm32mp157c_dk2_defconfig b/configs/stm32mp157c_dk2_defconfig
index f1f7baaa08..503ed91843 100644
--- a/configs/stm32mp157c_dk2_defconfig
+++ b/configs/stm32mp157c_dk2_defconfig
@@ -1,6 +1,7 @@
 # Architecture
 BR2_arm=y
 BR2_cortex_a7=y
+BR2_ARM_FPU_NEON_VFPV4=y
 
 # Linux headers same as kernel, a 5.13 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 28/28] configs/stm32mp157c_odyssey_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (26 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 27/28] configs/stm32mp157c_dk2_defconfig: " Giulio Benetti
@ 2022-01-18 10:43 ` Giulio Benetti
  2022-01-22 14:32 ` [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Thomas Petazzoni
  28 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 10:43 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Jan Kraval,
	Thomas Petazzoni, Sergey Matyukevich, Ludovic Desroches,
	Davide Viti, Mike Harmony, Bartosz Bilas, Marcin Niestroj,
	Michel Stempin, Lothar Felten, Giulio Benetti, Fabio Estevam,
	Yann E . MORIN, Biagio Montaruli

This board has stm32mp157c that is a cortex-A7 and supports NEON/VFPV4 FPU
strategy, so let's enable it instead of the default VFPV4-D16.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 configs/stm32mp157c_odyssey_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/stm32mp157c_odyssey_defconfig b/configs/stm32mp157c_odyssey_defconfig
index 6b699830b1..6aa772b8c0 100644
--- a/configs/stm32mp157c_odyssey_defconfig
+++ b/configs/stm32mp157c_odyssey_defconfig
@@ -1,5 +1,6 @@
 BR2_arm=y
 BR2_cortex_a7=y
+BR2_ARM_FPU_NEON_VFPV4=y
 BR2_GLOBAL_PATCH_DIR="board/seeed/stm32mp157c-odyssey/patches"
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
 BR2_ROOTFS_OVERLAY="board/seeed/stm32mp157c-odyssey/overlay/"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 02/28] configs/acmesystems_acqua_a5_512mb_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 ` [Buildroot] [PATCH 02/28] configs/acmesystems_acqua_a5_512mb_defconfig: " Giulio Benetti
@ 2022-01-18 12:58   ` Edgar Bonet
  2022-01-18 13:28   ` Edgar Bonet
  1 sibling, 0 replies; 40+ messages in thread
From: Edgar Bonet @ 2022-01-18 12:58 UTC (permalink / raw)
  To: buildroot

Hi!

[Replying to list only, hoping it is the right etiquette.]

Giulio Benetti wrote:
> --- a/configs/acmesystems_acqua_a5_512mb_defconfig
> +++ b/configs/acmesystems_acqua_a5_512mb_defconfig
> @@ -1,6 +1,7 @@
>  BR2_arm=y
>  BR2_cortex_a5=y
>  BR2_ARM_ENABLE_VFP=y
> +BR2_ARM_FPU_NEON_VFPV4=y
>  BR2_ARM_INSTRUCTIONS_THUMB2=y
>  BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
>  BR2_SYSTEM_DHCP="eth0"

I think this may be missing some dependencies, as this change does not
survive `save defconfig'. I tried the following from a clean tree:

    git pull # from master
    git am ~/tmp/saved-patch.email  # the patch above
    make acmesystems_acqua_a5_512mb_defconfig
    make nconfig
        # no changes to configuration
        <F6> Save
        <F9> Exit
    make savedefconfig
    git diff

And git showed me that the patch had just been reverted on the worktree.
According to arch/Config.in.arm, BR2_ARM_FPU_NEON_VFPV4 depends on
BR2_ARM_CPU_HAS_NEON, which is not mentioned in my .config. It also
appears that BR2_ARM_ENABLE_NEON selects BR2_ARM_CPU_HAS_NEON. Would
BR2_ARM_ENABLE_NEON be the canonical way of making
BR2_ARM_FPU_NEON_VFPV4 acceptable? I am a bit confused by the VFP
selection logic in arch/Config.in.arm, so I am not sure that would be
the right approach.

As a follow up question, if this issue is fixed, what would be the
simplest way of testing the floating point implementation on the board?
I was thinking about adding gnuplot, which doesn't have any
dependencies, and having it do some computations. I do not know,
however, whether this would exercise the NEON SIMD extensions.

Best regards,

Edgar.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 02/28] configs/acmesystems_acqua_a5_512mb_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 ` [Buildroot] [PATCH 02/28] configs/acmesystems_acqua_a5_512mb_defconfig: " Giulio Benetti
  2022-01-18 12:58   ` Edgar Bonet
@ 2022-01-18 13:28   ` Edgar Bonet
  2022-01-18 13:35     ` Giulio Benetti
  1 sibling, 1 reply; 40+ messages in thread
From: Edgar Bonet @ 2022-01-18 13:28 UTC (permalink / raw)
  To: buildroot

Hi again!

Giulio Benetti wrote:
> As pointed by SAMA5D2 Datasheet [...] So let's enable VFPV4/NEON FPU
> strategy instead of the default VFPV4-D16.

BTW, the Acqua is a SAMA5D3[1] (SAMA5D31 or SAMA5D36, depending on the
version), not a SAMA5D2. The datasheet[2] of the SAMA5D3 states:

    The Floating-Point Unit (FPU) supports the ARMv7 VFPv4-D16
    architecture without Advanced SIMD extensions (NEON).

So I guess the patch is not relevant to this board.

[1] https://www.acmesystems.it/acqua
[2] https://ww1.microchip.com/downloads/en/DeviceDoc/SAMA5D3-Series-Data-sheet-DS60001609b.pdf
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 02/28] configs/acmesystems_acqua_a5_512mb_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 13:28   ` Edgar Bonet
@ 2022-01-18 13:35     ` Giulio Benetti
  0 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 13:35 UTC (permalink / raw)
  To: Edgar Bonet, buildroot

Hi Edgar,

On 18/01/22 14:28, Edgar Bonet wrote:
> Hi again!
> 
> Giulio Benetti wrote:
>> As pointed by SAMA5D2 Datasheet [...] So let's enable VFPV4/NEON FPU
>> strategy instead of the default VFPV4-D16.
> 
> BTW, the Acqua is a SAMA5D3[1] (SAMA5D31 or SAMA5D36, depending on the
> version), not a SAMA5D2. The datasheet[2] of the SAMA5D3 states:
> 
>      The Floating-Point Unit (FPU) supports the ARMv7 VFPv4-D16
>      architecture without Advanced SIMD extensions (NEON).

Ah, thank you. I had the SAMA5D3 opened and I couldn't find anymore 
which board used it. I thought it was this one. Thanks for pointing.

> So I guess the patch is not relevant to this board.

Exactly. So please drop this patch and I've set it as rejected in Patchwork.

I'll go in depth later with patch 01/28.

Thank you for the answers!
Best regards
-- 
Giulio Benetti
Benetti Engineering sas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 01/28] configs/acmesystems_acqua_a5_256mb_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 ` [Buildroot] [PATCH 01/28] configs/acmesystems_acqua_a5_256mb_defconfig: enable NEON/VFPV4 FPU strategy Giulio Benetti
@ 2022-01-18 17:33   ` Giulio Benetti
  0 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-18 17:33 UTC (permalink / raw)
  To: buildroot
  Cc: Theo Debrouwere, Simon Doppler, Sergey Matyukevich, Mike Harmony,
	Lothar Felten, Bartosz Bilas, Davide Viti, Jan Kraval,
	Ludovic Desroches, Marcin Niestroj, Michel Stempin,
	Thomas Petazzoni, Edgar Bonet, Fabio Estevam, Yann E . MORIN,
	Biagio Montaruli

Hi All,

On 18/01/22 11:43, Giulio Benetti wrote:
> As pointed by SAMA5D2 Datasheet[1]:

As pointed by Edgar on Patch 02/28 Acqua A5 doesn't have a SAMA5D2 but a 
SAMA5D3 that doesn't have VFPV4+NEON, but a VFPv4-D16 and NEON, so this 
can't work.

I've marked it as Rejected in Patchwork as patch 01/28 and please drop it.

Thank you and sorry for the noise.

Best regards
-- 
Giulio Benetti
Benetti Engineering sas

> ```
> The Cortex-A5 NEON Media Processing Engine (MPE) extends the Cortex-A5
> functionality to provide support for the ARM v7 Advanced SIMD v2 and
> Vector Floating-Point v4 (VFPv4) instruction sets.
> ```
> 
> So let's enable VFPV4/NEON FPU strategy instead of the default VFPV4-D16.
> 
> [1]: https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA5D2-Series-Data-sheet-ds60001476G.pdf
> 
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> ---
>   configs/acmesystems_acqua_a5_256mb_defconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/configs/acmesystems_acqua_a5_256mb_defconfig b/configs/acmesystems_acqua_a5_256mb_defconfig
> index f8129f3780..991de4c1be 100644
> --- a/configs/acmesystems_acqua_a5_256mb_defconfig
> +++ b/configs/acmesystems_acqua_a5_256mb_defconfig
> @@ -1,5 +1,6 @@
>   BR2_arm=y
>   BR2_cortex_a5=y
> +BR2_ARM_FPU_NEON_VFPV4=y
>   BR2_ARM_ENABLE_VFP=y
>   BR2_ARM_INSTRUCTIONS_THUMB2=y
>   BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
> 

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex
  2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
                   ` (27 preceding siblings ...)
  2022-01-18 10:43 ` [Buildroot] [PATCH 28/28] configs/stm32mp157c_odyssey_defconfig: " Giulio Benetti
@ 2022-01-22 14:32 ` Thomas Petazzoni
  2022-01-25 20:55   ` Yann E. MORIN
  28 siblings, 1 reply; 40+ messages in thread
From: Thomas Petazzoni @ 2022-01-22 14:32 UTC (permalink / raw)
  To: Giulio Benetti
  Cc: Theo Debrouwere, Simon Doppler, Sergey Matyukevich, Mike Harmony,
	Bartosz Bilas, Davide Viti, Jan Kraval, Ludovic Desroches,
	Marcin Niestroj, Michel Stempin, Lothar Felten, buildroot,
	Edgar Bonet, Fabio Estevam, Yann E . MORIN, Biagio Montaruli

Hello,

On Tue, 18 Jan 2022 11:43:10 +0100
Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:

> this patchset aims to enable the best FPU strategy for every board with
> 32-bits Arm Cortex actually present in Buildroot. I don't own these boards
> so I can't test these changes. What is about Allwinner doesn't worry me
> because I've tested a lot of cases with Olimex boards, but the other
> changes are still to be tested.
> 
> So I ask to the board maintainers to test the patches that involve their
> boards if possible. Anyway I've checked well all the SoCs Datasheet and I
> think I've made it correctly, even if in some of them it's not specified
> if VFPv4 means -D32. I assume it like that because otherwise -D16 is
> usually specified.

Do we have a good understand of what -mfpu=neon-vfpv4 does? Your patch
series basically converts many defconfigs to use this -mfpu value, but
it's not clear to me how it works. What does it mean to combine NEON
and VFPv4 instructions?

Regarding VFPv4 D16 vs. D32,
https://developer.arm.com/documentation/den0018/a/Compiling-NEON-Instructions/GCC-command-line-options/Option-to-specify-the-FPU
tells us:

  VFPv3 and VFPv4 implementations provide 32 double-precision
  registers. However, when NEON unit is not present, the top sixteen
  registers (D16-D31) become optional. This is shown by the -d16 in the
  option name, which means that the top sixteen D registers are not
  available.

So, my understanding is that when NEON is available, the VFPv4 is
guaranteed to have the 32 double-precision registers (D32).

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 25/28] configs/orangepi_zero_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 ` [Buildroot] [PATCH 25/28] configs/orangepi_zero_defconfig: " Giulio Benetti
@ 2022-01-23 18:07   ` Sergey Kuzminov
  2022-01-23 19:12     ` Giulio Benetti
  0 siblings, 1 reply; 40+ messages in thread
From: Sergey Kuzminov @ 2022-01-23 18:07 UTC (permalink / raw)
  To: buildroot

18.01.2022 13:43, Giulio Benetti:
> This board has Allwinner H2+(compatible with H3) that is a cortex-A7 and
> supports NEON/VFPV4 FPU strategy, so let's enable it instead of only VFPV4.
> 
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> ---
>   configs/orangepi_zero_defconfig | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig
> index 1c107b10e6..a0af809e92 100644
> --- a/configs/orangepi_zero_defconfig
> +++ b/configs/orangepi_zero_defconfig
> @@ -1,6 +1,6 @@
>   BR2_arm=y
>   BR2_cortex_a7=y
> -BR2_ARM_FPU_VFPV4=y
> +BR2_ARM_FPU_NEON_VFPV4=y
>   BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches"
>   BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
>   BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y

Tested-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 21/28] configs/orangepi_pc_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-18 10:43 ` [Buildroot] [PATCH 21/28] configs/orangepi_pc_defconfig: " Giulio Benetti
@ 2022-01-23 18:39   ` Sergey Kuzminov
  0 siblings, 0 replies; 40+ messages in thread
From: Sergey Kuzminov @ 2022-01-23 18:39 UTC (permalink / raw)
  To: buildroot

Tested-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 25/28] configs/orangepi_zero_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-23 18:07   ` Sergey Kuzminov
@ 2022-01-23 19:12     ` Giulio Benetti
  2022-01-23 20:57       ` Yann E. MORIN
  0 siblings, 1 reply; 40+ messages in thread
From: Giulio Benetti @ 2022-01-23 19:12 UTC (permalink / raw)
  To: Sergey Kuzminov; +Cc: buildroot

Hi Sergey,

thank you for the Tested-by, but you should put it…

> Il giorno 23 gen 2022, alle ore 19:08, Sergey Kuzminov <kuzminov.sergey81@gmail.com> ha scritto:
> 
> 18.01.2022 13:43, Giulio Benetti:
>> This board has Allwinner H2+(compatible with H3) that is a cortex-A7 and
>> supports NEON/VFPV4 FPU strategy, so let's enable it instead of only VFPV4.
>> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>

…here, after my SoB.

And when answering to Mailing List(ML), always use “Reply to All”.

Honestly it’s since years I always use “Reply to All” because it works both for multiple recipients and for single recipient too.

This way I don’t forget to do it.

Best regards!
Giulio

>> ---
>>  configs/orangepi_zero_defconfig | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig
>> index 1c107b10e6..a0af809e92 100644
>> --- a/configs/orangepi_zero_defconfig
>> +++ b/configs/orangepi_zero_defconfig
>> @@ -1,6 +1,6 @@
>>  BR2_arm=y
>>  BR2_cortex_a7=y
>> -BR2_ARM_FPU_VFPV4=y
>> +BR2_ARM_FPU_NEON_VFPV4=y
>>  BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches"
>>  BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
>>  BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y
> 
> Tested-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 25/28] configs/orangepi_zero_defconfig: enable NEON/VFPV4 FPU strategy
  2022-01-23 19:12     ` Giulio Benetti
@ 2022-01-23 20:57       ` Yann E. MORIN
  0 siblings, 0 replies; 40+ messages in thread
From: Yann E. MORIN @ 2022-01-23 20:57 UTC (permalink / raw)
  To: Giulio Benetti; +Cc: Sergey Kuzminov, buildroot

Giulio, All,

On 2022-01-23 20:12 +0100, Giulio Benetti spake thusly:
> Hi Sergey,
> 
> thank you for the Tested-by, but you should put it…
> 
> > Il giorno 23 gen 2022, alle ore 19:08, Sergey Kuzminov <kuzminov.sergey81@gmail.com> ha scritto:
> > 
> > 18.01.2022 13:43, Giulio Benetti:
> >> This board has Allwinner H2+(compatible with H3) that is a cortex-A7 and
> >> supports NEON/VFPV4 FPU strategy, so let's enable it instead of only VFPV4.
> >> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> 
> …here, after my SoB.

No, not needed: Patchwork will correctly catch it wherever it is as long
as the mail is a proper reply, which it is here, and you can check it on
patchwork: the 'T' column is now set to '1' for this patch, and the
tested-by tag is properly added to the mbox (which is what we
maintainers use when applying patches):

    $ curl 'https://patchwork.ozlabs.org/project/buildroot/patch/20220118104338.2081259-26-giulio.benetti@benettiengineering.com/mbox/'
    [...]
    Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
    Tested-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
    [...]

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex
  2022-01-22 14:32 ` [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Thomas Petazzoni
@ 2022-01-25 20:55   ` Yann E. MORIN
  2022-01-25 21:48     ` Giulio Benetti
  0 siblings, 1 reply; 40+ messages in thread
From: Yann E. MORIN @ 2022-01-25 20:55 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Theo Debrouwere, Simon Doppler, Edgar Bonet, Mike Harmony,
	Sergey Matyukevich, Bartosz Bilas, Davide Viti, Jan Kraval,
	Ludovic Desroches, Marcin Niestroj, Michel Stempin,
	Lothar Felten, buildroot, Giulio Benetti, Fabio Estevam,
	Biagio Montaruli

Thomas, Giulio, All,

On 2022-01-22 15:32 +0100, Thomas Petazzoni spake thusly:
> On Tue, 18 Jan 2022 11:43:10 +0100
> Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:
> 
> > this patchset aims to enable the best FPU strategy for every board with
> > 32-bits Arm Cortex actually present in Buildroot. I don't own these boards
> > so I can't test these changes. What is about Allwinner doesn't worry me
> > because I've tested a lot of cases with Olimex boards, but the other
> > changes are still to be tested.
> > 
> > So I ask to the board maintainers to test the patches that involve their
> > boards if possible. Anyway I've checked well all the SoCs Datasheet and I
> > think I've made it correctly, even if in some of them it's not specified
> > if VFPv4 means -D32. I assume it like that because otherwise -D16 is
> > usually specified.
> 
> Do we have a good understand of what -mfpu=neon-vfpv4 does? Your patch
> series basically converts many defconfigs to use this -mfpu value, but
> it's not clear to me how it works. What does it mean to combine NEON
> and VFPv4 instructions?

The gcc man page states that specifying Neon as part of the fpu setting
has no effect, unless the -funsafe-math-optimizations is also specified,
because Neon is not compliant zith IEEE 754:

    If the selected floating-point hardware includes the NEON extension
    (e.g. -mfpu=neon), note that floating-point operations are not
    generated by GCC's auto-vectorization pass unless
    -funsafe-math-optimizations is also specified. This is because NEON
    hardware does not fully implement the IEEE 754 standard for
    floating-point arithmetic (in particular denormal values are treated
    as zero), so the use of NEON instructions may lead to a loss of
    precision.

So it is my understanding that using Neon is not a good idea overall. It
should only be requested on-demand by people who know what they are
doing, and most probably, be setting appropriate CFLAGS on a per-package
basis.

Additionally, changing the default FPU setting on those defconfigs is
not really interesting. Indeed, the base system that (most of) those
defconfig build are probably not exercising the FPU setting much (the
busybox login and shell are probably not using much FPU insns).

So, for me, this series is a no-go, first because it has not been tsted
on actual hardware, second because some of the changes introduce a
dubious feature which is actually a no-op at best, or worse will
generate incorrect code.

Regards,
Yann E. MORIN.

> Regarding VFPv4 D16 vs. D32,
> https://developer.arm.com/documentation/den0018/a/Compiling-NEON-Instructions/GCC-command-line-options/Option-to-specify-the-FPU
> tells us:
> 
>   VFPv3 and VFPv4 implementations provide 32 double-precision
>   registers. However, when NEON unit is not present, the top sixteen
>   registers (D16-D31) become optional. This is shown by the -d16 in the
>   option name, which means that the top sixteen D registers are not
>   available.
> 
> So, my understanding is that when NEON is available, the VFPv4 is
> guaranteed to have the 32 double-precision registers (D32).
> 
> Thomas
> -- 
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex
  2022-01-25 20:55   ` Yann E. MORIN
@ 2022-01-25 21:48     ` Giulio Benetti
  0 siblings, 0 replies; 40+ messages in thread
From: Giulio Benetti @ 2022-01-25 21:48 UTC (permalink / raw)
  To: Yann E. MORIN, Thomas Petazzoni
  Cc: Theo Debrouwere, Simon Doppler, Sergey Matyukevich, Jan Kraval,
	Ludovic Desroches, Davide Viti, Mike Harmony, Bartosz Bilas,
	Marcin Niestroj, Michel Stempin, Lothar Felten, buildroot,
	Edgar Bonet, Fabio Estevam, Biagio Montaruli

Hi Yann, Thomas, All,

On 25/01/22 21:55, Yann E. MORIN wrote:
> Thomas, Giulio, All,
> 
> On 2022-01-22 15:32 +0100, Thomas Petazzoni spake thusly:
>> On Tue, 18 Jan 2022 11:43:10 +0100
>> Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:
>>
>>> this patchset aims to enable the best FPU strategy for every board with
>>> 32-bits Arm Cortex actually present in Buildroot. I don't own these boards
>>> so I can't test these changes. What is about Allwinner doesn't worry me
>>> because I've tested a lot of cases with Olimex boards, but the other
>>> changes are still to be tested.
>>>
>>> So I ask to the board maintainers to test the patches that involve their
>>> boards if possible. Anyway I've checked well all the SoCs Datasheet and I
>>> think I've made it correctly, even if in some of them it's not specified
>>> if VFPv4 means -D32. I assume it like that because otherwise -D16 is
>>> usually specified.
>>
>> Do we have a good understand of what -mfpu=neon-vfpv4 does? Your patch
>> series basically converts many defconfigs to use this -mfpu value, but
>> it's not clear to me how it works. What does it mean to combine NEON
>> and VFPv4 instructions?
> 
> The gcc man page states that specifying Neon as part of the fpu setting
> has no effect, unless the -funsafe-math-optimizations is also specified,
> because Neon is not compliant zith IEEE 754:
> 
>      If the selected floating-point hardware includes the NEON extension
>      (e.g. -mfpu=neon), note that floating-point operations are not
>      generated by GCC's auto-vectorization pass unless
>      -funsafe-math-optimizations is also specified. This is because NEON
>      hardware does not fully implement the IEEE 754 standard for
>      floating-point arithmetic (in particular denormal values are treated
>      as zero), so the use of NEON instructions may lead to a loss of
>      precision.
> 
> So it is my understanding that using Neon is not a good idea overall. It
> should only be requested on-demand by people who know what they are
> doing, and most probably, be setting appropriate CFLAGS on a per-package
> basis.
> 
> Additionally, changing the default FPU setting on those defconfigs is
> not really interesting. Indeed, the base system that (most of) those
> defconfig build are probably not exercising the FPU setting much (the
> busybox login and shell are probably not using much FPU insns).
> 
> So, for me, this series is a no-go, first because it has not been tsted
> on actual hardware, second because some of the changes introduce a
> dubious feature which is actually a no-op at best, or worse will
> generate incorrect code.

I agree with you, it's too dangerous. I mean, I've tested on all 
Allwinner Axx series, but haven't check that in the end the assembly 
code corresponding. What I plan to do later, so now you can reject this 
patchset, is to use the smallest package that uses fpu instructions for 
sure, then enable for example:
-mfpu=vfpv4
check
AND
-mfpu=neon-vfpv4

This way I will have my real answer before eventually re-submitting 
while explaining this in detail.

Also, once I will have cleared this topic and it comes out that fpu is 
not use with neon-vfpv4, then I'll send patches to remove that fpu 
strategy on the boards I've set it to it.

I thought it was easier, instead this is an insidious topic.

So yes, let's drop this and thank you all for helping me to clarify.

Kind regards!
-- 
Giulio Benetti
Benetti Engineering sas

> Regards,
> Yann E. MORIN.
> 
>> Regarding VFPv4 D16 vs. D32,
>> https://developer.arm.com/documentation/den0018/a/Compiling-NEON-Instructions/GCC-command-line-options/Option-to-specify-the-FPU
>> tells us:
>>
>>    VFPv3 and VFPv4 implementations provide 32 double-precision
>>    registers. However, when NEON unit is not present, the top sixteen
>>    registers (D16-D31) become optional. This is shown by the -d16 in the
>>    option name, which means that the top sixteen D registers are not
>>    available.
>>
>> So, my understanding is that when NEON is available, the VFPv4 is
>> guaranteed to have the 32 double-precision registers (D32).
>>
>> Thomas
>> -- 
>> Thomas Petazzoni, co-owner and CEO, Bootlin
>> Embedded Linux and Kernel engineering and training
>> https://bootlin.com
> 

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2022-01-25 21:48 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-18 10:43 [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 01/28] configs/acmesystems_acqua_a5_256mb_defconfig: enable NEON/VFPV4 FPU strategy Giulio Benetti
2022-01-18 17:33   ` Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 02/28] configs/acmesystems_acqua_a5_512mb_defconfig: " Giulio Benetti
2022-01-18 12:58   ` Edgar Bonet
2022-01-18 13:28   ` Edgar Bonet
2022-01-18 13:35     ` Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 03/28] configs/bananapi_m2_plus_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 04/28] configs/bananapi_m2_ultra_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 05/28] configs/beagleboardx15_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 06/28] configs/beagleboneai_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 07/28] configs/chromebook_snow_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 08/28] configs/freescale_imx7dsabresd_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 09/28] configs/friendlyarm_nanopi_m1_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 10/28] configs/friendlyarm_nanopi_m1_plus_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 11/28] configs/friendlyarm_nanopi_neo_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 12/28] configs/friendlyarm_nanopi_r1_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 13/28] configs/grinn_liteboard_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 14/28] configs/licheepi_zero_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 15/28] configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 16/28] configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 17/28] configs/microchip_sama5d2_icp_mmc_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 18/28] configs/microchip_sama5d2_icp_mmc_dev_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 19/28] configs/orangepi_lite_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 20/28] configs/orangepi_one_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 21/28] configs/orangepi_pc_defconfig: " Giulio Benetti
2022-01-23 18:39   ` Sergey Kuzminov
2022-01-18 10:43 ` [Buildroot] [PATCH 22/28] configs/orangepi_pc_plus_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 23/28] configs/orangepi_plus_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 24/28] configs/orangepi_r1_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 25/28] configs/orangepi_zero_defconfig: " Giulio Benetti
2022-01-23 18:07   ` Sergey Kuzminov
2022-01-23 19:12     ` Giulio Benetti
2022-01-23 20:57       ` Yann E. MORIN
2022-01-18 10:43 ` [Buildroot] [PATCH 26/28] configs/stm32mp157a_dk1_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 27/28] configs/stm32mp157c_dk2_defconfig: " Giulio Benetti
2022-01-18 10:43 ` [Buildroot] [PATCH 28/28] configs/stm32mp157c_odyssey_defconfig: " Giulio Benetti
2022-01-22 14:32 ` [Buildroot] [PATCH 00/28] Use the best FPU strategies on 32-bits Arm Cortex Thomas Petazzoni
2022-01-25 20:55   ` Yann E. MORIN
2022-01-25 21:48     ` Giulio Benetti

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.