public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* sev_es_trampoline_start undefined symbol referenced errors during kunit run
@ 2025-04-14 22:28 Shuah Khan
  2025-04-14 23:00 ` Borislav Petkov
  0 siblings, 1 reply; 12+ messages in thread
From: Shuah Khan @ 2025-04-14 22:28 UTC (permalink / raw)
  To: thomas.lendacky
  Cc: David Gow, Shuah Khan, x86@kernel.org, Brendan Higgins,
	linux-kernel, Thomas Gleixner, Ingo Molnar, Borislav Petkov

Hi Tom,

I have been seeing sev_es_trampoline_start undefined symbol referenced errors
during the following kunit test runs.

./tools/testing/kunit/kunit.py run --arch x86_64
./tools/testing/kunit/kunit.py run --alltests --arch x86_64

The error is here:

ERROR:root:ld:arch/x86/realmode/rm/realmode.lds:236: undefined symbol `sev_es_trampoline_start' referenced in expression
make[6]: *** [../arch/x86/realmode/rm/Makefile:49: arch/x86/realmode/rm/realmode.elf] Error 1
make[5]: *** [../arch/x86/realmode/Makefile:22: arch/x86/realmode/rm/realmode.bin] Error 2
make[4]: *** [../scripts/Makefile.build:461: arch/x86/realmode] Error 2

I made time to look into this error.

sev_es_trampoline_start is referenced in arch/x86/coco/sev/core.c twice:

- To override start_ip in  wakeup_cpu_via_vmgexit()
- In sev_es_setup_ap_jump_table() to compute startup_ip

sev_es_trampoline_start is defined if CONFIG_AMD_MEM_ENCRYPT is enabled
and all other references to it are under ifdef CONFIG_AMD_MEM_ENCRYPT
conditional except the two in arch/x86/coco/sev/core.c

git grep sev_es_trampoline_start
arch/x86/coco/sev/core.c:       start_ip = real_mode_header->sev_es_trampoline_start;
arch/x86/coco/sev/core.c:       startup_ip = (u16)(rmh->sev_es_trampoline_start -
arch/x86/include/asm/realmode.h:        u32     sev_es_trampoline_start;
arch/x86/realmode/rm/header.S:  .long   pa_sev_es_trampoline_start
arch/x86/realmode/rm/trampoline_64.S:SYM_CODE_START(sev_es_trampoline_start)
arch/x86/realmode/rm/trampoline_64.S:SYM_CODE_END(sev_es_trampoline_start)

Why are these references not under ifdef CONFIG_AMD_MEM_ENCRYPT conditional?

The following commits added the references to sev_es_trampoline_start
in arch/x86/coco/sev/core.c

0afb6b660a6b58cb336d1175ed687bf9525849a4
8940ac9ced8bc1c48c4e28b0784e3234c9d14469

thanks,
-- Shuah



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-04-16  9:18 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-14 22:28 sev_es_trampoline_start undefined symbol referenced errors during kunit run Shuah Khan
2025-04-14 23:00 ` Borislav Petkov
2025-04-15  8:54   ` David Gow
2025-04-15 14:25   ` Shuah Khan
2025-04-15 18:01     ` Borislav Petkov
2025-04-15 19:06       ` Shuah Khan
2025-04-15 22:17         ` Borislav Petkov
2025-04-15 22:29           ` Shuah Khan
2025-04-16  0:32             ` David Gow
2025-04-16  1:09               ` Shuah Khan
2025-04-16  9:18               ` Borislav Petkov
2025-04-16  0:54             ` Shuah Khan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox