432cb7
From ccaa1135bd1aa90c94f0e8b5417bd2a420134e6c Mon Sep 17 00:00:00 2001
432cb7
From: Jon Maloy <jmaloy@redhat.com>
432cb7
Date: Wed, 30 Mar 2022 14:52:34 -0400
432cb7
Subject: [PATCH 08/18] i386: Add Icelake-Server-v6 CPU model with 5-level EPT
432cb7
 support
432cb7
432cb7
RH-Author: Jon Maloy <jmaloy@redhat.com>
432cb7
RH-MergeRequest: 139: vmxcap: Add 5-level EPT bit
432cb7
RH-Commit: [2/2] e913746b2df9cbd0308014ab5cc72577458857fa (jmaloy/qemu-kvm)
432cb7
RH-Bugzilla: 2065207
432cb7
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
432cb7
432cb7
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2065207
432cb7
UPSTREAM: Merged
432cb7
432cb7
commit: 12cab535db6440af41ed8dfefe908a594321b6ce
432cb7
Author: Vitaly Kuznetsov <vkuznets@redhat.com>
432cb7
Date:   Mon Feb 21 15:53:15 2022 +0100
432cb7
432cb7
    i386: Add Icelake-Server-v6 CPU model with 5-level EPT support
432cb7
432cb7
    Windows 11 with WSL2 enabled (Hyper-V) fails to boot with Icelake-Server
432cb7
    {-v5} CPU model but boots well with '-cpu host'. Apparently, it expects
432cb7
    5-level paging and 5-level EPT support to come in pair but QEMU's
432cb7
    Icelake-Server CPU model lacks the later. Introduce 'Icelake-Server-v6'
432cb7
    CPU model with 'vmx-page-walk-5' enabled by default.
432cb7
432cb7
    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
432cb7
    Message-Id: <20220221145316.576138-1-vkuznets@redhat.com>
432cb7
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
432cb7
432cb7
(cherry picked from commit 12cab535db6440af41ed8dfefe908a594321b6ce)
432cb7
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
432cb7
---
432cb7
 target/i386/cpu.c | 8 ++++++++
432cb7
 1 file changed, 8 insertions(+)
432cb7
432cb7
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
432cb7
index aa9e636800..6e25d13339 100644
432cb7
--- a/target/i386/cpu.c
432cb7
+++ b/target/i386/cpu.c
432cb7
@@ -3505,6 +3505,14 @@ static const X86CPUDefinition builtin_x86_defs[] = {
432cb7
                     { /* end of list */ }
432cb7
                 },
432cb7
             },
432cb7
+            {
432cb7
+                .version = 6,
432cb7
+                .note = "5-level EPT",
432cb7
+                .props = (PropValue[]) {
432cb7
+                    { "vmx-page-walk-5", "on" },
432cb7
+                    { /* end of list */ }
432cb7
+                },
432cb7
+            },
432cb7
             { /* end of list */ }
432cb7
         }
432cb7
     },
432cb7
-- 
432cb7
2.27.0
432cb7