From: Ingo Molnar <mingo@kernel.org>
To: Borislav Petkov <bp@alien8.de>
Cc: X86 ML <x86@kernel.org>, LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH 1/2] x86/head_64.S: Rename start_cpu()
Date: Tue, 7 Mar 2017 10:06:38 +0100 [thread overview]
Message-ID: <20170307090638.GC6946@gmail.com> (raw)
In-Reply-To: <20170304095611.11355-1-bp@alien8.de>
* Borislav Petkov <bp@alien8.de> wrote:
> From: Borislav Petkov <bp@suse.de>
>
> It doesn't really start a CPU but does a far jump to C code. So call it
> that. Eliminate the unconditional JMP to it from secondary_startup_64()
> but make the jump to C code piece part of secondary_startup_64()
> instead.
>
> Also, it doesn't need to be a global symbol either so make it a local
> label. One less needlessly global symbol in the symbol table.
>
> No functionality change.
>
> Signed-off-by: Borislav Petkov <bp@suse.de>
> ---
> arch/x86/kernel/head_64.S | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
> index b467b14b03eb..ac9d327d2e42 100644
> --- a/arch/x86/kernel/head_64.S
> +++ b/arch/x86/kernel/head_64.S
> @@ -269,10 +269,8 @@ ENTRY(secondary_startup_64)
> /* rsi is pointer to real mode structure with interesting info.
> pass it to C */
> movq %rsi, %rdi
> - jmp start_cpu
> -ENDPROC(secondary_startup_64)
>
> -ENTRY(start_cpu)
> +.Ljump_to_C_code:
> /*
> * Jump to run C code and to be on a real kernel address.
> * Since we are running on identity-mapped space we have to jump
> @@ -305,7 +303,7 @@ ENTRY(start_cpu)
> pushq %rax # target address in negative space
> lretq
> .Lafter_lret:
> -ENDPROC(start_cpu)
> +ENDPROC(secondary_startup_64)
>
> #include "verify_cpu.S"
>
> @@ -313,11 +311,11 @@ ENDPROC(start_cpu)
> /*
> * Boot CPU0 entry point. It's called from play_dead(). Everything has been set
> * up already except stack. We just set up stack here. Then call
> - * start_secondary() via start_cpu().
> + * start_secondary() via .Ljump_to_C_code.
> */
> ENTRY(start_cpu0)
> movq initial_stack(%rip), %rsp
> - jmp start_cpu
> + jmp .Ljump_to_C_code
> ENDPROC(start_cpu0)
> #endif
Wouldn't this be slightly more readable:
jmp .L_jump_to_C_code
? (Note the extra underscore in the symbol name)
The local labels syntax is silly, I always end up looking twice to make sense of
'Ljump' or 'Lwhatever' ;-)
We cannot do anything about that - but we can name our symbols to work it around.
But the price is the extra underscore in the symbol name...
Thanks,
Ingo
next prev parent reply other threads:[~2017-03-07 9:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-04 9:56 [PATCH 1/2] x86/head_64.S: Rename start_cpu() Borislav Petkov
2017-03-04 9:56 ` [PATCH 2/2] x86/head_64.S: Pass struct boot_params' virtual address to C Borislav Petkov
2017-03-07 9:11 ` Ingo Molnar
2017-03-07 10:40 ` Borislav Petkov
2017-03-07 9:06 ` Ingo Molnar [this message]
2017-03-07 10:38 ` [PATCH 1/2] x86/head_64.S: Rename start_cpu() Borislav Petkov
2017-03-07 12:56 ` Ingo Molnar
2017-03-07 13:01 ` [tip:x86/boot] x86/boot/64: " tip-bot for Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170307090638.GC6946@gmail.com \
--to=mingo@kernel.org \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.