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
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?
thanks, -- Shuah
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
On 3/12/25 16:52, David Gow wrote:
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?
linux_next - I did allmodconfig build prior to running the tests. That means I had to run make ARCH=x86_64 mrproper before running
./tools/testing/kunit/kunit.py run --arch x86_64
I tried something different checking out a fresh linux_next repo and running ./tools/testing/kunit/kunit.py run --arch x86_64
No errors on
./tools/testing/kunit/kunit.py run --arch x86_64
I will try this again and let you know. Can you try this as well.
- Clean linux_next and run tests - Run tests after buidling allmodconfig and mrproper
thanks, -- Shuah
On Thu, 13 Mar 2025 at 07:51, Shuah Khan skhan@linuxfoundation.org wrote:
On 3/12/25 16:52, David Gow wrote:
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?
linux_next - I did allmodconfig build prior to running the tests. That means I had to run make ARCH=x86_64 mrproper before running
./tools/testing/kunit/kunit.py run --arch x86_64
I tried something different checking out a fresh linux_next repo and running ./tools/testing/kunit/kunit.py run --arch x86_64
No errors on
./tools/testing/kunit/kunit.py run --arch x86_64
I will try this again and let you know. Can you try this as well.
- Clean linux_next and run tests
- Run tests after buidling allmodconfig and mrproper
Thanks, Shuah.
Alas, I've tried both on a clean linux-next (next-20250312), and after doing an allmodconfig build (and make mrproper), and am still unable to reproduce this here.
I also dug up the old 5.10-based version we saw something similar on, and wasn't able to reproduce it there, either. (That had been built with clang, but using clang on upstream doesn't seem to reproduce it either.)
I'll continue to play around with different setups, but none of the obvious things seem to work. Worst-case, I don't think it'd be a _problem_ to make EFI + AMD_MEM_ENCRYPT the default for the x86_64/qemu KUnit configuration.
-- David
On 3/12/25 20:21, David Gow wrote:
On Thu, 13 Mar 2025 at 07:51, Shuah Khan skhan@linuxfoundation.org wrote:
On 3/12/25 16:52, David Gow wrote:
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?
linux_next - I did allmodconfig build prior to running the tests. That means I had to run make ARCH=x86_64 mrproper before running
./tools/testing/kunit/kunit.py run --arch x86_64
I tried something different checking out a fresh linux_next repo and running ./tools/testing/kunit/kunit.py run --arch x86_64
No errors on
./tools/testing/kunit/kunit.py run --arch x86_64
I will try this again and let you know. Can you try this as well.
- Clean linux_next and run tests
- Run tests after buidling allmodconfig and mrproper
Thanks, Shuah.
Alas, I've tried both on a clean linux-next (next-20250312), and after doing an allmodconfig build (and make mrproper), and am still unable to reproduce this here.
I also dug up the old 5.10-based version we saw something similar on, and wasn't able to reproduce it there, either. (That had been built with clang, but using clang on upstream doesn't seem to reproduce it either.)
I'll continue to play around with different setups, but none of the obvious things seem to work. Worst-case, I don't think it'd be a _problem_ to make EFI + AMD_MEM_ENCRYPT the default for the x86_64/qemu KUnit configuration.
I tried again starting with a clean linux_next repo next-20250313
- Ran tests first - Built allmodconfig - Ran mrproper - Ran tests
Saw no problems. Let's watch and see if we can narrow the problem. For now I was able to test the pr I will be sending soon.
thanks, -- Shuah
linux-kselftest-mirror@lists.linaro.org