summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--target/i386/sev.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/target/i386/sev.c b/target/i386/sev.c
index dc0e53019b..35b9259bfc 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -753,6 +753,12 @@ int sev_kvm_init(ConfidentialGuestSupport *cgs, Error **errp)
     sev->api_minor = status.api_minor;
 
     if (sev_es_enabled()) {
+        if (!kvm_kernel_irqchip_allowed()) {
+            error_report("%s: SEV-ES guests require in-kernel irqchip support",
+                         __func__);
+            goto err;
+        }
+
         if (!(status.flags & SEV_STATUS_FLAGS_CONFIG_ES)) {
             error_report("%s: guest policy requires SEV-ES, but "
                          "host SEV-ES support unavailable",