Re: [patch V4 36/37] x86/smpboot: Support parallel startup of secondary CPUs
From: Andrew Cooper
Date: Fri May 19 2023 - 13:13:21 EST
On 19/05/2023 5:28 pm, Jeffrey Hugo wrote:
> DESCEND objtool
> INSTALL libsubcmd_headers
> CALL scripts/checksyscalls.sh
> AS arch/x86/kernel/head_64.o
> arch/x86/kernel/head_64.S: Assembler messages:
> arch/x86/kernel/head_64.S:261: Error: missing ')'
> arch/x86/kernel/head_64.S:261: Error: junk `UL<<10)' after expression
> CC arch/x86/kernel/head64.o
> CC arch/x86/kernel/ebda.o
> CC arch/x86/kernel/platform-quirks.o
> scripts/Makefile.build:374: recipe for target
> 'arch/x86/kernel/head_64.o' failed
> make[3]: *** [arch/x86/kernel/head_64.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> scripts/Makefile.build:494: recipe for target 'arch/x86/kernel' failed
> make[2]: *** [arch/x86/kernel] Error 2
> scripts/Makefile.build:494: recipe for target 'arch/x86' failed
> make[1]: *** [arch/x86] Error 2
> make[1]: *** Waiting for unfinished jobs....
> Makefile:2026: recipe for target '.' failed
> make: *** [.] Error 2
>
> This is with GCC 5.4.0, if it matters.
>
> Reverting this change allows the build to move forward, although I
> also need to revert "x86/smpboot/64: Implement
> arch_cpuhp_init_parallel_bringup() and enable it" for the build to
> fully succeed.
>
> I'm not familiar with this code, and nothing obvious stands out to me.
> What can I do to help root cause this?
Can you try:
-#define XAPIC_ENABLE (1UL << 11)
-#define X2APIC_ENABLE (1UL << 10)
+#define XAPIC_ENABLE BIT(11)
+#define X2APIC_ENABLE BIT(10)
The UL suffix isn't understood by older binutils, and this patch adds
the first use of these constants in assembly.
~Andrew