@@ -1392,7 +1392,8 @@ STACK_FRAME_NON_STANDARD(sev_jumptable_ap_park);
void sev_es_stop_this_cpu(void)
{
if (!(cc_vendor == CC_VENDOR_AMD) ||
- !cc_platform_has(CC_ATTR_GUEST_STATE_ENCRYPT))
+ !cc_platform_has(CC_ATTR_GUEST_STATE_ENCRYPT) ||
+ cc_platform_has(CC_ATTR_GUEST_SEV_SNP))
return;
/* Only park in the AP jump table when the code has been installed */
@@ -1468,6 +1469,9 @@ bool sev_kexec_supported(void)
if (!cc_platform_has(CC_ATTR_GUEST_STATE_ENCRYPT))
return true;
+ if (cc_platform_has(CC_ATTR_GUEST_SEV_SNP))
+ return false;
+
/*
* KEXEC with SEV-ES and more than one CPU is only supported
* when the AP jump table is installed.
@@ -80,8 +80,9 @@ static void __init sme_sev_setup_real_mode(struct trampoline_header *th)
*/
th->start = (u64) secondary_startup_64_no_verify;
- if (sev_es_setup_ap_jump_table(real_mode_header))
- panic("Failed to get/update SEV-ES AP Jump Table");
+ if (!cc_platform_has(CC_ATTR_GUEST_SEV_SNP))
+ if (sev_es_setup_ap_jump_table(real_mode_header))
+ panic("Failed to get/update SEV-ES AP Jump Table");
}
#endif
}