Compare commits
2 Commits
1db12647b5
...
f61dc4579f
Author | SHA1 | Date |
---|---|---|
Jiri Denemark | f61dc4579f | |
Jiri Denemark | f956802388 |
|
@ -0,0 +1 @@
|
|||
7a2e402bfb1ad295544de6cd527c4c04e85c5096 libvirt-10.0.0.tar.xz
|
|
@ -0,0 +1,365 @@
|
|||
From 81b99c17370a8cc9a251b84635d75e40beb13ba5 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <81b99c17370a8cc9a251b84635d75e40beb13ba5.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:00:15 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Broadwell*
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit ce330dd7e5405573c77801a418345804049315ab)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Broadwell-IBRS.xml | 75 ++++++++++++++++++++++++
|
||||
src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 75 ++++++++++++++++++++++++
|
||||
src/cpu_map/x86_Broadwell-noTSX.xml | 75 ++++++++++++++++++++++++
|
||||
src/cpu_map/x86_Broadwell.xml | 75 ++++++++++++++++++++++++
|
||||
4 files changed, 300 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Broadwell-IBRS.xml b/src/cpu_map/x86_Broadwell-IBRS.xml
|
||||
index 9033d5fcd5..1484903298 100644
|
||||
--- a/src/cpu_map/x86_Broadwell-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_Broadwell-IBRS.xml
|
||||
@@ -59,6 +59,81 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
diff --git a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml
|
||||
index c044b60e36..13f08435b7 100644
|
||||
--- a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml
|
||||
@@ -57,6 +57,81 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
diff --git a/src/cpu_map/x86_Broadwell-noTSX.xml b/src/cpu_map/x86_Broadwell-noTSX.xml
|
||||
index 637f29ba1c..4293b3aeee 100644
|
||||
--- a/src/cpu_map/x86_Broadwell-noTSX.xml
|
||||
+++ b/src/cpu_map/x86_Broadwell-noTSX.xml
|
||||
@@ -56,6 +56,81 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
diff --git a/src/cpu_map/x86_Broadwell.xml b/src/cpu_map/x86_Broadwell.xml
|
||||
index 82939a4509..37dd1dabcf 100644
|
||||
--- a/src/cpu_map/x86_Broadwell.xml
|
||||
+++ b/src/cpu_map/x86_Broadwell.xml
|
||||
@@ -58,6 +58,81 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,191 @@
|
|||
From 1592ad837411f194692e021f6fb8dd1e6f3ac935 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <1592ad837411f194692e021f6fb8dd1e6f3ac935.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:01:25 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Cascadelake*
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit 5db61952252fa2ab88cc79f064f8f1b61b6c95cb)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 76 ++++++++++++++++++++
|
||||
src/cpu_map/x86_Cascadelake-Server.xml | 74 +++++++++++++++++++
|
||||
2 files changed, 150 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
|
||||
index bfd4629836..056f43d088 100644
|
||||
--- a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
|
||||
+++ b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
|
||||
@@ -70,6 +70,82 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
+ <feature name='vmx-xsaves' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xgetbv1'/>
|
||||
<feature name='xsave'/>
|
||||
diff --git a/src/cpu_map/x86_Cascadelake-Server.xml b/src/cpu_map/x86_Cascadelake-Server.xml
|
||||
index 335e9cb584..88e51c2067 100644
|
||||
--- a/src/cpu_map/x86_Cascadelake-Server.xml
|
||||
+++ b/src/cpu_map/x86_Cascadelake-Server.xml
|
||||
@@ -72,6 +72,80 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xgetbv1'/>
|
||||
<feature name='xsave'/>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,54 @@
|
|||
From 7b3b3f4195380a91b21b891f1db666f58171f10f Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <7b3b3f4195380a91b21b891f1db666f58171f10f.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:04:45 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Conroe
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit 9cb8c372cd75647e09fac96e6995adab5e8dde79)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Conroe.xml | 26 ++++++++++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Conroe.xml b/src/cpu_map/x86_Conroe.xml
|
||||
index 4cacee6142..955297ffc3 100644
|
||||
--- a/src/cpu_map/x86_Conroe.xml
|
||||
+++ b/src/cpu_map/x86_Conroe.xml
|
||||
@@ -31,5 +31,31 @@
|
||||
<feature name='ssse3'/>
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
</model>
|
||||
</cpus>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,105 @@
|
|||
From c1aa9d01500cda0ee335fc7d52650179a634e0e3 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <c1aa9d01500cda0ee335fc7d52650179a634e0e3.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:05:01 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Cooperlake
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit cbee851581fc82ea95d7b6309b85e22f9d1ba0d3)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Cooperlake.xml | 76 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 76 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Cooperlake.xml b/src/cpu_map/x86_Cooperlake.xml
|
||||
index ceca687334..af428f2781 100644
|
||||
--- a/src/cpu_map/x86_Cooperlake.xml
|
||||
+++ b/src/cpu_map/x86_Cooperlake.xml
|
||||
@@ -81,6 +81,82 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
+ <feature name='vmx-xsaves' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xgetbv1'/>
|
||||
<feature name='xsave'/>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,357 @@
|
|||
From 4923a152e7d5241ec6e7e64ed8338ea97cd10487 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <4923a152e7d5241ec6e7e64ed8338ea97cd10487.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:01:50 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Haswell*
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit b44679c31f2d46e88ce655c03aef4c3e9ab621ac)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Haswell-IBRS.xml | 73 ++++++++++++++++++++++++++
|
||||
src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 73 ++++++++++++++++++++++++++
|
||||
src/cpu_map/x86_Haswell-noTSX.xml | 73 ++++++++++++++++++++++++++
|
||||
src/cpu_map/x86_Haswell.xml | 73 ++++++++++++++++++++++++++
|
||||
4 files changed, 292 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Haswell-IBRS.xml b/src/cpu_map/x86_Haswell-IBRS.xml
|
||||
index 0ffe2bae0d..57b980d14f 100644
|
||||
--- a/src/cpu_map/x86_Haswell-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_Haswell-IBRS.xml
|
||||
@@ -55,6 +55,79 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
diff --git a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml
|
||||
index 75d709c009..fcae023ffb 100644
|
||||
--- a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml
|
||||
@@ -53,6 +53,79 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
diff --git a/src/cpu_map/x86_Haswell-noTSX.xml b/src/cpu_map/x86_Haswell-noTSX.xml
|
||||
index b0a0faa856..7404052065 100644
|
||||
--- a/src/cpu_map/x86_Haswell-noTSX.xml
|
||||
+++ b/src/cpu_map/x86_Haswell-noTSX.xml
|
||||
@@ -52,6 +52,79 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
diff --git a/src/cpu_map/x86_Haswell.xml b/src/cpu_map/x86_Haswell.xml
|
||||
index ee16b30f19..99986c5c45 100644
|
||||
--- a/src/cpu_map/x86_Haswell.xml
|
||||
+++ b/src/cpu_map/x86_Haswell.xml
|
||||
@@ -54,6 +54,79 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,190 @@
|
|||
From ecda5a00bea069744db5b0d47da7f9c6b65230f2 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <ecda5a00bea069744db5b0d47da7f9c6b65230f2.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:02:47 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Icelake*
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit a6f3eafc402fbaf18b2e23e93c8c7339317c7d97)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Icelake-Server-noTSX.xml | 77 ++++++++++++++++++++++++
|
||||
src/cpu_map/x86_Icelake-Server.xml | 72 ++++++++++++++++++++++
|
||||
2 files changed, 149 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Icelake-Server-noTSX.xml b/src/cpu_map/x86_Icelake-Server-noTSX.xml
|
||||
index 7c9c32c977..072f8145c4 100644
|
||||
--- a/src/cpu_map/x86_Icelake-Server-noTSX.xml
|
||||
+++ b/src/cpu_map/x86_Icelake-Server-noTSX.xml
|
||||
@@ -80,6 +80,83 @@
|
||||
<feature name='umip'/>
|
||||
<feature name='vaes'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-5' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
+ <feature name='vmx-xsaves' added='yes'/>
|
||||
<feature name='vpclmulqdq'/>
|
||||
<feature name='wbnoinvd'/>
|
||||
<feature name='x2apic'/>
|
||||
diff --git a/src/cpu_map/x86_Icelake-Server.xml b/src/cpu_map/x86_Icelake-Server.xml
|
||||
index b4685bead0..3a35145d7f 100644
|
||||
--- a/src/cpu_map/x86_Icelake-Server.xml
|
||||
+++ b/src/cpu_map/x86_Icelake-Server.xml
|
||||
@@ -82,6 +82,78 @@
|
||||
<feature name='umip'/>
|
||||
<feature name='vaes'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='vpclmulqdq'/>
|
||||
<feature name='wbnoinvd'/>
|
||||
<feature name='x2apic'/>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,175 @@
|
|||
From 128ced3f69e7d78ca544dc704a9be869060949c5 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <128ced3f69e7d78ca544dc704a9be869060949c5.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:04:01 +0100
|
||||
Subject: [PATCH] Add vmx-* features to IvyBridge*
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit 4b707f8bb0003b87f67474bfac02a2feac26c96f)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_IvyBridge-IBRS.xml | 67 ++++++++++++++++++++++++++++++
|
||||
src/cpu_map/x86_IvyBridge.xml | 67 ++++++++++++++++++++++++++++++
|
||||
2 files changed, 134 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_IvyBridge-IBRS.xml b/src/cpu_map/x86_IvyBridge-IBRS.xml
|
||||
index 430bc3232d..27d85d86c4 100644
|
||||
--- a/src/cpu_map/x86_IvyBridge-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_IvyBridge-IBRS.xml
|
||||
@@ -47,6 +47,73 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
diff --git a/src/cpu_map/x86_IvyBridge.xml b/src/cpu_map/x86_IvyBridge.xml
|
||||
index eaf5d02e82..72031cfdc6 100644
|
||||
--- a/src/cpu_map/x86_IvyBridge.xml
|
||||
+++ b/src/cpu_map/x86_IvyBridge.xml
|
||||
@@ -46,6 +46,73 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,161 @@
|
|||
From 059a3289bce7bf6bc363294a06eee8ad4ba46aa2 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <059a3289bce7bf6bc363294a06eee8ad4ba46aa2.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:04:21 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Nehalem*
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit a539910c942f5993b967f8265756e3a10363e4f4)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Nehalem-IBRS.xml | 61 ++++++++++++++++++++++++++++++++
|
||||
src/cpu_map/x86_Nehalem.xml | 61 ++++++++++++++++++++++++++++++++
|
||||
2 files changed, 122 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Nehalem-IBRS.xml b/src/cpu_map/x86_Nehalem-IBRS.xml
|
||||
index 00d0d2fe51..0cfee14c0f 100644
|
||||
--- a/src/cpu_map/x86_Nehalem-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_Nehalem-IBRS.xml
|
||||
@@ -38,5 +38,66 @@
|
||||
<feature name='ssse3'/>
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
</model>
|
||||
</cpus>
|
||||
diff --git a/src/cpu_map/x86_Nehalem.xml b/src/cpu_map/x86_Nehalem.xml
|
||||
index 9968001fe7..74ee64ce1c 100644
|
||||
--- a/src/cpu_map/x86_Nehalem.xml
|
||||
+++ b/src/cpu_map/x86_Nehalem.xml
|
||||
@@ -37,5 +37,66 @@
|
||||
<feature name='ssse3'/>
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
</model>
|
||||
</cpus>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,57 @@
|
|||
From 38441bf5e996882e8cefd0c2eb7501a7ae832b50 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <38441bf5e996882e8cefd0c2eb7501a7ae832b50.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:05:20 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Penryn
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit c6fadbb2807c80bd2b812eebd932eb4a34067ccd)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Penryn.xml | 29 +++++++++++++++++++++++++++++
|
||||
1 file changed, 29 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Penryn.xml b/src/cpu_map/x86_Penryn.xml
|
||||
index 29d4cd635b..b31f96fa43 100644
|
||||
--- a/src/cpu_map/x86_Penryn.xml
|
||||
+++ b/src/cpu_map/x86_Penryn.xml
|
||||
@@ -33,5 +33,34 @@
|
||||
<feature name='ssse3'/>
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
</model>
|
||||
</cpus>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,167 @@
|
|||
From 0a90b4edc589dcb624dd44909456bca029520851 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <0a90b4edc589dcb624dd44909456bca029520851.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:03:18 +0100
|
||||
Subject: [PATCH] Add vmx-* features to SandyBridge*
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit 29d492d6488e35db2e96a017ac3fb2712dcb638c)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_SandyBridge-IBRS.xml | 63 ++++++++++++++++++++++++++++
|
||||
src/cpu_map/x86_SandyBridge.xml | 63 ++++++++++++++++++++++++++++
|
||||
2 files changed, 126 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_SandyBridge-IBRS.xml b/src/cpu_map/x86_SandyBridge-IBRS.xml
|
||||
index fbdb4f2bf6..297eea8e88 100644
|
||||
--- a/src/cpu_map/x86_SandyBridge-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_SandyBridge-IBRS.xml
|
||||
@@ -41,6 +41,69 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
diff --git a/src/cpu_map/x86_SandyBridge.xml b/src/cpu_map/x86_SandyBridge.xml
|
||||
index 7c85ed42df..20ea378c47 100644
|
||||
--- a/src/cpu_map/x86_SandyBridge.xml
|
||||
+++ b/src/cpu_map/x86_SandyBridge.xml
|
||||
@@ -40,6 +40,69 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xsave'/>
|
||||
</model>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,106 @@
|
|||
From 7aff7ca069e1a271bfd4aab03b61651b199b5079 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <7aff7ca069e1a271bfd4aab03b61651b199b5079.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:05:34 +0100
|
||||
Subject: [PATCH] Add vmx-* features to SapphireRapids
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit e67004ec1cec850baa65177d88c6db09376869d3)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_SapphireRapids.xml | 77 ++++++++++++++++++++++++++++++
|
||||
1 file changed, 77 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_SapphireRapids.xml b/src/cpu_map/x86_SapphireRapids.xml
|
||||
index 2297feeeca..40164a47e2 100644
|
||||
--- a/src/cpu_map/x86_SapphireRapids.xml
|
||||
+++ b/src/cpu_map/x86_SapphireRapids.xml
|
||||
@@ -103,6 +103,83 @@
|
||||
<feature name='umip'/>
|
||||
<feature name='vaes'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-5' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
+ <feature name='vmx-xsaves' added='yes'/>
|
||||
<feature name='vpclmulqdq'/>
|
||||
<feature name='wbnoinvd'/>
|
||||
<feature name='x2apic'/>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,527 @@
|
|||
From ea9f38c82d1045434c03e44dfdd8b32760b643a3 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <ea9f38c82d1045434c03e44dfdd8b32760b643a3.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:00:53 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Skylake*
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit aa064b38fdbafd39d296a0933b7d1b8987eb4cb5)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Skylake-Client-IBRS.xml | 71 +++++++++++++++++
|
||||
src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 72 ++++++++++++++++++
|
||||
src/cpu_map/x86_Skylake-Client.xml | 71 +++++++++++++++++
|
||||
src/cpu_map/x86_Skylake-Server-IBRS.xml | 74 ++++++++++++++++++
|
||||
src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 76 +++++++++++++++++++
|
||||
src/cpu_map/x86_Skylake-Server.xml | 74 ++++++++++++++++++
|
||||
6 files changed, 438 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Skylake-Client-IBRS.xml b/src/cpu_map/x86_Skylake-Client-IBRS.xml
|
||||
index 5709e7c2f9..1c77f9595b 100644
|
||||
--- a/src/cpu_map/x86_Skylake-Client-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_Skylake-Client-IBRS.xml
|
||||
@@ -67,6 +67,77 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xgetbv1'/>
|
||||
<feature name='xsave'/>
|
||||
diff --git a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
|
||||
index ffba34502a..dca117028c 100644
|
||||
--- a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
|
||||
@@ -65,6 +65,78 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
+ <feature name='vmx-xsaves' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xgetbv1'/>
|
||||
<feature name='xsave'/>
|
||||
diff --git a/src/cpu_map/x86_Skylake-Client.xml b/src/cpu_map/x86_Skylake-Client.xml
|
||||
index 14cd57e176..68e5d2d038 100644
|
||||
--- a/src/cpu_map/x86_Skylake-Client.xml
|
||||
+++ b/src/cpu_map/x86_Skylake-Client.xml
|
||||
@@ -66,6 +66,77 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xgetbv1'/>
|
||||
<feature name='xsave'/>
|
||||
diff --git a/src/cpu_map/x86_Skylake-Server-IBRS.xml b/src/cpu_map/x86_Skylake-Server-IBRS.xml
|
||||
index 9fb3488809..e467b76242 100644
|
||||
--- a/src/cpu_map/x86_Skylake-Server-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_Skylake-Server-IBRS.xml
|
||||
@@ -69,6 +69,80 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xgetbv1'/>
|
||||
<feature name='xsave'/>
|
||||
diff --git a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
|
||||
index c162c0acc3..b8601da0cb 100644
|
||||
--- a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
|
||||
@@ -67,6 +67,82 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
+ <feature name='vmx-xsaves' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xgetbv1'/>
|
||||
<feature name='xsave'/>
|
||||
diff --git a/src/cpu_map/x86_Skylake-Server.xml b/src/cpu_map/x86_Skylake-Server.xml
|
||||
index e022d94c84..cc1e9ddd7f 100644
|
||||
--- a/src/cpu_map/x86_Skylake-Server.xml
|
||||
+++ b/src/cpu_map/x86_Skylake-Server.xml
|
||||
@@ -68,6 +68,80 @@
|
||||
<feature name='tsc'/>
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xgetbv1'/>
|
||||
<feature name='xsave'/>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,105 @@
|
|||
From f17c2fa0717df3131262141d1167e3e29ed10442 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <f17c2fa0717df3131262141d1167e3e29ed10442.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:05:53 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Snowridge
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit 64e3c1138a81b98f14e5f1aa1e8e2bb85cfdd1e5)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Snowridge.xml | 76 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 76 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Snowridge.xml b/src/cpu_map/x86_Snowridge.xml
|
||||
index 383a24d367..bc410bd8f8 100644
|
||||
--- a/src/cpu_map/x86_Snowridge.xml
|
||||
+++ b/src/cpu_map/x86_Snowridge.xml
|
||||
@@ -62,6 +62,82 @@
|
||||
<feature name='tsc-deadline'/>
|
||||
<feature name='umip'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-register' added='yes'/>
|
||||
+ <feature name='vmx-apicv-vid' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-eptad' added='yes'/>
|
||||
+ <feature name='vmx-eptp-switching' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invpcid-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-pml' added='yes'/>
|
||||
+ <feature name='vmx-posted-intr' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdrand-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdseed-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-shadow-vmcs' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vmfunc' added='yes'/>
|
||||
+ <feature name='vmx-vmwrite-vmexit-fields' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
+ <feature name='vmx-xsaves' added='yes'/>
|
||||
<feature name='x2apic'/>
|
||||
<feature name='xgetbv1'/>
|
||||
<feature name='xsave'/>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,165 @@
|
|||
From 2ae337df8f993676695796819447e9601d611a0b Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <2ae337df8f993676695796819447e9601d611a0b.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:03:38 +0100
|
||||
Subject: [PATCH] Add vmx-* features to Westmere*
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit 6898b7cd8d61d46db7e92f6cf81daf085b85f724)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_Westmere-IBRS.xml | 63 +++++++++++++++++++++++++++++++
|
||||
src/cpu_map/x86_Westmere.xml | 63 +++++++++++++++++++++++++++++++
|
||||
2 files changed, 126 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_Westmere-IBRS.xml b/src/cpu_map/x86_Westmere-IBRS.xml
|
||||
index c7898f0c22..a5abe8a1e1 100644
|
||||
--- a/src/cpu_map/x86_Westmere-IBRS.xml
|
||||
+++ b/src/cpu_map/x86_Westmere-IBRS.xml
|
||||
@@ -36,5 +36,68 @@
|
||||
<feature name='ssse3'/>
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
</model>
|
||||
</cpus>
|
||||
diff --git a/src/cpu_map/x86_Westmere.xml b/src/cpu_map/x86_Westmere.xml
|
||||
index 16e4ad6c30..161f1a078e 100644
|
||||
--- a/src/cpu_map/x86_Westmere.xml
|
||||
+++ b/src/cpu_map/x86_Westmere.xml
|
||||
@@ -37,5 +37,68 @@
|
||||
<feature name='ssse3'/>
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-x2apic' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr3-load-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr3-store-noexit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-desc-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-entry-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-entry-noload-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-ept' added='yes'/>
|
||||
+ <feature name='vmx-ept-1gb' added='yes'/>
|
||||
+ <feature name='vmx-ept-2mb' added='yes'/>
|
||||
+ <feature name='vmx-ept-execonly' added='yes'/>
|
||||
+ <feature name='vmx-ept-wb' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-load-perf-global-ctrl' added='yes'/>
|
||||
+ <feature name='vmx-exit-nosave-debugctl' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-efer' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-pat' added='yes'/>
|
||||
+ <feature name='vmx-exit-save-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invept' added='yes'/>
|
||||
+ <feature name='vmx-invept-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invept-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-invvpid' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-all-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-addr' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context' added='yes'/>
|
||||
+ <feature name='vmx-invvpid-single-context-noglobals' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mtf' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-page-walk-4' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-preemption-timer' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtscp-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-store-lma' added='yes'/>
|
||||
+ <feature name='vmx-true-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-unrestricted-guest' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
+ <feature name='vmx-vpid' added='yes'/>
|
||||
+ <feature name='vmx-wbinvd-exit' added='yes'/>
|
||||
</model>
|
||||
</cpus>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,83 @@
|
|||
From dffe71c5a042c9b5c856f24a681d4f1ee5910041 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <dffe71c5a042c9b5c856f24a681d4f1ee5910041.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:06:13 +0100
|
||||
Subject: [PATCH] Add vmx-* features to core{,2}duo
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit 823c7005a3b0d5275b30ca811479995bfa5820e9)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_core2duo.xml | 26 ++++++++++++++++++++++++++
|
||||
src/cpu_map/x86_coreduo.xml | 18 ++++++++++++++++++
|
||||
2 files changed, 44 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_core2duo.xml b/src/cpu_map/x86_core2duo.xml
|
||||
index 412039fe55..ea23a6c662 100644
|
||||
--- a/src/cpu_map/x86_core2duo.xml
|
||||
+++ b/src/cpu_map/x86_core2duo.xml
|
||||
@@ -30,5 +30,31 @@
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-apicv-xapic' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-ins-outs' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-secondary-ctls' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
+ <feature name='vmx-vnmi' added='yes'/>
|
||||
+ <feature name='vmx-vnmi-pending' added='yes'/>
|
||||
</model>
|
||||
</cpus>
|
||||
diff --git a/src/cpu_map/x86_coreduo.xml b/src/cpu_map/x86_coreduo.xml
|
||||
index e2fda9a1d4..24900e637f 100644
|
||||
--- a/src/cpu_map/x86_coreduo.xml
|
||||
+++ b/src/cpu_map/x86_coreduo.xml
|
||||
@@ -26,5 +26,23 @@
|
||||
<feature name='sse2'/>
|
||||
<feature name='tsc'/>
|
||||
<feature name='vme'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
</model>
|
||||
</cpus>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,77 @@
|
|||
From aa91aa81914303cfdd50fb695a23480d6daa11b1 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <aa91aa81914303cfdd50fb695a23480d6daa11b1.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:06:37 +0100
|
||||
Subject: [PATCH] Add vmx-* features to kvm*
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
(cherry picked from commit 1d03f78c5d0fa2d3422e76bef4c9369ab623bd52)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu_map/x86_kvm32.xml | 18 ++++++++++++++++++
|
||||
src/cpu_map/x86_kvm64.xml | 20 ++++++++++++++++++++
|
||||
2 files changed, 38 insertions(+)
|
||||
|
||||
diff --git a/src/cpu_map/x86_kvm32.xml b/src/cpu_map/x86_kvm32.xml
|
||||
index 9dd96d5b56..ac28c53bd0 100644
|
||||
--- a/src/cpu_map/x86_kvm32.xml
|
||||
+++ b/src/cpu_map/x86_kvm32.xml
|
||||
@@ -23,5 +23,23 @@
|
||||
<feature name='sse'/>
|
||||
<feature name='sse2'/>
|
||||
<feature name='tsc'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-msr-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
</model>
|
||||
</cpus>
|
||||
diff --git a/src/cpu_map/x86_kvm64.xml b/src/cpu_map/x86_kvm64.xml
|
||||
index 185af06f78..970a8e73d5 100644
|
||||
--- a/src/cpu_map/x86_kvm64.xml
|
||||
+++ b/src/cpu_map/x86_kvm64.xml
|
||||
@@ -27,5 +27,25 @@
|
||||
<feature name='sse2'/>
|
||||
<feature name='syscall'/>
|
||||
<feature name='tsc'/>
|
||||
+ <feature name='vmx-activity-hlt' added='yes'/>
|
||||
+ <feature name='vmx-cr8-load-exit' added='yes'/>
|
||||
+ <feature name='vmx-cr8-store-exit' added='yes'/>
|
||||
+ <feature name='vmx-entry-ia32e-mode' added='yes'/>
|
||||
+ <feature name='vmx-exit-ack-intr' added='yes'/>
|
||||
+ <feature name='vmx-flexpriority' added='yes'/>
|
||||
+ <feature name='vmx-hlt-exit' added='yes'/>
|
||||
+ <feature name='vmx-intr-exit' added='yes'/>
|
||||
+ <feature name='vmx-invlpg-exit' added='yes'/>
|
||||
+ <feature name='vmx-io-bitmap' added='yes'/>
|
||||
+ <feature name='vmx-io-exit' added='yes'/>
|
||||
+ <feature name='vmx-monitor-exit' added='yes'/>
|
||||
+ <feature name='vmx-movdr-exit' added='yes'/>
|
||||
+ <feature name='vmx-mwait-exit' added='yes'/>
|
||||
+ <feature name='vmx-nmi-exit' added='yes'/>
|
||||
+ <feature name='vmx-pause-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdpmc-exit' added='yes'/>
|
||||
+ <feature name='vmx-rdtsc-exit' added='yes'/>
|
||||
+ <feature name='vmx-tsc-offset' added='yes'/>
|
||||
+ <feature name='vmx-vintr-pending' added='yes'/>
|
||||
</model>
|
||||
</cpus>
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,44 @@
|
|||
From 676946491ea25cacc4f6fd11f27bd9989b84767d Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <676946491ea25cacc4f6fd11f27bd9989b84767d.1708614745.git.jdenemar@redhat.com>
|
||||
From: Laine Stump <laine@redhat.com>
|
||||
Date: Fri, 16 Feb 2024 12:43:59 -0500
|
||||
Subject: [PATCH] Set stubDriverName from hostdev driver model attribute during
|
||||
pci device setup
|
||||
|
||||
commit v9.10.0-129-g8b93d78c83 (first appearing in libvirt-10.0.0) was
|
||||
supposed to allow forcing a PCI hostdev to be bound to a particular
|
||||
driver by adding <driver model='blah'/> to the XML for the
|
||||
device. Unfortunately, a single line was missed during the final
|
||||
changes to the patch prior to pushing, and the result was that the
|
||||
driver model could be set to *anything* and it would be accepted but
|
||||
just ignored.
|
||||
|
||||
This patch adds the missing line, which will set the stubDriverName
|
||||
field of the virPCIDevice object from the hostdev object as the
|
||||
virPCIDevice is being created. This ends up being used by
|
||||
virPCIDeviceBindToStub() as the driver that it binds the device to.
|
||||
|
||||
Fixes: 8b93d78c8325f1fba5db98848350f3db43f5e7d5
|
||||
Signed-off-by: Laine Stump <laine@redhat.com>
|
||||
Reviewed-by: Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
(cherry picked from commit 41fe8524870facae02be067097ea494c475d77f0)
|
||||
|
||||
https://issues.redhat.com/browse/RHEL-25858 [9.4.0]
|
||||
---
|
||||
src/hypervisor/virhostdev.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/hypervisor/virhostdev.c b/src/hypervisor/virhostdev.c
|
||||
index 40f8a4bc2c..185ec2ca50 100644
|
||||
--- a/src/hypervisor/virhostdev.c
|
||||
+++ b/src/hypervisor/virhostdev.c
|
||||
@@ -242,6 +242,7 @@ virHostdevGetPCIHostDevice(const virDomainHostdevDef *hostdev,
|
||||
return -1;
|
||||
|
||||
virPCIDeviceSetManaged(actual, hostdev->managed);
|
||||
+ virPCIDeviceSetStubDriverName(actual, pcisrc->driver.model);
|
||||
|
||||
if (pcisrc->driver.name == VIR_DEVICE_HOSTDEV_PCI_DRIVER_NAME_VFIO) {
|
||||
virPCIDeviceSetStubDriverType(actual, VIR_PCI_STUB_DRIVER_VFIO);
|
||||
--
|
||||
2.43.2
|
|
@ -0,0 +1,85 @@
|
|||
From a48b3aaee795cdd57b709326821b3648521bc687 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <a48b3aaee795cdd57b709326821b3648521bc687.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Mon, 11 Mar 2024 15:37:32 +0100
|
||||
Subject: [PATCH] conf: cpu: Introduce virCPUDefListFeatures
|
||||
|
||||
The function returns a list of explicitly mentioned features in the CPU
|
||||
definition.
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
(cherry picked from commit 577c4ca414b26c8586f2586978e55c948bec0a32)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/conf/cpu_conf.c | 24 ++++++++++++++++++++++++
|
||||
src/conf/cpu_conf.h | 3 +++
|
||||
src/libvirt_private.syms | 1 +
|
||||
3 files changed, 28 insertions(+)
|
||||
|
||||
diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c
|
||||
index 6e6e1b9a89..4dca7e57ec 100644
|
||||
--- a/src/conf/cpu_conf.c
|
||||
+++ b/src/conf/cpu_conf.c
|
||||
@@ -982,6 +982,30 @@ virCPUDefFindFeature(const virCPUDef *def,
|
||||
}
|
||||
|
||||
|
||||
+/**
|
||||
+ * virCPUDefListExplicitFeatures:
|
||||
+ * @def: CPU definition
|
||||
+ *
|
||||
+ * Provides a list of feature names explicitly mentioned in the CPU definition
|
||||
+ * regardless of the policy. The caller is responsible for freeing the list.
|
||||
+ *
|
||||
+ * Returns a NULL-terminated list of feature names.
|
||||
+ */
|
||||
+char **
|
||||
+virCPUDefListExplicitFeatures(const virCPUDef *def)
|
||||
+{
|
||||
+ char **list;
|
||||
+ size_t i;
|
||||
+
|
||||
+ list = g_new0(char *, def->nfeatures + 1);
|
||||
+
|
||||
+ for (i = 0; i < def->nfeatures; i++)
|
||||
+ list[i] = g_strdup(def->features[i].name);
|
||||
+
|
||||
+ return list;
|
||||
+}
|
||||
+
|
||||
+
|
||||
int
|
||||
virCPUDefFilterFeatures(virCPUDef *cpu,
|
||||
virCPUDefFeatureFilter filter,
|
||||
diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h
|
||||
index 2694022fed..b10c23ee82 100644
|
||||
--- a/src/conf/cpu_conf.h
|
||||
+++ b/src/conf/cpu_conf.h
|
||||
@@ -270,6 +270,9 @@ virCPUDefCheckFeatures(virCPUDef *cpu,
|
||||
void *opaque,
|
||||
char ***features);
|
||||
|
||||
+char **
|
||||
+virCPUDefListExplicitFeatures(const virCPUDef *def);
|
||||
+
|
||||
virCPUDef **
|
||||
virCPUDefListParse(const char **xmlCPUs,
|
||||
unsigned int ncpus,
|
||||
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
|
||||
index d168f45f2d..575fd32ff8 100644
|
||||
--- a/src/libvirt_private.syms
|
||||
+++ b/src/libvirt_private.syms
|
||||
@@ -111,6 +111,7 @@ virCPUDefFree;
|
||||
virCPUDefFreeFeatures;
|
||||
virCPUDefFreeModel;
|
||||
virCPUDefIsEqual;
|
||||
+virCPUDefListExplicitFeatures;
|
||||
virCPUDefListFree;
|
||||
virCPUDefListParse;
|
||||
virCPUDefNew;
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,219 @@
|
|||
From de176e6a70792a9da93e3e2604179858a65191fa Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <de176e6a70792a9da93e3e2604179858a65191fa.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 14:50:48 +0100
|
||||
Subject: [PATCH] cpu: x86: Add support for adding features to existing CPU
|
||||
models
|
||||
|
||||
This is not a good idea in general, but we can (and have to) do it in
|
||||
specific cases when a feature has always been part of a CPU model in
|
||||
hypervisor's definition, but we ignored it and did not include the
|
||||
feature in our definition.
|
||||
|
||||
Blindly adding the features to the CPU map and not adding them to
|
||||
existing CPU models breaks migration between old and new libvirt in both
|
||||
directions. New libvirt would complain the features got unexpectedly
|
||||
enabled (as they were not mentioned in the incoming domain XML) even
|
||||
though they were also enabled on the source and the old libvirt just
|
||||
didn't know about them. On the other hand, old libvirt would refuse to
|
||||
accept incoming migration of a domain started by new libvirt because the
|
||||
domain XML would contain CPU features unknown to the old libvirt.
|
||||
|
||||
This is exactly what happened when several vmx-* features were added a
|
||||
few releases back. Migration between libvirt releases before and after
|
||||
the addition is now broken.
|
||||
|
||||
This patch adds support for added these features to existing CPU models
|
||||
by marking them with added='yes'. The features will not be considered
|
||||
part of the CPU model and will be described explicitly via additional
|
||||
<feature/> elements, but the compatibility check will not complain if
|
||||
they are enabled by the hypervisor even though they were not explicitly
|
||||
mentioned in the CPU definition and incoming migration from old libvirt
|
||||
will succeed.
|
||||
|
||||
To fix outgoing migration to old libvirt, we also need to drop all those
|
||||
features from domain XML unless they were explicitly requested by the
|
||||
user. This will be handled by a later patch.
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
(cherry picked from commit 5fbfa5ab8a3bf914d2deacd0d281b16aafd593b5)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/cpu/cpu_x86.c | 74 ++++++++++++++++++++++++++++++++++++++--
|
||||
src/cpu/cpu_x86.h | 3 ++
|
||||
src/libvirt_private.syms | 1 +
|
||||
3 files changed, 75 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
|
||||
index 6b2531b360..f31ff22d47 100644
|
||||
--- a/src/cpu/cpu_x86.c
|
||||
+++ b/src/cpu/cpu_x86.c
|
||||
@@ -148,6 +148,17 @@ struct _virCPUx86Model {
|
||||
virCPUx86Signatures *signatures;
|
||||
virCPUx86Data data;
|
||||
GStrv removedFeatures;
|
||||
+
|
||||
+ /* Features added to the CPU model after its original version was released.
|
||||
+ * Such features are not really considered part of the model, but the
|
||||
+ * compatibility check will not complain if they are enabled by the
|
||||
+ * hypervisor even though they were not explicitly mentioned in the CPU
|
||||
+ * definition. This should only be used for features which were always
|
||||
+ * included in the CPU model by the hypervisor, but libvirt didn't support
|
||||
+ * them when introducing the CPU model. In other words, they were enabled,
|
||||
+ * but we ignored them.
|
||||
+ */
|
||||
+ GStrv addedFeatures;
|
||||
};
|
||||
|
||||
typedef struct _virCPUx86Map virCPUx86Map;
|
||||
@@ -1276,6 +1287,7 @@ x86ModelFree(virCPUx86Model *model)
|
||||
virCPUx86SignaturesFree(model->signatures);
|
||||
virCPUx86DataClear(&model->data);
|
||||
g_strfreev(model->removedFeatures);
|
||||
+ g_strfreev(model->addedFeatures);
|
||||
g_free(model);
|
||||
}
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virCPUx86Model, x86ModelFree);
|
||||
@@ -1291,6 +1303,7 @@ x86ModelCopy(virCPUx86Model *model)
|
||||
copy->signatures = virCPUx86SignaturesCopy(model->signatures);
|
||||
x86DataCopy(©->data, &model->data);
|
||||
copy->removedFeatures = g_strdupv(model->removedFeatures);
|
||||
+ copy->addedFeatures = g_strdupv(model->addedFeatures);
|
||||
copy->vendor = model->vendor;
|
||||
|
||||
return g_steal_pointer(©);
|
||||
@@ -1596,17 +1609,20 @@ x86ModelParseFeatures(virCPUx86Model *model,
|
||||
g_autofree xmlNodePtr *nodes = NULL;
|
||||
size_t i;
|
||||
size_t nremoved = 0;
|
||||
+ size_t nadded = 0;
|
||||
int n;
|
||||
|
||||
if ((n = virXPathNodeSet("./feature", ctxt, &nodes)) <= 0)
|
||||
return n;
|
||||
|
||||
model->removedFeatures = g_new0(char *, n + 1);
|
||||
+ model->addedFeatures = g_new0(char *, n + 1);
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
g_autofree char *ftname = NULL;
|
||||
virCPUx86Feature *feature;
|
||||
virTristateBool rem;
|
||||
+ virTristateBool added;
|
||||
|
||||
if (!(ftname = virXMLPropString(nodes[i], "name"))) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
@@ -1632,10 +1648,21 @@ x86ModelParseFeatures(virCPUx86Model *model,
|
||||
continue;
|
||||
}
|
||||
|
||||
+ if (virXMLPropTristateBool(nodes[i], "added",
|
||||
+ VIR_XML_PROP_NONE,
|
||||
+ &added) < 0)
|
||||
+ return -1;
|
||||
+
|
||||
+ if (added == VIR_TRISTATE_BOOL_YES) {
|
||||
+ model->addedFeatures[nadded++] = g_strdup(ftname);
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
x86DataAdd(&model->data, &feature->data);
|
||||
}
|
||||
|
||||
model->removedFeatures = g_renew(char *, model->removedFeatures, nremoved + 1);
|
||||
+ model->addedFeatures = g_renew(char *, model->addedFeatures, nadded + 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -3022,11 +3049,18 @@ virCPUx86UpdateLive(virCPUDef *cpu,
|
||||
if (expected == VIR_CPU_FEATURE_DISABLE &&
|
||||
x86DataIsSubset(&enabled, &feature->data)) {
|
||||
VIR_DEBUG("Feature '%s' enabled by the hypervisor", feature->name);
|
||||
- if (cpu->check == VIR_CPU_CHECK_FULL)
|
||||
+
|
||||
+ /* Extra features enabled by the hypervisor are ignored by
|
||||
+ * check='full' in case they were added to the model later for
|
||||
+ * backward compatibility with the older definition of the model.
|
||||
+ */
|
||||
+ if (cpu->check == VIR_CPU_CHECK_FULL &&
|
||||
+ !g_strv_contains((const char **) model->addedFeatures, feature->name)) {
|
||||
virBufferAsprintf(&bufAdded, "%s,", feature->name);
|
||||
- else if (virCPUDefUpdateFeature(cpu, feature->name,
|
||||
- VIR_CPU_FEATURE_REQUIRE) < 0)
|
||||
+ } else if (virCPUDefUpdateFeature(cpu, feature->name,
|
||||
+ VIR_CPU_FEATURE_REQUIRE) < 0) {
|
||||
return -1;
|
||||
+ }
|
||||
}
|
||||
|
||||
if (x86DataIsSubset(&disabled, &feature->data) ||
|
||||
@@ -3491,6 +3525,40 @@ virCPUx86FeatureFilterDropMSR(const char *name,
|
||||
}
|
||||
|
||||
|
||||
+/**
|
||||
+ * virCPUx86GetAddedFeatures:
|
||||
+ * @modelName: CPU model
|
||||
+ * @features: where to store a pointer to the list of added features
|
||||
+ *
|
||||
+ * Gets a list of features added to a specified CPU model after its original
|
||||
+ * version was already released. The @features will be set to NULL if the list
|
||||
+ * is empty or it will point to internal structures and thus it must not be
|
||||
+ * freed or modified by the caller. The pointer is valid for the whole lifetime
|
||||
+ * of the process.
|
||||
+ *
|
||||
+ * Returns 0 on success, -1 otherwise.
|
||||
+ */
|
||||
+int
|
||||
+virCPUx86GetAddedFeatures(const char *modelName,
|
||||
+ const char * const **features)
|
||||
+{
|
||||
+ virCPUx86Map *map;
|
||||
+ virCPUx86Model *model;
|
||||
+
|
||||
+ if (!(map = virCPUx86GetMap()))
|
||||
+ return -1;
|
||||
+
|
||||
+ if (!(model = x86ModelFind(map, modelName))) {
|
||||
+ virReportError(VIR_ERR_INVALID_ARG,
|
||||
+ _("unknown CPU model %1$s"), modelName);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ *features = (const char **) model->addedFeatures;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
struct cpuArchDriver cpuDriverX86 = {
|
||||
.name = "x86",
|
||||
.arch = archs,
|
||||
diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h
|
||||
index 2721fc9097..2cd965fea4 100644
|
||||
--- a/src/cpu/cpu_x86.h
|
||||
+++ b/src/cpu/cpu_x86.h
|
||||
@@ -48,3 +48,6 @@ bool virCPUx86FeatureFilterSelectMSR(const char *name,
|
||||
bool virCPUx86FeatureFilterDropMSR(const char *name,
|
||||
virCPUFeaturePolicy policy,
|
||||
void *opaque);
|
||||
+
|
||||
+int virCPUx86GetAddedFeatures(const char *modelName,
|
||||
+ const char * const **features);
|
||||
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
|
||||
index 035f8c7b5d..d168f45f2d 100644
|
||||
--- a/src/libvirt_private.syms
|
||||
+++ b/src/libvirt_private.syms
|
||||
@@ -1543,6 +1543,7 @@ virCPUx86DataSetSignature;
|
||||
virCPUx86DataSetVendor;
|
||||
virCPUx86FeatureFilterDropMSR;
|
||||
virCPUx86FeatureFilterSelectMSR;
|
||||
+virCPUx86GetAddedFeatures;
|
||||
|
||||
# datatypes.h
|
||||
virConnectClass;
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,123 @@
|
|||
From 8d48d5fe02c0afcf5bbe68e0a182ee11f9a108dc Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <8d48d5fe02c0afcf5bbe68e0a182ee11f9a108dc.1708614745.git.jdenemar@redhat.com>
|
||||
From: Michal Privoznik <mprivozn@redhat.com>
|
||||
Date: Mon, 19 Feb 2024 15:37:16 +0100
|
||||
Subject: [PATCH] domain_validate: Account for NVDIMM label size properly when
|
||||
checking for memory conflicts
|
||||
|
||||
As of v9.8.0-rc1~7 we check whether two <memory/> devices don't
|
||||
overlap (since we allow setting where a <memory/> device should
|
||||
be mapped to). We do this pretty straightforward, by comparing
|
||||
start and end address of each <memory/> device combination.
|
||||
But since only the start address is given (an exposed in the
|
||||
XML), the end address is computed trivially as:
|
||||
|
||||
start + mem->size * 1024
|
||||
|
||||
And for majority of memory device types this works. Except for
|
||||
NVDIMMs. For them the <memory/> device consists of two separate
|
||||
regions: 1) actual memory device, and 2) label.
|
||||
|
||||
Label is where NVDIMM stores some additional information like
|
||||
namespaces partition and so on. But it's not mapped into the
|
||||
guest the same way as actual memory device. In fact, mem->size is
|
||||
a sum of both actual memory device and label sizes. And to make
|
||||
things a bit worse, both sizes are subject to alignment (either
|
||||
the alignsize value specified in XML, or system page size if not
|
||||
specified in XML).
|
||||
|
||||
Therefore, to get the size of actual memory device we need to
|
||||
take mem->size and substract label size rounded up to alignment.
|
||||
|
||||
If we don't do this we report there's an overlap between two
|
||||
NVDIMMs even when in reality there's none.
|
||||
|
||||
Fixes: 3fd64fb0e236fc80ffa2cc977c0d471f11fc39bf
|
||||
Fixes: 91f9a9fb4fc0d34ed8d7a869de3d9f87687c3618
|
||||
Resolves: https://issues.redhat.com/browse/RHEL-4452?focusedId=23805174#comment-23805174
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
|
||||
(cherry picked from commit 4545f313c23e7000451d1cec793ebc8da1a2c25f)
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
---
|
||||
src/conf/domain_validate.c | 51 ++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 49 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c
|
||||
index 46479f10f2..faa7659f07 100644
|
||||
--- a/src/conf/domain_validate.c
|
||||
+++ b/src/conf/domain_validate.c
|
||||
@@ -2225,6 +2225,53 @@ virDomainHostdevDefValidate(const virDomainHostdevDef *hostdev)
|
||||
}
|
||||
|
||||
|
||||
+/**
|
||||
+ * virDomainMemoryGetMappedSize:
|
||||
+ * @mem: memory device definition
|
||||
+ *
|
||||
+ * For given memory device definition (@mem) calculate size mapped into
|
||||
+ * the guest. This is usually mem->size, except for NVDIMM where its
|
||||
+ * label is mapped elsewhere.
|
||||
+ *
|
||||
+ * Returns: Number of bytes a memory device takes when mapped into a
|
||||
+ * guest.
|
||||
+ */
|
||||
+static unsigned long long
|
||||
+virDomainMemoryGetMappedSize(const virDomainMemoryDef *mem)
|
||||
+{
|
||||
+ unsigned long long ret = mem->size;
|
||||
+
|
||||
+ if (mem->model == VIR_DOMAIN_MEMORY_MODEL_NVDIMM) {
|
||||
+ unsigned long long alignsize = mem->source.nvdimm.alignsize;
|
||||
+ unsigned long long labelsize = 0;
|
||||
+
|
||||
+ /* For NVDIMM the situation is a bit more complicated. Firstly,
|
||||
+ * its <label/> is not mapped as a part of memory device, so we
|
||||
+ * must subtract label size from NVDIMM size. Secondly,
|
||||
+ * remaining memory is then aligned again (rounded down). But
|
||||
+ * for our purposes we might just round label size up and
|
||||
+ * achieve the same (numeric) result. */
|
||||
+
|
||||
+ if (alignsize == 0) {
|
||||
+ long pagesize = virGetSystemPageSizeKB();
|
||||
+
|
||||
+ /* If no alignment is specified in the XML, fallback to
|
||||
+ * system page size alignment. */
|
||||
+ if (pagesize > 0)
|
||||
+ alignsize = pagesize;
|
||||
+ }
|
||||
+
|
||||
+ if (alignsize > 0) {
|
||||
+ labelsize = VIR_ROUND_UP(mem->target.nvdimm.labelsize, alignsize);
|
||||
+
|
||||
+ ret -= labelsize;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return ret * 1024;
|
||||
+}
|
||||
+
|
||||
+
|
||||
static int
|
||||
virDomainMemoryDefCheckConflict(const virDomainMemoryDef *mem,
|
||||
const virDomainDef *def)
|
||||
@@ -2259,7 +2306,7 @@ virDomainMemoryDefCheckConflict(const virDomainMemoryDef *mem,
|
||||
}
|
||||
|
||||
/* thisStart and thisEnd are in bytes, mem->size in kibibytes */
|
||||
- thisEnd = thisStart + mem->size * 1024;
|
||||
+ thisEnd = thisStart + virDomainMemoryGetMappedSize(mem);
|
||||
|
||||
for (i = 0; i < def->nmems; i++) {
|
||||
const virDomainMemoryDef *other = def->mems[i];
|
||||
@@ -2316,7 +2363,7 @@ virDomainMemoryDefCheckConflict(const virDomainMemoryDef *mem,
|
||||
if (thisStart == 0 || otherStart == 0)
|
||||
continue;
|
||||
|
||||
- otherEnd = otherStart + other->size * 1024;
|
||||
+ otherEnd = otherStart + virDomainMemoryGetMappedSize(other);
|
||||
|
||||
if ((thisStart <= otherStart && thisEnd > otherStart) ||
|
||||
(otherStart <= thisStart && otherEnd > thisStart)) {
|
||||
--
|
||||
2.43.2
|
|
@ -0,0 +1,84 @@
|
|||
From aa6c24efcb42aa55e9fff450ef65683b78153849 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <aa6c24efcb42aa55e9fff450ef65683b78153849.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Mon, 11 Mar 2024 15:34:37 +0100
|
||||
Subject: [PATCH] qemu: domain: Check arch in qemuDomainMakeCPUMigratable
|
||||
|
||||
The content is arch specific and checking for Icelake-Server CPU model
|
||||
on non-x86 architectures does not make sense.
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
(cherry picked from commit 909564c3652d6f6fb5b68ebc5830c6cb524ac713)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_domain.c | 14 ++++++++++----
|
||||
src/qemu/qemu_domain.h | 3 ++-
|
||||
src/qemu/qemu_migration_cookie.c | 2 +-
|
||||
3 files changed, 13 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
|
||||
index 97520bb49c..8e7665b198 100644
|
||||
--- a/src/qemu/qemu_domain.c
|
||||
+++ b/src/qemu/qemu_domain.c
|
||||
@@ -6588,10 +6588,15 @@ qemuDomainDefCopy(virQEMUDriver *driver,
|
||||
|
||||
|
||||
int
|
||||
-qemuDomainMakeCPUMigratable(virCPUDef *cpu)
|
||||
+qemuDomainMakeCPUMigratable(virArch arch,
|
||||
+ virCPUDef *cpu)
|
||||
{
|
||||
- if (cpu->mode == VIR_CPU_MODE_CUSTOM &&
|
||||
- STREQ_NULLABLE(cpu->model, "Icelake-Server")) {
|
||||
+ if (cpu->mode != VIR_CPU_MODE_CUSTOM ||
|
||||
+ !cpu->model ||
|
||||
+ !ARCH_IS_X86(arch))
|
||||
+ return 0;
|
||||
+
|
||||
+ if (STREQ(cpu->model, "Icelake-Server")) {
|
||||
/* Originally Icelake-Server CPU model contained pconfig CPU feature.
|
||||
* It was never actually enabled and thus it was removed. To enable
|
||||
* migration to QEMU 3.1.0 (with both new and old libvirt), we
|
||||
@@ -6781,7 +6786,8 @@ qemuDomainDefFormatBufInternal(virQEMUDriver *driver,
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if (def->cpu && qemuDomainMakeCPUMigratable(def->cpu) < 0)
|
||||
+ if (def->cpu &&
|
||||
+ qemuDomainMakeCPUMigratable(def->os.arch, def->cpu) < 0)
|
||||
return -1;
|
||||
|
||||
/* Old libvirt doesn't understand <audio> elements so
|
||||
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
|
||||
index 0b5af5d014..a7a8bcc460 100644
|
||||
--- a/src/qemu/qemu_domain.h
|
||||
+++ b/src/qemu/qemu_domain.h
|
||||
@@ -1045,7 +1045,8 @@ qemuDomainSupportsCheckpointsBlockjobs(virDomainObj *vm)
|
||||
G_GNUC_WARN_UNUSED_RESULT;
|
||||
|
||||
int
|
||||
-qemuDomainMakeCPUMigratable(virCPUDef *cpu);
|
||||
+qemuDomainMakeCPUMigratable(virArch arch,
|
||||
+ virCPUDef *cpu);
|
||||
|
||||
int
|
||||
qemuDomainInitializePflashStorageSource(virDomainObj *vm,
|
||||
diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c
|
||||
index 4361949cca..c53d42a018 100644
|
||||
--- a/src/qemu/qemu_migration_cookie.c
|
||||
+++ b/src/qemu/qemu_migration_cookie.c
|
||||
@@ -545,7 +545,7 @@ qemuMigrationCookieAddCPU(qemuMigrationCookie *mig,
|
||||
|
||||
mig->cpu = virCPUDefCopy(vm->def->cpu);
|
||||
|
||||
- if (qemuDomainMakeCPUMigratable(mig->cpu) < 0)
|
||||
+ if (qemuDomainMakeCPUMigratable(vm->def->os.arch, mig->cpu) < 0)
|
||||
return -1;
|
||||
|
||||
mig->flags |= QEMU_MIGRATION_COOKIE_CPU;
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,153 @@
|
|||
From c6af8b2be6ba25125efd9ed96e2464da96f23315 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <c6af8b2be6ba25125efd9ed96e2464da96f23315.1710860841.git.jdenemar@redhat.com>
|
||||
From: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Mon, 11 Mar 2024 17:04:48 +0100
|
||||
Subject: [PATCH] qemu: domain: Drop added features from migratable CPU
|
||||
|
||||
Features marked with added='yes' in CPU model definitions have to be
|
||||
removed before migration, otherwise older libvirt would complain about
|
||||
unknown CPU features. We only do this for features that were enabled for
|
||||
a given CPU model even with older libvirt, which just ignored the
|
||||
features. And only for features we added ourselves when updating CPU
|
||||
definition during domain startup, that is we do not remove features
|
||||
which were explicitly mentioned by a user.
|
||||
|
||||
That said, this is not the safest thing we could do, but it's
|
||||
effectively the same thing we did before the affected features were
|
||||
added: we ignored them completely on both sides of migration.
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
|
||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
||||
(cherry picked from commit 14d3517410021d59cb53fb4c841a5d9922e814d1)
|
||||
https://issues.redhat.com/browse/RHEL-25995
|
||||
|
||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
src/qemu/qemu_domain.c | 50 ++++++++++++++++++++++++++++++--
|
||||
src/qemu/qemu_domain.h | 3 +-
|
||||
src/qemu/qemu_migration_cookie.c | 5 +++-
|
||||
3 files changed, 54 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
|
||||
index 8e7665b198..1daa53dd1b 100644
|
||||
--- a/src/qemu/qemu_domain.c
|
||||
+++ b/src/qemu/qemu_domain.c
|
||||
@@ -66,6 +66,7 @@
|
||||
#include "backup_conf.h"
|
||||
#include "virutil.h"
|
||||
#include "virsecureerase.h"
|
||||
+#include "cpu/cpu_x86.h"
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <fcntl.h>
|
||||
@@ -6587,10 +6588,36 @@ qemuDomainDefCopy(virQEMUDriver *driver,
|
||||
}
|
||||
|
||||
|
||||
+typedef struct {
|
||||
+ const char * const *added;
|
||||
+ GStrv keep;
|
||||
+} qemuDomainDropAddedCPUFeaturesData;
|
||||
+
|
||||
+
|
||||
+static bool
|
||||
+qemuDomainDropAddedCPUFeatures(const char *name,
|
||||
+ virCPUFeaturePolicy policy G_GNUC_UNUSED,
|
||||
+ void *opaque)
|
||||
+{
|
||||
+ qemuDomainDropAddedCPUFeaturesData *data = opaque;
|
||||
+
|
||||
+ if (!g_strv_contains(data->added, name))
|
||||
+ return true;
|
||||
+
|
||||
+ if (data->keep && g_strv_contains((const char **) data->keep, name))
|
||||
+ return true;
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+
|
||||
int
|
||||
qemuDomainMakeCPUMigratable(virArch arch,
|
||||
- virCPUDef *cpu)
|
||||
+ virCPUDef *cpu,
|
||||
+ virCPUDef *origCPU)
|
||||
{
|
||||
+ qemuDomainDropAddedCPUFeaturesData data = { 0 };
|
||||
+
|
||||
if (cpu->mode != VIR_CPU_MODE_CUSTOM ||
|
||||
!cpu->model ||
|
||||
!ARCH_IS_X86(arch))
|
||||
@@ -6608,6 +6635,25 @@ qemuDomainMakeCPUMigratable(virArch arch,
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ if (virCPUx86GetAddedFeatures(cpu->model, &data.added) < 0)
|
||||
+ return -1;
|
||||
+
|
||||
+ /* Drop features marked as added in a cpu model, but only
|
||||
+ * when they are not mentioned in origCPU, i.e., when they were not
|
||||
+ * explicitly mentioned by the user.
|
||||
+ */
|
||||
+ if (data.added) {
|
||||
+ g_auto(GStrv) keep = NULL;
|
||||
+
|
||||
+ if (origCPU) {
|
||||
+ keep = virCPUDefListExplicitFeatures(origCPU);
|
||||
+ data.keep = keep;
|
||||
+ }
|
||||
+
|
||||
+ if (virCPUDefFilterFeatures(cpu, qemuDomainDropAddedCPUFeatures, &data) < 0)
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -6787,7 +6833,7 @@ qemuDomainDefFormatBufInternal(virQEMUDriver *driver,
|
||||
}
|
||||
|
||||
if (def->cpu &&
|
||||
- qemuDomainMakeCPUMigratable(def->os.arch, def->cpu) < 0)
|
||||
+ qemuDomainMakeCPUMigratable(def->os.arch, def->cpu, origCPU) < 0)
|
||||
return -1;
|
||||
|
||||
/* Old libvirt doesn't understand <audio> elements so
|
||||
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
|
||||
index a7a8bcc460..d98f1c0a99 100644
|
||||
--- a/src/qemu/qemu_domain.h
|
||||
+++ b/src/qemu/qemu_domain.h
|
||||
@@ -1046,7 +1046,8 @@ qemuDomainSupportsCheckpointsBlockjobs(virDomainObj *vm)
|
||||
|
||||
int
|
||||
qemuDomainMakeCPUMigratable(virArch arch,
|
||||
- virCPUDef *cpu);
|
||||
+ virCPUDef *cpu,
|
||||
+ virCPUDef *origCPU);
|
||||
|
||||
int
|
||||
qemuDomainInitializePflashStorageSource(virDomainObj *vm,
|
||||
diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c
|
||||
index c53d42a018..90cc079c1a 100644
|
||||
--- a/src/qemu/qemu_migration_cookie.c
|
||||
+++ b/src/qemu/qemu_migration_cookie.c
|
||||
@@ -540,12 +540,15 @@ static int
|
||||
qemuMigrationCookieAddCPU(qemuMigrationCookie *mig,
|
||||
virDomainObj *vm)
|
||||
{
|
||||
+ qemuDomainObjPrivate *priv = vm->privateData;
|
||||
+
|
||||
if (mig->cpu)
|
||||
return 0;
|
||||
|
||||
mig->cpu = virCPUDefCopy(vm->def->cpu);
|
||||
|
||||
- if (qemuDomainMakeCPUMigratable(vm->def->os.arch, mig->cpu) < 0)
|
||||
+ if (qemuDomainMakeCPUMigratable(vm->def->os.arch, mig->cpu,
|
||||
+ priv->origCPU) < 0)
|
||||
return -1;
|
||||
|
||||
mig->flags |= QEMU_MIGRATION_COOKIE_CPU;
|
||||
--
|
||||
2.44.0
|
|
@ -0,0 +1,40 @@
|
|||
From 2087ac009a019ceb206475363113bbe6c2821e2f Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <2087ac009a019ceb206475363113bbe6c2821e2f.1708614745.git.jdenemar@redhat.com>
|
||||
From: Peter Krempa <pkrempa@redhat.com>
|
||||
Date: Fri, 16 Feb 2024 16:40:20 +0100
|
||||
Subject: [PATCH] qemuMigrationDstPrepareStorage: Properly consider path for
|
||||
'vdpa' devices
|
||||
|
||||
Allow storage migration of VDPA devices by properly checking that they
|
||||
exist on the destionation. Pre-creation is not supported but if the
|
||||
device exists the migration should be able to succeed.
|
||||
|
||||
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
|
||||
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
(cherry picked from commit 00c0a94ab5f135ea7d9f0a905ff53d13c82761db)
|
||||
https://issues.redhat.com/browse/RHEL-24825
|
||||
---
|
||||
src/qemu/qemu_migration.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
|
||||
index 3e0aae4e7c..5e27cd5dbe 100644
|
||||
--- a/src/qemu/qemu_migration.c
|
||||
+++ b/src/qemu/qemu_migration.c
|
||||
@@ -479,10 +479,13 @@ qemuMigrationDstPrepareStorage(virDomainObj *vm,
|
||||
diskSrcPath = nvmePath;
|
||||
break;
|
||||
|
||||
+ case VIR_STORAGE_TYPE_VHOST_VDPA:
|
||||
+ diskSrcPath = disk->src->vdpadev;
|
||||
+ break;
|
||||
+
|
||||
case VIR_STORAGE_TYPE_NETWORK:
|
||||
case VIR_STORAGE_TYPE_VOLUME:
|
||||
case VIR_STORAGE_TYPE_VHOST_USER:
|
||||
- case VIR_STORAGE_TYPE_VHOST_VDPA:
|
||||
case VIR_STORAGE_TYPE_LAST:
|
||||
case VIR_STORAGE_TYPE_NONE:
|
||||
break;
|
||||
--
|
||||
2.43.2
|
|
@ -0,0 +1,60 @@
|
|||
From b73313c9679766c493afb91f0c691e437632e4fa Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <b73313c9679766c493afb91f0c691e437632e4fa.1708614745.git.jdenemar@redhat.com>
|
||||
From: Peter Krempa <pkrempa@redhat.com>
|
||||
Date: Thu, 8 Feb 2024 16:48:25 +0100
|
||||
Subject: [PATCH] qemuMigrationDstPrepareStorage: Use 'switch' statement to
|
||||
include all storage types
|
||||
|
||||
Decrease the likelyhood that addition of a new storage type will be
|
||||
forgotten.
|
||||
|
||||
This patch also unifies the type check to consult the 'actual' type of
|
||||
the storage in both cases as the NVMe check looked for the XML declared
|
||||
type while virStorageSourceIsLocalStorage() looks for the
|
||||
actual/translated type.
|
||||
|
||||
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
|
||||
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
(cherry picked from commit e158b523b8522931200c415ef86562641a2a7c8c)
|
||||
https://issues.redhat.com/browse/RHEL-24825
|
||||
---
|
||||
src/qemu/qemu_migration.c | 22 +++++++++++++++++++---
|
||||
1 file changed, 19 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
|
||||
index 01ab803842..3e0aae4e7c 100644
|
||||
--- a/src/qemu/qemu_migration.c
|
||||
+++ b/src/qemu/qemu_migration.c
|
||||
@@ -465,11 +465,27 @@ qemuMigrationDstPrepareStorage(virDomainObj *vm,
|
||||
if (!qemuMigrationAnyCopyDisk(disk, nmigrate_disks, migrate_disks))
|
||||
continue;
|
||||
|
||||
- if (disk->src->type == VIR_STORAGE_TYPE_NVME) {
|
||||
+ switch (virStorageSourceGetActualType(disk->src)) {
|
||||
+ case VIR_STORAGE_TYPE_FILE:
|
||||
+ case VIR_STORAGE_TYPE_BLOCK:
|
||||
+ case VIR_STORAGE_TYPE_DIR:
|
||||
+ diskSrcPath = virDomainDiskGetSource(disk);
|
||||
+ break;
|
||||
+
|
||||
+ case VIR_STORAGE_TYPE_NVME:
|
||||
+ /* While NVMe disks are local, they are not accessible via src->path.
|
||||
+ * Therefore, we have to return false here. */
|
||||
virPCIDeviceAddressGetSysfsFile(&disk->src->nvme->pciAddr, &nvmePath);
|
||||
diskSrcPath = nvmePath;
|
||||
- } else if (virStorageSourceIsLocalStorage(disk->src)) {
|
||||
- diskSrcPath = virDomainDiskGetSource(disk);
|
||||
+ break;
|
||||
+
|
||||
+ case VIR_STORAGE_TYPE_NETWORK:
|
||||
+ case VIR_STORAGE_TYPE_VOLUME:
|
||||
+ case VIR_STORAGE_TYPE_VHOST_USER:
|
||||
+ case VIR_STORAGE_TYPE_VHOST_VDPA:
|
||||
+ case VIR_STORAGE_TYPE_LAST:
|
||||
+ case VIR_STORAGE_TYPE_NONE:
|
||||
+ break;
|
||||
}
|
||||
|
||||
if (diskSrcPath) {
|
||||
--
|
||||
2.43.2
|
54
libvirt.spec
54
libvirt.spec
|
@ -270,7 +270,7 @@
|
|||
Summary: Library providing a simple virtualization API
|
||||
Name: libvirt
|
||||
Version: 10.0.0
|
||||
Release: 3%{?dist}%{?extra_release}
|
||||
Release: 5%{?dist}%{?extra_release}
|
||||
License: GPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OFL-1.1
|
||||
URL: https://libvirt.org/
|
||||
|
||||
|
@ -334,6 +334,30 @@ Patch52: libvirt-virPCIVPDParseVPDLargeResourceFields-Refactor-return-logic.patc
|
|||
Patch53: libvirt-virPCIVPDParseVPDLargeResourceFields-Report-proper-errors.patch
|
||||
Patch54: libvirt-virPCIVPDParse-Do-reasonable-error-reporting.patch
|
||||
Patch55: libvirt-virt-admin-Add-warning-when-connection-to-default-daemon-fails.patch
|
||||
Patch56: libvirt-Set-stubDriverName-from-hostdev-driver-model-attribute-during-pci-device-setup.patch
|
||||
Patch57: libvirt-qemuMigrationDstPrepareStorage-Use-switch-statement-to-include-all-storage-types.patch
|
||||
Patch58: libvirt-qemuMigrationDstPrepareStorage-Properly-consider-path-for-vdpa-devices.patch
|
||||
Patch59: libvirt-domain_validate-Account-for-NVDIMM-label-size-properly-when-checking-for-memory-conflicts.patch
|
||||
Patch60: libvirt-cpu-x86-Add-support-for-adding-features-to-existing-CPU-models.patch
|
||||
Patch61: libvirt-qemu-domain-Check-arch-in-qemuDomainMakeCPUMigratable.patch
|
||||
Patch62: libvirt-conf-cpu-Introduce-virCPUDefListFeatures.patch
|
||||
Patch63: libvirt-qemu-domain-Drop-added-features-from-migratable-CPU.patch
|
||||
Patch64: libvirt-Add-vmx-features-to-Broadwell.patch
|
||||
Patch65: libvirt-Add-vmx-features-to-Cascadelake.patch
|
||||
Patch66: libvirt-Add-vmx-features-to-Conroe.patch
|
||||
Patch67: libvirt-Add-vmx-features-to-Cooperlake.patch
|
||||
Patch68: libvirt-Add-vmx-features-to-core-2-duo.patch
|
||||
Patch69: libvirt-Add-vmx-features-to-Haswell.patch
|
||||
Patch70: libvirt-Add-vmx-features-to-Icelake.patch
|
||||
Patch71: libvirt-Add-vmx-features-to-IvyBridge.patch
|
||||
Patch72: libvirt-Add-vmx-features-to-kvm.patch
|
||||
Patch73: libvirt-Add-vmx-features-to-Nehalem.patch
|
||||
Patch74: libvirt-Add-vmx-features-to-Penryn.patch
|
||||
Patch75: libvirt-Add-vmx-features-to-SandyBridge.patch
|
||||
Patch76: libvirt-Add-vmx-features-to-SapphireRapids.patch
|
||||
Patch77: libvirt-Add-vmx-features-to-Skylake.patch
|
||||
Patch78: libvirt-Add-vmx-features-to-Snowridge.patch
|
||||
Patch79: libvirt-Add-vmx-features-to-Westmere.patch
|
||||
|
||||
|
||||
Requires: libvirt-daemon = %{version}-%{release}
|
||||
|
@ -2637,6 +2661,34 @@ exit 0
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Mar 19 2024 Jiri Denemark <jdenemar@redhat.com> - 10.0.0-5
|
||||
- cpu: x86: Add support for adding features to existing CPU models (RHEL-25995)
|
||||
- qemu: domain: Check arch in qemuDomainMakeCPUMigratable (RHEL-25995)
|
||||
- conf: cpu: Introduce virCPUDefListFeatures (RHEL-25995)
|
||||
- qemu: domain: Drop added features from migratable CPU (RHEL-25995)
|
||||
- Add vmx-* features to Broadwell* (RHEL-25995)
|
||||
- Add vmx-* features to Cascadelake* (RHEL-25995)
|
||||
- Add vmx-* features to Conroe (RHEL-25995)
|
||||
- Add vmx-* features to Cooperlake (RHEL-25995)
|
||||
- Add vmx-* features to core{,2}duo (RHEL-25995)
|
||||
- Add vmx-* features to Haswell* (RHEL-25995)
|
||||
- Add vmx-* features to Icelake* (RHEL-25995)
|
||||
- Add vmx-* features to IvyBridge* (RHEL-25995)
|
||||
- Add vmx-* features to kvm* (RHEL-25995)
|
||||
- Add vmx-* features to Nehalem* (RHEL-25995)
|
||||
- Add vmx-* features to Penryn (RHEL-25995)
|
||||
- Add vmx-* features to SandyBridge* (RHEL-25995)
|
||||
- Add vmx-* features to SapphireRapids (RHEL-25995)
|
||||
- Add vmx-* features to Skylake* (RHEL-25995)
|
||||
- Add vmx-* features to Snowridge (RHEL-25995)
|
||||
- Add vmx-* features to Westmere* (RHEL-25995)
|
||||
|
||||
* Thu Feb 22 2024 Jiri Denemark <jdenemar@redhat.com> - 10.0.0-4
|
||||
- Set stubDriverName from hostdev driver model attribute during pci device setup (RHEL-25858)
|
||||
- qemuMigrationDstPrepareStorage: Use 'switch' statement to include all storage types (RHEL-24825)
|
||||
- qemuMigrationDstPrepareStorage: Properly consider path for 'vdpa' devices (RHEL-24825)
|
||||
- domain_validate: Account for NVDIMM label size properly when checking for memory conflicts (RHEL-4452)
|
||||
|
||||
* Thu Feb 8 2024 Jiri Denemark <jdenemar@redhat.com> - 10.0.0-3
|
||||
- remote_driver: Restore special behavior of remoteDomainGetBlockIoTune() (RHEL-22800)
|
||||
- conf: Introduce dynamicMemslots attribute for virtio-mem (RHEL-15316)
|
||||
|
|
Loading…
Reference in New Issue