[PATCH] arm64: Fix compilation error while accessing MPIDR_HWID_BITMASK from .S files

John Garry john.garry at huawei.com
Mon Feb 19 02:19:35 PST 2018


On 19/02/2018 06:39, Bhupesh Sharma wrote:
> Since commit e1a50de37860b3a93a9d643b09638db5aff47650 (arm64: cputype:
> Silence Sparse warnings), compilation of arm64 architecture is broken
> with the following error messages:
>
>   AR      arch/arm64/kernel/built-in.o
>   arch/arm64/kernel/head.S: Assembler messages:
>   arch/arm64/kernel/head.S:677: Error: found 'L', expected: ')'
>   arch/arm64/kernel/head.S:677: Error: found 'L', expected: ')'
>   arch/arm64/kernel/head.S:677: Error: found 'L', expected: ')'
>   arch/arm64/kernel/head.S:677: Error: junk at end of line, first
>   unrecognized character is `L'
>   arch/arm64/kernel/head.S:677: Error: unexpected characters following
>   instruction at operand 2 -- `movz x1,:abs_g1_s:0xff00ffffffUL'
>   arch/arm64/kernel/head.S:677: Error: unexpected characters following
>   instruction at operand 2 -- `movk x1,:abs_g0_nc:0xff00ffffffUL'
>
> This patch fixes the same by using the UL() macro correctly for
> assigning the MPIDR_HWID_BITMASK macro value.
>
> Signed-off-by: Bhupesh Sharma <bhsharma at redhat.com>
> ---
>  arch/arm64/include/asm/cputype.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/include/asm/cputype.h b/arch/arm64/include/asm/cputype.h
> index eda8c5f629fc..350c76a1d15b 100644
> --- a/arch/arm64/include/asm/cputype.h
> +++ b/arch/arm64/include/asm/cputype.h
> @@ -20,7 +20,7 @@
>
>  #define MPIDR_UP_BITMASK	(0x1 << 30)
>  #define MPIDR_MT_BITMASK	(0x1 << 24)
> -#define MPIDR_HWID_BITMASK	0xff00ffffffUL
> +#define MPIDR_HWID_BITMASK	UL(0xff00ffffff)

Works for me.

FYI, I am using (old) gcc-linaro-4.8-2015.06-x86_64_aarch64.

Thanks,
John

>
>  #define MPIDR_LEVEL_BITS_SHIFT	3
>  #define MPIDR_LEVEL_BITS	(1 << MPIDR_LEVEL_BITS_SHIFT)
>





More information about the linux-arm-kernel mailing list