]> www.infradead.org Git - linux-platform-drivers-x86.git/commitdiff
x86/sev: Move SEV compilation units
authorBorislav Petkov (AMD) <bp@alien8.de>
Wed, 19 Jun 2024 09:03:16 +0000 (11:03 +0200)
committerBorislav Petkov (AMD) <bp@alien8.de>
Thu, 11 Jul 2024 09:55:58 +0000 (11:55 +0200)
A long time ago it was agreed upon that the coco stuff needs to go where
it belongs:

  https://lore.kernel.org/all/Yg5nh1RknPRwIrb8@zn.tnic

and not keep it in arch/x86/kernel. TDX did that and SEV can't find time
to do so. So lemme do it. If people have trouble converting their
ongoing featuritis patches, ask me for a sed script.

No functional changes.

Move the instrumentation exclusion bits too, as helpfully caught and
reported by the 0day folks.

Closes: https://lore.kernel.org/oe-kbuild-all/202406220748.hG3qlmDx-lkp@intel.com
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202407091342.46d7dbb-oliver.sang@intel.com
Reported-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Nikunj A Dadhania <nikunj@amd.com>
Reviewed-by: Ashish Kalra <ashish.kalra@amd.com>
Tested-by: kernel test robot <oliver.sang@intel.com>
Link: https://lore.kernel.org/r/20240619093014.17962-1-bp@kernel.org
arch/x86/boot/compressed/sev.c
arch/x86/coco/Makefile
arch/x86/coco/sev/Makefile [new file with mode: 0644]
arch/x86/coco/sev/core.c [moved from arch/x86/kernel/sev.c with 99% similarity]
arch/x86/coco/sev/shared.c [moved from arch/x86/kernel/sev-shared.c with 100% similarity]
arch/x86/kernel/Makefile

index 697057250faa56b418f1424bdd23f9dda5d6ba01..cd44e120fe53777e3daff67e8a5f67bcd59fb067 100644 (file)
@@ -127,7 +127,7 @@ static bool fault_in_kernel_space(unsigned long address)
 #include "../../lib/insn.c"
 
 /* Include code for early handlers */
-#include "../../kernel/sev-shared.c"
+#include "../../coco/sev/shared.c"
 
 static struct svsm_ca *svsm_get_caa(void)
 {
index c816acf78b6aa0e36ebab582c4fb6558d91ab19a..eabdc7486538d94a4286ab199f509105ef31a989 100644 (file)
@@ -6,3 +6,4 @@ CFLAGS_core.o           += -fno-stack-protector
 obj-y += core.o
 
 obj-$(CONFIG_INTEL_TDX_GUEST)  += tdx/
+obj-$(CONFIG_AMD_MEM_ENCRYPT)   += sev/
diff --git a/arch/x86/coco/sev/Makefile b/arch/x86/coco/sev/Makefile
new file mode 100644 (file)
index 0000000..4e375e7
--- /dev/null
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: GPL-2.0
+
+obj-y += core.o
+
+ifdef CONFIG_FUNCTION_TRACER
+CFLAGS_REMOVE_core.o = -pg
+endif
+
+KASAN_SANITIZE_core.o  := n
+KMSAN_SANITIZE_core.o  := n
+KCOV_INSTRUMENT_core.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
similarity index 99%
rename from arch/x86/kernel/sev.c
rename to arch/x86/coco/sev/core.c
index 726d9df505e71089c6fd49101b730d4079c036d5..082d61d85dfc1022de4266bfbeca880fe20c2e1e 100644 (file)
@@ -613,7 +613,7 @@ static __always_inline void vc_forward_exception(struct es_em_ctxt *ctxt)
 }
 
 /* Include code shared with pre-decompression boot stage */
-#include "sev-shared.c"
+#include "shared.c"
 
 static inline struct svsm_ca *svsm_get_caa(void)
 {
index 20a0dd51700a3fac58951454952d7ac4ad50bc86..a847180836e475c8ebf4d52fe9f8f7ec682f5d9c 100644 (file)
@@ -17,7 +17,6 @@ CFLAGS_REMOVE_ftrace.o = -pg
 CFLAGS_REMOVE_early_printk.o = -pg
 CFLAGS_REMOVE_head64.o = -pg
 CFLAGS_REMOVE_head32.o = -pg
-CFLAGS_REMOVE_sev.o = -pg
 CFLAGS_REMOVE_rethook.o = -pg
 endif
 
@@ -26,19 +25,16 @@ KASAN_SANITIZE_dumpstack.o                          := n
 KASAN_SANITIZE_dumpstack_$(BITS).o                     := n
 KASAN_SANITIZE_stacktrace.o                            := n
 KASAN_SANITIZE_paravirt.o                              := n
-KASAN_SANITIZE_sev.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
 KMSAN_SANITIZE_head$(BITS).o                           := n
 KMSAN_SANITIZE_nmi.o                                   := n
-KMSAN_SANITIZE_sev.o                                   := n
 
 # If instrumentation of the following files is enabled, boot hangs during
 # first second.
 KCOV_INSTRUMENT_head$(BITS).o                          := n
-KCOV_INSTRUMENT_sev.o                                  := n
 
 CFLAGS_irq.o := -I $(src)/../include/asm/trace
 
@@ -142,8 +138,6 @@ obj-$(CONFIG_UNWINDER_ORC)          += unwind_orc.o
 obj-$(CONFIG_UNWINDER_FRAME_POINTER)   += unwind_frame.o
 obj-$(CONFIG_UNWINDER_GUESS)           += unwind_guess.o
 
-obj-$(CONFIG_AMD_MEM_ENCRYPT)          += sev.o
-
 obj-$(CONFIG_CFI_CLANG)                        += cfi.o
 
 obj-$(CONFIG_CALL_THUNKS)              += callthunks.o