summaryrefslogtreecommitdiff
path: root/arch/x86/hyperv/hv_init.c
diff options
context:
space:
mode:
authorakpm <akpm@linux-foundation.org>2022-06-27 10:31:34 -0700
committerakpm <akpm@linux-foundation.org>2022-06-27 10:31:34 -0700
commit46a3b1125308f8f90a065eeecfafd2a96b01a36c (patch)
tree6e080118fbad5aa217d160cedf02f10108ce3bf2 /arch/x86/hyperv/hv_init.c
parent6edda04ccc7cfb281d139e352dbd5dd933bd2751 (diff)
parent03c765b0e3b4cb5063276b086c76f7a612856a9a (diff)
downloadlinux-46a3b1125308f8f90a065eeecfafd2a96b01a36c.tar.gz
linux-46a3b1125308f8f90a065eeecfafd2a96b01a36c.tar.bz2
linux-46a3b1125308f8f90a065eeecfafd2a96b01a36c.zip
Merge branch 'master' into mm-stable
Diffstat (limited to 'arch/x86/hyperv/hv_init.c')
-rw-r--r--arch/x86/hyperv/hv_init.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 8b392b6b7b93..3de6d8b53367 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -13,6 +13,7 @@
#include <linux/io.h>
#include <asm/apic.h>
#include <asm/desc.h>
+#include <asm/sev.h>
#include <asm/hypervisor.h>
#include <asm/hyperv-tlfs.h>
#include <asm/mshyperv.h>
@@ -405,6 +406,11 @@ void __init hyperv_init(void)
}
if (hv_isolation_type_snp()) {
+ /* Negotiate GHCB Version. */
+ if (!hv_ghcb_negotiate_protocol())
+ hv_ghcb_terminate(SEV_TERM_SET_GEN,
+ GHCB_SEV_ES_PROT_UNSUPPORTED);
+
hv_ghcb_pg = alloc_percpu(union hv_ghcb *);
if (!hv_ghcb_pg)
goto free_vp_assist_page;