Re: [PATCH v2 06/18] loongarch/crc32: expose CRC32 functions through lib

WangYuli
2024-11-04T02:34:46Z

[-- Attachment #1.1.1: Type: text/plain, Size: 1506 bytes --]

On 2024/11/3 21:57, Eric Biggers wrote:
> On Sun, Nov 03, 2024 at 09:36:55PM +0800, WangYuli wrote:
>> Even though the narrower CRC instructions doesn't require GRLEN=64, they still *aren't* part of LA32 (LoongArch reference manual v1.10, Volume 1, Table 2-1).
>> Link: https://lore.kernel.org/all/0a7d0a9e-c56e-4ee2-a83b-00164a450abe@xen0n.name/
>>
>> Therefore, we could not directly add ARCH_HAS_CRC32 to config LOONGARCH.
>>
> There's still a runtime CPU feature check of cpu_has(CPU_FEATURE_CRC32).
> See arch/loongarch/lib/crc32-loongarch.c. So it's the same as before.
> ARCH_HAS_CRC32 just means that the file will be compiled.
>
> If you're trying to say that you think this file should be built only when
> CONFIG_64BIT=y, then that would be an existing bug since the existing file
> arch/loongarch/crypto/crc32-loongarch.c was built for both 32-bit and 64-bit.
> But if you think this is a bug, I can fix this too.
>
> - Eric
>

Actually, my originally mean is that directly declaring LoongArch
ARCH_HAS_CRC32 without distinguishing between 32-bit and 64-bit might
mislead those reading the code. And it's not rigorous.
However, according to Huacai Chen's recent reply, there are many similar
issues and they won't cause build errors for now.
Link:
https://lore.kernel.org/all/CAAhV-H5KaXBr-TdpDbJwcr_L0_mbSw=4J30uwQ2xn2YDs=Hg2Q@mail.gmail.com/
So, this change should be fine for now.

Reviewed-by: WangYuli <wangyuli@uniontech.com>

Thanks,
--
WangYuli

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 645 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]