mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 11:33:28 +02:00
KVM: SVM: Ensure PSP module is initialized if KVM module is built-in
The kernel's initcall infrastructure lacks the ability to express dependencies between initcalls, whereas the modules infrastructure automatically handles dependencies via symbol loading. Ensure the PSP SEV driver is initialized before proceeding in sev_hardware_setup() if KVM is built-in as the dependency isn't handled by the initcall infrastructure. Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Ashish Kalra <ashish.kalra@amd.com> Link: https://lore.kernel.org/r/f78ddb64087df27e7bcb1ae0ab53f55aa0804fab.1739226950.git.ashish.kalra@amd.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
f73542501f
commit
a6136669da
|
|
@ -2951,6 +2951,16 @@ void __init sev_hardware_setup(void)
|
|||
WARN_ON_ONCE(!boot_cpu_has(X86_FEATURE_FLUSHBYASID)))
|
||||
goto out;
|
||||
|
||||
/*
|
||||
* The kernel's initcall infrastructure lacks the ability to express
|
||||
* dependencies between initcalls, whereas the modules infrastructure
|
||||
* automatically handles dependencies via symbol loading. Ensure the
|
||||
* PSP SEV driver is initialized before proceeding if KVM is built-in,
|
||||
* as the dependency isn't handled by the initcall infrastructure.
|
||||
*/
|
||||
if (IS_BUILTIN(CONFIG_KVM_AMD) && sev_module_init())
|
||||
goto out;
|
||||
|
||||
/* Retrieve SEV CPUID information */
|
||||
cpuid(0x8000001f, &eax, &ebx, &ecx, &edx);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user