Re: [PATCHv6 20/30] x86/boot: Add a trampoline for booting APs via firmware handoff

Boris Petkov
2022-03-17T12:44:58Z

On March 16, 2022 2:08:46 AM UTC, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> wrote:
>diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
>index 48067af94678..35006e151774 100644
>--- a/arch/x86/include/asm/apic.h
>+++ b/arch/x86/include/asm/apic.h
>@@ -328,6 +328,8 @@ struct apic {
>
> /* wakeup_secondary_cpu */
> int (*wakeup_secondary_cpu)(int apicid, unsigned long start_eip);
>+ /* wakeup secondary CPU using 64-bit wakeup point */
>+ int (*wakeup_secondary_cpu_64)(int apicid, unsigned long start_eip);
>
> void (*inquire_remote_apic)(int apicid);
>
>diff --git a/arch/x86/include/asm/realmode.h b/arch/x86/include/asm/realmode.h
>index 331474b150f1..fd6f6e5b755a 100644
>--- a/arch/x86/include/asm/realmode.h
>+++ b/arch/x86/include/asm/realmode.h
>@@ -25,6 +25,7 @@ struct real_mode_header {
> u32 sev_es_trampoline_start;
> #endif
> #ifdef CONFIG_X86_64
>+ u32 trampoline_start64;

I had already asked about those here: why do you need to add a new u32 here and can't use trampoline_start?

Ditto for the new function pointer too.

And yes, sev_es_trampoline_start is superfluous too.

--
Sent from a small device: formatting sux and brevity is inevitable.