mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
x86/boot: Move SEV startup code into startup/
Move the SEV startup code into arch/x86/boot/startup/, where it will reside along with other code that executes extremely early, and therefore needs to be built in a special manner. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Brian Gerst <brgerst@gmail.com> Cc: David Woodhouse <dwmw@amazon.co.uk> Cc: Dionna Amalie Glaze <dionnaglaze@google.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Juergen Gross <jgross@suse.com> Cc: Kees Cook <keescook@chromium.org> Cc: Kevin Loughlin <kevinloughlin@google.com> Cc: Len Brown <len.brown@intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Link: https://lore.kernel.org/r/20250418141253.2601348-12-ardb+git@google.com
This commit is contained in:
parent
234cf67fc3
commit
a3cbbb4717
5 changed files with 5 additions and 21 deletions
|
@ -144,7 +144,7 @@ int svsm_perform_call_protocol(struct svsm_call *call);
|
|||
u8 snp_vmpl;
|
||||
|
||||
/* Include code for early handlers */
|
||||
#include "../../coco/sev/shared.c"
|
||||
#include "../../boot/startup/sev-shared.c"
|
||||
|
||||
int svsm_perform_call_protocol(struct svsm_call *call)
|
||||
{
|
||||
|
|
|
@ -17,7 +17,7 @@ UBSAN_SANITIZE := n
|
|||
KCOV_INSTRUMENT := n
|
||||
|
||||
obj-$(CONFIG_X86_64) += gdt_idt.o map_kernel.o
|
||||
obj-$(CONFIG_AMD_MEM_ENCRYPT) += sme.o
|
||||
obj-$(CONFIG_AMD_MEM_ENCRYPT) += sme.o sev-startup.o
|
||||
|
||||
lib-$(CONFIG_X86_64) += la57toggle.o
|
||||
lib-$(CONFIG_EFI_MIXED) += efi-mixed.o
|
||||
|
|
|
@ -422,7 +422,7 @@ static __always_inline void vc_forward_exception(struct es_em_ctxt *ctxt)
|
|||
}
|
||||
|
||||
/* Include code shared with pre-decompression boot stage */
|
||||
#include "shared.c"
|
||||
#include "sev-shared.c"
|
||||
|
||||
noinstr void __sev_put_ghcb(struct ghcb_state *state)
|
||||
{
|
|
@ -1,25 +1,9 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
obj-y += core.o sev-nmi.o startup.o
|
||||
|
||||
# jump tables are emitted using absolute references in non-PIC code
|
||||
# so they cannot be used in the early SEV startup code
|
||||
CFLAGS_startup.o += -fno-jump-tables
|
||||
|
||||
ifdef CONFIG_FUNCTION_TRACER
|
||||
CFLAGS_REMOVE_startup.o = -pg
|
||||
endif
|
||||
|
||||
KASAN_SANITIZE_startup.o := n
|
||||
KMSAN_SANITIZE_startup.o := n
|
||||
KCOV_INSTRUMENT_startup.o := n
|
||||
|
||||
# With some compiler versions the generated code results in boot hangs, caused
|
||||
# by several compilation units. To be safe, disable all instrumentation.
|
||||
KCSAN_SANITIZE := n
|
||||
obj-y += core.o sev-nmi.o
|
||||
|
||||
# Clang 14 and older may fail to respect __no_sanitize_undefined when inlining
|
||||
UBSAN_SANITIZE := n
|
||||
UBSAN_SANITIZE_sev-nmi.o := n
|
||||
|
||||
# GCC may fail to respect __no_sanitize_address when inlining
|
||||
KASAN_SANITIZE_sev-nmi.o := n
|
||||
|
|
Loading…
Add table
Reference in a new issue