lkml.org 
[lkml]   [2024]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] ARM: Do not select ARCH_HAS_KERNEL_FPU_SUPPORT
From
Hello Ard,

On 2024-05-09 2:39 AM, Ard Biesheuvel wrote:
> On Thu, 9 May 2024 at 03:37, Samuel Holland <samuel.holland@sifive.com> wrote:
>>
>> On 32-bit ARM, conversions between `double` and `long long` require
>> runtime library support. Since the kernel does not currently provide
>> this library support, the amdgpu driver fails to build:
>>
>> ERROR: modpost: "__aeabi_l2d" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
>> ERROR: modpost: "__aeabi_d2ulz" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
>>
>> As Arnd reports, there are likely no 32-bit ARM platforms which can use
>> the amdgpu driver anyway, due to lack of features like 64-bit
>> prefetchable BARs. Since amdgpu is currently the only real user of
>> ARCH_HAS_KERNEL_FPU_SUPPORT, drop support for this option instead of
>> bothering to implement the library functions.
>>
>> Fixes: 12624fe2d707 ("ARM: implement ARCH_HAS_KERNEL_FPU_SUPPORT")
>
> This commit is not in mainline yet. Could we just drop the original
> patch instead?

No, like I mentioned in the original thread, later patches in the series (for
example bbce5cac4f5a ("lib/raid6: use CC_FLAGS_FPU for NEON CFLAGS")) depend on
CC_FLAGS_FPU being defined for both arm and arm64.

arm can't select ARCH_HAS_KERNEL_FPU_SUPPORT because the contract of that option
is not fully implemented, but in my opinion it doesn't hurt to keep the part
that is implemented.

Regards,
Samuel

>> Reported-by: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
>> Closes: https://lore.kernel.org/lkml/87wmp4oo3y.fsf@linaro.org/
>> Reported-by: kernel test robot <lkp@intel.com>
>> Closes: https://lore.kernel.org/oe-kbuild-all/202404042327.jRpt81kP-lkp@intel.com/
>> Suggested-by: Ard Biesheuvel <ardb@kernel.org>
>> Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
>> ---
>>
>> arch/arm/Kconfig | 1 -
>> 1 file changed, 1 deletion(-)
>>
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index b1751c2cab87..b14aed3a17ab 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -15,7 +15,6 @@ config ARM
>> select ARCH_HAS_FORTIFY_SOURCE
>> select ARCH_HAS_KEEPINITRD
>> select ARCH_HAS_KCOV
>> - select ARCH_HAS_KERNEL_FPU_SUPPORT if KERNEL_MODE_NEON
>> select ARCH_HAS_MEMBARRIER_SYNC_CORE
>> select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
>> select ARCH_HAS_PTE_SPECIAL if ARM_LPAE
>> --
>> 2.44.0
>>


\
 
 \ /
  Last update: 2024-05-27 18:27    [W:0.073 / U:0.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site