On Thu, Aug 08, 2019 at 12:38:33PM +0200, Jiri Slaby wrote: > relocated, paging_enabled, and no_longmode are self-standing local > functions, annotate them as such. paging_enabled is annotated as > NOALIGN, since the trampoline code has to be compact. > > Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> > Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: x86@xxxxxxxxxx > --- > arch/x86/boot/compressed/head_32.S | 3 ++- > arch/x86/boot/compressed/head_64.S | 9 ++++++--- > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S > index 37380c0d5999..7e8ab0bb6968 100644 > --- a/arch/x86/boot/compressed/head_32.S > +++ b/arch/x86/boot/compressed/head_32.S > @@ -209,7 +209,7 @@ ENDPROC(efi32_stub_entry) > #endif > > .text > -relocated: > +SYM_FUNC_START_LOCAL(relocated) > > /* > * Clear BSS (stack is currently empty) > @@ -260,6 +260,7 @@ relocated: > */ > xorl %ebx, %ebx > jmp *%eax > +SYM_FUNC_END(relocated) > > #ifdef CONFIG_EFI_STUB > .data > diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S > index 6233ae35d0d9..c8ce6ffc9fe5 100644 > --- a/arch/x86/boot/compressed/head_64.S > +++ b/arch/x86/boot/compressed/head_64.S > @@ -511,7 +511,7 @@ ENDPROC(efi64_stub_entry) > #endif > > .text > -relocated: > +SYM_FUNC_START_LOCAL(relocated) > > /* > * Clear BSS (stack is currently empty) > @@ -540,6 +540,7 @@ relocated: > * Jump to the decompressed kernel. > */ > jmp *%rax > +SYM_FUNC_END(relocated) > > /* > * Adjust the global offset table > @@ -635,9 +636,10 @@ ENTRY(trampoline_32bit_src) > lret > > .code64 > -paging_enabled: > +SYM_FUNC_START_LOCAL_NOALIGN(paging_enabled) > /* Return from the trampoline */ > jmp *%rdi > +SYM_FUNC_END(paging_enabled) > > /* > * The trampoline code has a size limit. > @@ -647,11 +649,12 @@ paging_enabled: > .org trampoline_32bit_src + TRAMPOLINE_32BIT_CODE_SIZE > > .code32 > -no_longmode: > +SYM_FUNC_START_LOCAL(no_longmode) > /* This isn't an x86-64 CPU, so hang intentionally, we cannot continue */ > 1: > hlt > jmp 1b > +SYM_FUNC_END(no_longmode) > > #include "../../kernel/verify_cpu.S" > > -- All can be local labels prepended with .L -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.