From 3d5eae2497ecea3e1e962d80121bdb8a3a5773de Mon Sep 17 00:00:00 2001 From: Zhe Weng Date: Wed, 12 Jul 2023 16:36:10 +0800 Subject: [PATCH] arch/arm64: Enable FPU for qemu-armv8a:netnsh_smp and netnsh_smp_hv When reading https://github.com/apache/nuttx-apps/pull/1793, I found a previous problem https://github.com/apache/nuttx-apps/pull/1454#discussion_r1045718067 now still exists on current master (inf in iperf bandwidth). By step-by-step debugging, I found a value of 1000000.0 stored in register d8 is overwritten as 0 after context switch, then fdiv results in inf because of divided by 0. Finally I found that ARCH_FPU is not enabled while compiler is using FPU, and may lose values in floating-point registers. Signed-off-by: Zhe Weng --- boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp/defconfig | 1 - boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig | 1 - 2 files changed, 2 deletions(-) diff --git a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp/defconfig index cf829bc745c..70b2212bc9d 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp/defconfig @@ -5,7 +5,6 @@ # You can then do "make savedefconfig" to generate a new defconfig file that includes your # modifications. # -# CONFIG_ARCH_FPU is not set CONFIG_ALLOW_BSD_COMPONENTS=y CONFIG_ARCH="arm64" CONFIG_ARCH_ARM64=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig index 6152c7ecd1f..c347b4177f2 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/netnsh_smp_hv/defconfig @@ -5,7 +5,6 @@ # You can then do "make savedefconfig" to generate a new defconfig file that includes your # modifications. # -# CONFIG_ARCH_FPU is not set CONFIG_ALLOW_BSD_COMPONENTS=y CONFIG_ARCH="arm64" CONFIG_ARCH_ARM64=y