]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
armv8: fix Clang warning on writing 32-bit variable to a 64-bit register
authorRaymond Mao <raymond.mao@linaro.org>
Tue, 27 May 2025 21:04:31 +0000 (14:04 -0700)
committerTom Rini <trini@konsulko.com>
Thu, 5 Jun 2025 22:57:35 +0000 (16:57 -0600)
Clang is stricter than GCC when it comes to inline assembly and expects the
register to be written with explicitly same type of variable.

Fixes: c0e1775a867c ("armv8: Add arch-specific sysinfo platform driver")
Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
arch/arm/cpu/armv8/sysinfo.c

index 850142da37d70f3d0cd2db89588827aa4757a0ec..ff0abee4c6b14d7e174e68b3f57874282661dcd2 100644 (file)
@@ -134,7 +134,7 @@ int sysinfo_get_cache_info(u8 level, struct cache_info *cinfo)
 
        /* Select cache level */
        csselr_el1 = (level << 1);
-       asm volatile("msr csselr_el1, %0" : : "r" (csselr_el1));
+       asm volatile("msr csselr_el1, %0" : : "r" ((u64)csselr_el1));
 
        /* Read CCSIDR_EL1 */
        asm volatile("mrs %0, ccsidr_el1" : "=r" (creg.data));