Hi Shuah,
On Thu, 13 Mar 2025 at 05:14, Shuah Khan skhan@linuxfoundation.org wrote:
David, Brendan, Rae,
I am seeing the following error when I run
./tools/testing/kunit/kunit.py run --arch x86_64
ERROR:root:ld:arch/x86/realmode/rm/realmode.lds:236: undefined symbol `sev_es_trampoline_start' referenced in expression
I isolated it to dependency on CONFIG_AMD_MEM_ENCRYPT
That's interesting. I recall seeing this issue briefly about a year ago on an internal branch, and we worked around it there by enabling CONFIG_AMD_MEM_ENCRYPT (which worked).
But I've been totally unable to reproduce it this morning: are you seeing this on any particular branch / config / environment?
Either way, I think KUnit _should_ work with AMD_MEM_ENCRYPT disabled (and still does for me here), so the correct fix is probably somewhere in x86-land.
I added the option using --kconfig_add
./tools/testing/kunit/kunit.py run --arch x86_64 --kconfig_add CONFIG_AMD_MEM_ENCRYPT=y
I see the following
RROR:root:Not all Kconfig options selected in kunitconfig were in the generated .config. This is probably due to unsatisfied dependencies. Missing: CONFIG_AMD_MEM_ENCRYPT=y
Is there a better way to fix the dependencies? Does kunit default config need changing for x86_64?
Looks like this requires CONFIG_EFI=y and CONFIG_EFI_STUB=y as well. I've had success building with: --kconfig_add CONFIG_AMD_MEM_ENCRYPT=y --kconfig_add CONFIG_EFI_STUB=y --kconfig_add CONFIG_EFI=y
As for defaults. I'd hope we don't _need_ them, and that the root cause of the issue can be fixed, but I'm happy to add those to the defaults in tools/testing/kunit/qemu_configs/x86_64.py if we can't resolve the underlying issue.
-- David