Blame SOURCES/kvm-i386-Add-Icelake-Server-v6-CPU-model-with-5-level-EP.patch

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