Merge ~lvoytek/ubuntu/+source/libvirt:sapphire-rapids-and-libvirt-uri-jammy into ubuntu/+source/libvirt:ubuntu/jammy-devel
- Git
- lp:~lvoytek/ubuntu/+source/libvirt
- sapphire-rapids-and-libvirt-uri-jammy
- Merge into ubuntu/jammy-devel
Status: | Merged | ||||||||
---|---|---|---|---|---|---|---|---|---|
Approved by: | git-ubuntu bot | ||||||||
Approved revision: | not available | ||||||||
Merge reported by: | Andreas Hasenack | ||||||||
Merged at revision: | e73a7076ae6d54afd840cc51808a385c88a2bda0 | ||||||||
Proposed branch: | ~lvoytek/ubuntu/+source/libvirt:sapphire-rapids-and-libvirt-uri-jammy | ||||||||
Merge into: | ubuntu/+source/libvirt:ubuntu/jammy-devel | ||||||||
Diff against target: |
1801 lines (+1633/-0) 26 files modified
debian/changelog (+7/-0) debian/libvirt0.install (+2/-0) debian/patches/series (+24/-0) debian/patches/ubuntu/lp-2028057-01-alias-names-allow-additional-feature-node-children.patch (+33/-0) debian/patches/ubuntu/lp-2028057-02-alias-names-ignore.patch (+45/-0) debian/patches/ubuntu/lp-2028057-03-alias-names-make-machine-readable.patch (+161/-0) debian/patches/ubuntu/lp-2028057-04-qemu-i386-sync-cpu-features.patch (+292/-0) debian/patches/ubuntu/lp-2028057-05-add-missing-feature-amx.patch (+41/-0) debian/patches/ubuntu/lp-2028057-06-qemu-i386-rename-file.patch (+15/-0) debian/patches/ubuntu/lp-2028057-07-alias-names-add-to-features.patch (+39/-0) debian/patches/ubuntu/lp-2028057-08-add-missing-feature-sgx.patch (+236/-0) debian/patches/ubuntu/lp-2028057-09-add-missing-feature-sgxlc.patch (+83/-0) debian/patches/ubuntu/lp-2028057-10-add-missing-feature-sgx-exinfo.patch (+22/-0) debian/patches/ubuntu/lp-2028057-11-add-missing-feature-sgx1.patch (+21/-0) debian/patches/ubuntu/lp-2028057-12-add-missing-feature-sgx2.patch (+20/-0) debian/patches/ubuntu/lp-2028057-13-add-missing-feature-sgx-additional.patch (+36/-0) debian/patches/ubuntu/lp-2028057-14-add-missing-feature-bus-lock-detect.patch (+20/-0) debian/patches/ubuntu/lp-2028057-15-add-missing-feature-pks.patch (+52/-0) debian/patches/ubuntu/lp-2028057-16-add-missing-feature-avx512-vp2intersect.patch (+20/-0) debian/patches/ubuntu/lp-2028057-17-add-missing-feature-avx512-fp16.patch (+20/-0) debian/patches/ubuntu/lp-2028057-18-add-missing-feature-serialize.patch (+20/-0) debian/patches/ubuntu/lp-2028057-19-add-missing-feature-tsx-ldtrk.patch (+20/-0) debian/patches/ubuntu/lp-2028057-20-add-missing-feature-arch-lbr.patch (+20/-0) debian/patches/ubuntu/lp-2028057-21-add-missing-feature-xfd.patch (+20/-0) debian/patches/ubuntu/lp-2028057-22-add-missing-feature-intel-pt-lip.patch (+54/-0) debian/patches/ubuntu/lp-2028057-23-add-new-CPU-model-Intel-SapphireRapids.patch (+310/-0) |
||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
git-ubuntu bot | Approve | ||
Bryce Harrington (community) | Approve | ||
Canonical Server Reporter | Pending | ||
Review via email: mp+455072@code.launchpad.net |
Commit message
Description of the change
Add support for Sapphire Rapids and keep a consistent LIBVIRT_DEFAULT_URI value.
Jammy requires substantially more patches than Lunar for Sapphire Rapids with the addition of xfd, tsx-ldtrk, serialize, bus-lock-detect, avx512-fp16, and amx
Still working on architecture-
PPA: https:/
git-ubuntu bot (git-ubuntu-bot) wrote : | # |
Approvers: lvoytek, bryce
Uploaders: lvoytek, bryce
MP auto-approved
- e73a707... by Lena Voytek
-
changelog
Lena Voytek (lvoytek) wrote : | # |
Thanks for the reviews Bryce! I'll go ahead and upload the Sapphire Rapids changes for lunar, and jammy. Still need some time for the URI update and I don't want the wishlist item to block this off
Andreas Hasenack (ahasenack) wrote : | # |
This is already in jammy-proposed[1], and git-ubuntu imported it. Marking the MP as merged.
1. https:/
Preview Diff
1 | diff --git a/debian/changelog b/debian/changelog | |||
2 | index ce7b258..d28b52e 100644 | |||
3 | --- a/debian/changelog | |||
4 | +++ b/debian/changelog | |||
5 | @@ -1,3 +1,10 @@ | |||
6 | 1 | libvirt (8.0.0-1ubuntu7.8) jammy; urgency=medium | ||
7 | 2 | |||
8 | 3 | * d/p/u/lp-2028057-*, d/libvirt0.install: Add named types and definitions, | ||
9 | 4 | along with QEMU alias syncing for Intel SapphireRapids (LP: #2028057) | ||
10 | 5 | |||
11 | 6 | -- Lena Voytek <lena.voytek@canonical.com> Wed, 29 Nov 2023 14:52:52 -0700 | ||
12 | 7 | |||
13 | 1 | libvirt (8.0.0-1ubuntu7.7) jammy; urgency=medium | 8 | libvirt (8.0.0-1ubuntu7.7) jammy; urgency=medium |
14 | 2 | 9 | ||
15 | 3 | * When attempting to launch a VM with SGX enabled, there is an | 10 | * When attempting to launch a VM with SGX enabled, there is an |
16 | diff --git a/debian/libvirt0.install b/debian/libvirt0.install | |||
17 | index b384c41..ca07f96 100644 | |||
18 | --- a/debian/libvirt0.install | |||
19 | +++ b/debian/libvirt0.install | |||
20 | @@ -58,6 +58,8 @@ usr/share/libvirt/cpu_map/x86_Opteron_G5.xml | |||
21 | 58 | usr/share/libvirt/cpu_map/x86_Penryn.xml | 58 | usr/share/libvirt/cpu_map/x86_Penryn.xml |
22 | 59 | usr/share/libvirt/cpu_map/x86_SandyBridge-IBRS.xml | 59 | usr/share/libvirt/cpu_map/x86_SandyBridge-IBRS.xml |
23 | 60 | usr/share/libvirt/cpu_map/x86_SandyBridge.xml | 60 | usr/share/libvirt/cpu_map/x86_SandyBridge.xml |
24 | 61 | usr/share/libvirt/cpu_map/x86_SapphireRapids-noTSX.xml | ||
25 | 62 | usr/share/libvirt/cpu_map/x86_SapphireRapids.xml | ||
26 | 61 | usr/share/libvirt/cpu_map/x86_Skylake-Client-IBRS.xml | 63 | usr/share/libvirt/cpu_map/x86_Skylake-Client-IBRS.xml |
27 | 62 | usr/share/libvirt/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 64 | usr/share/libvirt/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml |
28 | 63 | usr/share/libvirt/cpu_map/x86_Skylake-Client.xml | 65 | usr/share/libvirt/cpu_map/x86_Skylake-Client.xml |
29 | diff --git a/debian/patches/series b/debian/patches/series | |||
30 | index fa31371..8b1d998 100644 | |||
31 | --- a/debian/patches/series | |||
32 | +++ b/debian/patches/series | |||
33 | @@ -29,6 +29,30 @@ ubuntu/dnsmasq-as-priv-user | |||
34 | 29 | ubuntu/ovmf_paths.patch | 29 | ubuntu/ovmf_paths.patch |
35 | 30 | ubuntu/wait-for-qemu-kvm.patch | 30 | ubuntu/wait-for-qemu-kvm.patch |
36 | 31 | 31 | ||
37 | 32 | ubuntu/lp-2028057-01-alias-names-allow-additional-feature-node-children.patch | ||
38 | 33 | ubuntu/lp-2028057-02-alias-names-ignore.patch | ||
39 | 34 | ubuntu/lp-2028057-03-alias-names-make-machine-readable.patch | ||
40 | 35 | ubuntu/lp-2028057-04-qemu-i386-sync-cpu-features.patch | ||
41 | 36 | ubuntu/lp-2028057-05-add-missing-feature-amx.patch | ||
42 | 37 | ubuntu/lp-2028057-06-qemu-i386-rename-file.patch | ||
43 | 38 | ubuntu/lp-2028057-07-alias-names-add-to-features.patch | ||
44 | 39 | ubuntu/lp-2028057-08-add-missing-feature-sgx.patch | ||
45 | 40 | ubuntu/lp-2028057-09-add-missing-feature-sgxlc.patch | ||
46 | 41 | ubuntu/lp-2028057-10-add-missing-feature-sgx-exinfo.patch | ||
47 | 42 | ubuntu/lp-2028057-11-add-missing-feature-sgx1.patch | ||
48 | 43 | ubuntu/lp-2028057-12-add-missing-feature-sgx2.patch | ||
49 | 44 | ubuntu/lp-2028057-13-add-missing-feature-sgx-additional.patch | ||
50 | 45 | ubuntu/lp-2028057-14-add-missing-feature-bus-lock-detect.patch | ||
51 | 46 | ubuntu/lp-2028057-15-add-missing-feature-pks.patch | ||
52 | 47 | ubuntu/lp-2028057-16-add-missing-feature-avx512-vp2intersect.patch | ||
53 | 48 | ubuntu/lp-2028057-17-add-missing-feature-avx512-fp16.patch | ||
54 | 49 | ubuntu/lp-2028057-18-add-missing-feature-serialize.patch | ||
55 | 50 | ubuntu/lp-2028057-19-add-missing-feature-tsx-ldtrk.patch | ||
56 | 51 | ubuntu/lp-2028057-20-add-missing-feature-arch-lbr.patch | ||
57 | 52 | ubuntu/lp-2028057-21-add-missing-feature-xfd.patch | ||
58 | 53 | ubuntu/lp-2028057-22-add-missing-feature-intel-pt-lip.patch | ||
59 | 54 | ubuntu/lp-2028057-23-add-new-CPU-model-Intel-SapphireRapids.patch | ||
60 | 55 | |||
61 | 32 | # Ubuntu Apparmor Changes | 56 | # Ubuntu Apparmor Changes |
62 | 33 | ubuntu-aa/0020-virt-aa-helper-ubuntu-storage-paths.patch | 57 | ubuntu-aa/0020-virt-aa-helper-ubuntu-storage-paths.patch |
63 | 34 | ubuntu-aa/0029-appmor-libvirt-qemu-Add-9p-support.patch | 58 | ubuntu-aa/0029-appmor-libvirt-qemu-Add-9p-support.patch |
64 | diff --git a/debian/patches/ubuntu/lp-2028057-01-alias-names-allow-additional-feature-node-children.patch b/debian/patches/ubuntu/lp-2028057-01-alias-names-allow-additional-feature-node-children.patch | |||
65 | 35 | new file mode 100644 | 59 | new file mode 100644 |
66 | index 0000000..bd4d6be | |||
67 | --- /dev/null | |||
68 | +++ b/debian/patches/ubuntu/lp-2028057-01-alias-names-allow-additional-feature-node-children.patch | |||
69 | @@ -0,0 +1,33 @@ | |||
70 | 1 | Description: Allow for more than one child in feature nodes in cpu-data.py. | ||
71 | 2 | cpu-data.py assumes that all "feature" nodes have exactly one child. This | ||
72 | 3 | assumption is no longer true when the cpumap includes alias-names for | ||
73 | 4 | features. | ||
74 | 5 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
75 | 6 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/10a41a8cbdf4bcaba0039e97704afda8220cd8e0 | ||
76 | 7 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
77 | 8 | Forwarded: not-needed | ||
78 | 9 | Last-Update: 2023-11-29 | ||
79 | 10 | --- | ||
80 | 11 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
81 | 12 | --- a/tests/cputestdata/cpu-data.py | ||
82 | 13 | +++ b/tests/cputestdata/cpu-data.py | ||
83 | 14 | @@ -445,12 +445,15 @@ | ||
84 | 15 | |||
85 | 16 | cpuMap = dict() | ||
86 | 17 | for f in xml.etree.ElementTree.parse(path).getroot().iter("feature"): | ||
87 | 18 | - if f[0].tag not in ("cpuid", "msr"): | ||
88 | 19 | + data = f.find("cpuid") | ||
89 | 20 | + if data is None: | ||
90 | 21 | + data = f.find("msr") | ||
91 | 22 | + if data is None: | ||
92 | 23 | continue | ||
93 | 24 | |||
94 | 25 | - feature = {"type": f[0].tag} | ||
95 | 26 | - for reg in _KEYS[f[0].tag] + _REGS[f[0].tag]: | ||
96 | 27 | - feature[reg] = int(f[0].attrib.get(reg, "0"), 0) | ||
97 | 28 | + feature = {"type": data.tag} | ||
98 | 29 | + for reg in _KEYS[data.tag] + _REGS[data.tag]: | ||
99 | 30 | + feature[reg] = int(data.attrib.get(reg, "0"), 0) | ||
100 | 31 | cpuMap[f.attrib["name"]] = feature | ||
101 | 32 | return cpuMap | ||
102 | 33 | |||
103 | diff --git a/debian/patches/ubuntu/lp-2028057-02-alias-names-ignore.patch b/debian/patches/ubuntu/lp-2028057-02-alias-names-ignore.patch | |||
104 | 0 | new file mode 100644 | 34 | new file mode 100644 |
105 | index 0000000..3eb2351 | |||
106 | --- /dev/null | |||
107 | +++ b/debian/patches/ubuntu/lp-2028057-02-alias-names-ignore.patch | |||
108 | @@ -0,0 +1,45 @@ | |||
109 | 1 | Description: Ignore alias names in feature maps when parsing in cpu_x86. | ||
110 | 2 | This patch makes sure cpu_x86 skips over feature map alias names which will | ||
111 | 3 | be added in this series as they are meant only for QEMU synchronization. | ||
112 | 4 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
113 | 5 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/7b0c01db75b0c11ba6f80999b822cfadff4d28da | ||
114 | 6 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
115 | 7 | Forwarded: not-needed | ||
116 | 8 | Last-Update: 2023-11-29 | ||
117 | 9 | --- | ||
118 | 10 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
119 | 11 | --- a/src/cpu/cpu_x86.c | ||
120 | 12 | +++ b/src/cpu/cpu_x86.c | ||
121 | 13 | @@ -1089,7 +1089,7 @@ | ||
122 | 14 | x86ParseDataItemList(virCPUx86Data *cpudata, | ||
123 | 15 | xmlNodePtr node) | ||
124 | 16 | { | ||
125 | 17 | - size_t i; | ||
126 | 18 | + size_t i = 0; | ||
127 | 19 | |||
128 | 20 | if (xmlChildElementCount(node) <= 0) { | ||
129 | 21 | virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no x86 CPU data found")); | ||
130 | 22 | @@ -1097,9 +1097,14 @@ | ||
131 | 23 | } | ||
132 | 24 | |||
133 | 25 | node = xmlFirstElementChild(node); | ||
134 | 26 | - for (i = 0; node; ++i) { | ||
135 | 27 | + while (node) { | ||
136 | 28 | virCPUx86DataItem item; | ||
137 | 29 | |||
138 | 30 | + if (virXMLNodeNameEqual(node, "alias")) { | ||
139 | 31 | + node = xmlNextElementSibling(node); | ||
140 | 32 | + continue; | ||
141 | 33 | + } | ||
142 | 34 | + | ||
143 | 35 | if (virXMLNodeNameEqual(node, "cpuid")) { | ||
144 | 36 | if (x86ParseCPUID(node, &item) < 0) { | ||
145 | 37 | virReportError(VIR_ERR_INTERNAL_ERROR, | ||
146 | 38 | @@ -1116,6 +1121,7 @@ | ||
147 | 39 | |||
148 | 40 | if (virCPUx86DataAddItem(cpudata, &item) < 0) | ||
149 | 41 | return -1; | ||
150 | 42 | + ++i; | ||
151 | 43 | |||
152 | 44 | node = xmlNextElementSibling(node); | ||
153 | 45 | } | ||
154 | diff --git a/debian/patches/ubuntu/lp-2028057-03-alias-names-make-machine-readable.patch b/debian/patches/ubuntu/lp-2028057-03-alias-names-make-machine-readable.patch | |||
155 | 0 | new file mode 100644 | 46 | new file mode 100644 |
156 | index 0000000..9200c9e | |||
157 | --- /dev/null | |||
158 | +++ b/debian/patches/ubuntu/lp-2028057-03-alias-names-make-machine-readable.patch | |||
159 | @@ -0,0 +1,161 @@ | |||
160 | 1 | Description: Make x86 feature alias names machine readable. | ||
161 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
162 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/1d946ac79416f3731262c059c35a234c95285d46 | ||
163 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
164 | 5 | Forwarded: not-needed | ||
165 | 6 | Last-Update: 2023-11-29 | ||
166 | 7 | --- | ||
167 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
168 | 9 | --- a/src/cpu_map/x86_features.xml | ||
169 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
170 | 11 | @@ -98,10 +98,12 @@ | ||
171 | 12 | </feature> | ||
172 | 13 | |||
173 | 14 | <!-- standard features, ECX --> | ||
174 | 15 | - <feature name='pni'> <!-- sse3 --> | ||
175 | 16 | + <feature name='pni'> | ||
176 | 17 | + <alias name='sse3' source='qemu'/> | ||
177 | 18 | <cpuid eax_in='0x01' ecx='0x00000001'/> | ||
178 | 19 | </feature> | ||
179 | 20 | - <feature name='pclmuldq'> <!-- pclmulqdq --> | ||
180 | 21 | + <feature name='pclmuldq'> | ||
181 | 22 | + <alias name='pclmulqdq' source='qemu'/> | ||
182 | 23 | <cpuid eax_in='0x01' ecx='0x00000002'/> | ||
183 | 24 | </feature> | ||
184 | 25 | <feature name='dtes64'> | ||
185 | 26 | @@ -110,7 +112,8 @@ | ||
186 | 27 | <feature name='monitor'> | ||
187 | 28 | <cpuid eax_in='0x01' ecx='0x00000008'/> | ||
188 | 29 | </feature> | ||
189 | 30 | - <feature name='ds_cpl'> <!-- ds-cpl --> | ||
190 | 31 | + <feature name='ds_cpl'> | ||
191 | 32 | + <alias name='ds-cpl' source='qemu'/> | ||
192 | 33 | <cpuid eax_in='0x01' ecx='0x00000010'/> | ||
193 | 34 | </feature> | ||
194 | 35 | <feature name='vmx'> | ||
195 | 36 | @@ -149,10 +152,14 @@ | ||
196 | 37 | <feature name='dca'> | ||
197 | 38 | <cpuid eax_in='0x01' ecx='0x00040000'/> | ||
198 | 39 | </feature> | ||
199 | 40 | - <feature name='sse4.1'> <!-- sse4-1, sse4_1 --> | ||
200 | 41 | + <feature name='sse4.1'> | ||
201 | 42 | + <alias name='sse4-1' source='qemu'/> | ||
202 | 43 | + <alias name='sse4_1' source='qemu'/> | ||
203 | 44 | <cpuid eax_in='0x01' ecx='0x00080000'/> | ||
204 | 45 | </feature> | ||
205 | 46 | - <feature name='sse4.2'> <!-- sse4-2, sse4_2 --> | ||
206 | 47 | + <feature name='sse4.2'> | ||
207 | 48 | + <alias name='sse4-2' source='qemu'/> | ||
208 | 49 | + <alias name='sse4_2' source='qemu'/> | ||
209 | 50 | <cpuid eax_in='0x01' ecx='0x00100000'/> | ||
210 | 51 | </feature> | ||
211 | 52 | <feature name='x2apic'> | ||
212 | 53 | @@ -198,7 +205,8 @@ | ||
213 | 54 | <feature name='fsgsbase'> | ||
214 | 55 | <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000001'/> | ||
215 | 56 | </feature> | ||
216 | 57 | - <feature name='tsc_adjust'> <!-- tsc-adjust --> | ||
217 | 58 | + <feature name='tsc_adjust'> | ||
218 | 59 | + <alias name='tsc-adjust' source='qemu'/> | ||
219 | 60 | <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000002'/> | ||
220 | 61 | </feature> | ||
221 | 62 | <feature name='bmi1'> | ||
222 | 63 | @@ -225,7 +233,8 @@ | ||
223 | 64 | <feature name='rtm'> | ||
224 | 65 | <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000800'/> | ||
225 | 66 | </feature> | ||
226 | 67 | - <feature name='cmt'> <!-- cqm --> | ||
227 | 68 | + <feature name='cmt'> | ||
228 | 69 | + <alias name='cqm' source='linux'/> | ||
229 | 70 | <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00001000'/> | ||
230 | 71 | </feature> | ||
231 | 72 | <feature name='mpx'> | ||
232 | 73 | @@ -341,7 +350,8 @@ | ||
233 | 74 | <feature name='fsrm'> | ||
234 | 75 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000010'/> | ||
235 | 76 | </feature> | ||
236 | 77 | - <feature name='md-clear'> <!-- md_clear --> | ||
237 | 78 | + <feature name='md-clear'> | ||
238 | 79 | + <alias name='md_clear' source='linux'/> | ||
239 | 80 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000400'/> | ||
240 | 81 | </feature> | ||
241 | 82 | <feature name='pconfig'> | ||
242 | 83 | @@ -362,7 +372,8 @@ | ||
243 | 84 | <feature name='stibp'> | ||
244 | 85 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x08000000'/> | ||
245 | 86 | </feature> | ||
246 | 87 | - <feature name='arch-capabilities'> <!-- arch_capabilities, arch-facilities --> | ||
247 | 88 | + <feature name='arch-capabilities'> | ||
248 | 89 | + <alias name='arch_capabilities' source='linux'/> | ||
249 | 90 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x20000000'/> | ||
250 | 91 | </feature> | ||
251 | 92 | <feature name='core-capability'> | ||
252 | 93 | @@ -405,13 +416,16 @@ | ||
253 | 94 | <feature name='syscall'> | ||
254 | 95 | <cpuid eax_in='0x80000001' edx='0x00000800'/> | ||
255 | 96 | </feature> | ||
256 | 97 | - <feature name='nx'> <!-- xd --> | ||
257 | 98 | + <feature name='nx'> | ||
258 | 99 | + <alias name='xd' source='qemu'/> | ||
259 | 100 | <cpuid eax_in='0x80000001' edx='0x00100000'/> | ||
260 | 101 | </feature> | ||
261 | 102 | <feature name='mmxext'> | ||
262 | 103 | <cpuid eax_in='0x80000001' edx='0x00400000'/> | ||
263 | 104 | </feature> | ||
264 | 105 | - <feature name='fxsr_opt'> <!-- ffxsr, fxsr-opt --> | ||
265 | 106 | + <feature name='fxsr_opt'> | ||
266 | 107 | + <alias name='ffxsr' source='qemu'/> | ||
267 | 108 | + <alias name='fxsr-opt' source='qemu'/> | ||
268 | 109 | <cpuid eax_in='0x80000001' edx='0x02000000'/> | ||
269 | 110 | </feature> | ||
270 | 111 | <feature name='pdpe1gb'> | ||
271 | 112 | @@ -420,7 +434,8 @@ | ||
272 | 113 | <feature name='rdtscp'> | ||
273 | 114 | <cpuid eax_in='0x80000001' edx='0x08000000'/> | ||
274 | 115 | </feature> | ||
275 | 116 | - <feature name='lm'> <!-- i64 --> | ||
276 | 117 | + <feature name='lm'> | ||
277 | 118 | + <alias name='i64' source='qemu'/> | ||
278 | 119 | <cpuid eax_in='0x80000001' edx='0x20000000'/> | ||
279 | 120 | </feature> | ||
280 | 121 | <feature name='3dnowext'> | ||
281 | 122 | @@ -431,10 +446,12 @@ | ||
282 | 123 | </feature> | ||
283 | 124 | |||
284 | 125 | <!-- extended features, ECX --> | ||
285 | 126 | - <feature name='lahf_lm'> <!-- lahf-lm --> | ||
286 | 127 | + <feature name='lahf_lm'> | ||
287 | 128 | + <alias name='lahf-lm' source='qemu'/> | ||
288 | 129 | <cpuid eax_in='0x80000001' ecx='0x00000001'/> | ||
289 | 130 | </feature> | ||
290 | 131 | - <feature name='cmp_legacy'> <!-- cmp-legacy --> | ||
291 | 132 | + <feature name='cmp_legacy'> | ||
292 | 133 | + <alias name='cmp-legacy' source='qemu'/> | ||
293 | 134 | <cpuid eax_in='0x80000001' ecx='0x00000002'/> | ||
294 | 135 | </feature> | ||
295 | 136 | <feature name='svm'> | ||
296 | 137 | @@ -485,7 +502,8 @@ | ||
297 | 138 | <feature name='cvt16'> | ||
298 | 139 | <cpuid eax_in='0x80000001' ecx='0x00040000'/> | ||
299 | 140 | </feature> | ||
300 | 141 | - <feature name='nodeid_msr'> <!-- nodeid-msr --> | ||
301 | 142 | + <feature name='nodeid_msr'> | ||
302 | 143 | + <alias name='nodeid-msr' source='qemu'/> | ||
303 | 144 | <cpuid eax_in='0x80000001' ecx='0x00080000'/> | ||
304 | 145 | </feature> | ||
305 | 146 | <feature name='tbm'> | ||
306 | 147 | @@ -494,10 +512,12 @@ | ||
307 | 148 | <feature name='topoext'> | ||
308 | 149 | <cpuid eax_in='0x80000001' ecx='0x00400000'/> | ||
309 | 150 | </feature> | ||
310 | 151 | - <feature name='perfctr_core'> <!-- perfctr-core --> | ||
311 | 152 | + <feature name='perfctr_core'> | ||
312 | 153 | + <alias name='perfctr-core' source='qemu'/> | ||
313 | 154 | <cpuid eax_in='0x80000001' ecx='0x00800000'/> | ||
314 | 155 | </feature> | ||
315 | 156 | - <feature name='perfctr_nb'> <!-- perfctr-nb --> | ||
316 | 157 | + <feature name='perfctr_nb'> | ||
317 | 158 | + <alias name='perfctr-nb' source='qemu'/> | ||
318 | 159 | <cpuid eax_in='0x80000001' ecx='0x01000000'/> | ||
319 | 160 | </feature> | ||
320 | 161 | |||
321 | diff --git a/debian/patches/ubuntu/lp-2028057-04-qemu-i386-sync-cpu-features.patch b/debian/patches/ubuntu/lp-2028057-04-qemu-i386-sync-cpu-features.patch | |||
322 | 0 | new file mode 100644 | 162 | new file mode 100644 |
323 | index 0000000..97b9f2a | |||
324 | --- /dev/null | |||
325 | +++ b/debian/patches/ubuntu/lp-2028057-04-qemu-i386-sync-cpu-features.patch | |||
326 | @@ -0,0 +1,292 @@ | |||
327 | 1 | Description: Add script to sync from QEMU i386 cpu features. | ||
328 | 2 | This script is intended to help in synchronizing i386 QEMU cpu feature | ||
329 | 3 | definitions with libvirt. QEMU's attribute list for the "max-x86_64-cpu" | ||
330 | 4 | contains non-cpu-feature items and needs to be filtered before being useful. | ||
331 | 5 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
332 | 6 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/fe69966cbbdd51e409506bd485e75b317fde8fbb | ||
333 | 7 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
334 | 8 | Forwarded: not-needed | ||
335 | 9 | Last-Update: 2023-11-29 | ||
336 | 10 | --- | ||
337 | 11 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
338 | 12 | --- /dev/null | ||
339 | 13 | +++ b/src/cpu_map/sync_qemu_features_i386.py | ||
340 | 14 | @@ -0,0 +1,278 @@ | ||
341 | 15 | +#!/usr/bin/env python3 | ||
342 | 16 | + | ||
343 | 17 | +import argparse | ||
344 | 18 | +import json | ||
345 | 19 | +import subprocess | ||
346 | 20 | +import xml.etree.ElementTree | ||
347 | 21 | + | ||
348 | 22 | + | ||
349 | 23 | +def ignore_feature(feature): | ||
350 | 24 | + ignored_features = [ | ||
351 | 25 | + # VIA/Cyrix/Centaur-defined CPU features | ||
352 | 26 | + # CPUID level 0xC0000001, word 5 | ||
353 | 27 | + "ace2", | ||
354 | 28 | + "ace2-en", | ||
355 | 29 | + "phe", | ||
356 | 30 | + "phe-en", | ||
357 | 31 | + "pmm", | ||
358 | 32 | + "pmm-en", | ||
359 | 33 | + "xcrypt", | ||
360 | 34 | + "xcrypt-en", | ||
361 | 35 | + "xstore", | ||
362 | 36 | + "xstore-en", | ||
363 | 37 | + | ||
364 | 38 | + # non-features | ||
365 | 39 | + "check", | ||
366 | 40 | + "cpuid-0xb", | ||
367 | 41 | + "enforce", | ||
368 | 42 | + "fill-mtrr-mask", | ||
369 | 43 | + "full-cpuid-auto-level", | ||
370 | 44 | + "full-width-write", | ||
371 | 45 | + "host-cache-info", | ||
372 | 46 | + "host-phys-bits", | ||
373 | 47 | + "hotpluggable", | ||
374 | 48 | + "hotplugged", | ||
375 | 49 | + "hv-apicv", | ||
376 | 50 | + "hv-avic", | ||
377 | 51 | + "hv-crash", | ||
378 | 52 | + "hv-emsr-bitmap", | ||
379 | 53 | + "hv-enforce-cpuid", | ||
380 | 54 | + "hv-evmcs", | ||
381 | 55 | + "hv-frequencies", | ||
382 | 56 | + "hv-ipi", | ||
383 | 57 | + "hv-passthrough", | ||
384 | 58 | + "hv-reenlightenment", | ||
385 | 59 | + "hv-relaxed", | ||
386 | 60 | + "hv-reset", | ||
387 | 61 | + "hv-runtime", | ||
388 | 62 | + "hv-stimer", | ||
389 | 63 | + "hv-stimer-direct", | ||
390 | 64 | + "hv-syndbg", | ||
391 | 65 | + "hv-synic", | ||
392 | 66 | + "hv-time", | ||
393 | 67 | + "hv-tlbflush", | ||
394 | 68 | + "hv-tlbflush-direct", | ||
395 | 69 | + "hv-tlbflush-ext", | ||
396 | 70 | + "hv-vapic", | ||
397 | 71 | + "hv-vpindex", | ||
398 | 72 | + "hv-xmm-input", | ||
399 | 73 | + "kvm", | ||
400 | 74 | + "kvm-asyncpf", | ||
401 | 75 | + "kvm-asyncpf-int", | ||
402 | 76 | + "kvm-hint-dedicated", | ||
403 | 77 | + "kvm-mmu", | ||
404 | 78 | + "kvm-msi-ext-dest-id", | ||
405 | 79 | + "kvm-no-smi-migration", | ||
406 | 80 | + "kvm-nopiodelay", | ||
407 | 81 | + "kvm-poll-control", | ||
408 | 82 | + "kvm-pv-enforce-cpuid", | ||
409 | 83 | + "kvm-pv-eoi", | ||
410 | 84 | + "kvm-pv-ipi", | ||
411 | 85 | + "kvm-pv-sched-yield", | ||
412 | 86 | + "kvm-pv-tlb-flush", | ||
413 | 87 | + "kvm-pv-unhalt", | ||
414 | 88 | + "kvm-steal-time", | ||
415 | 89 | + "kvm_asyncpf", | ||
416 | 90 | + "kvm_asyncpf_int", | ||
417 | 91 | + "kvm_mmu", | ||
418 | 92 | + "kvm_nopiodelay", | ||
419 | 93 | + "kvm_poll_control", | ||
420 | 94 | + "kvm_pv_eoi", | ||
421 | 95 | + "kvm_pv_unhalt", | ||
422 | 96 | + "kvm_steal_time", | ||
423 | 97 | + "kvmclock", | ||
424 | 98 | + "kvmclock-stable-bit", | ||
425 | 99 | + "l3-cache", | ||
426 | 100 | + "legacy-cache", | ||
427 | 101 | + "lmce", | ||
428 | 102 | + "migratable", | ||
429 | 103 | + "pmu", | ||
430 | 104 | + "realized", | ||
431 | 105 | + "start-powered-off", | ||
432 | 106 | + "tcg-cpuid", | ||
433 | 107 | + "vmware-cpuid-freq", | ||
434 | 108 | + "vmx-activity-hlt", | ||
435 | 109 | + "vmx-activity-shutdown", | ||
436 | 110 | + "vmx-activity-wait-sipi", | ||
437 | 111 | + "vmx-apicv-register", | ||
438 | 112 | + "vmx-apicv-vid", | ||
439 | 113 | + "vmx-apicv-x2apic", | ||
440 | 114 | + "vmx-apicv-xapic", | ||
441 | 115 | + "vmx-cr3-load-noexit", | ||
442 | 116 | + "vmx-cr3-store-noexit", | ||
443 | 117 | + "vmx-cr8-load-exit", | ||
444 | 118 | + "vmx-cr8-store-exit", | ||
445 | 119 | + "vmx-desc-exit", | ||
446 | 120 | + "vmx-encls-exit", | ||
447 | 121 | + "vmx-entry-ia32e-mode", | ||
448 | 122 | + "vmx-entry-load-bndcfgs", | ||
449 | 123 | + "vmx-entry-load-efer", | ||
450 | 124 | + "vmx-entry-load-pat", | ||
451 | 125 | + "vmx-entry-load-perf-global-ctrl", | ||
452 | 126 | + "vmx-entry-load-pkrs", | ||
453 | 127 | + "vmx-entry-load-rtit-ctl", | ||
454 | 128 | + "vmx-entry-noload-debugctl", | ||
455 | 129 | + "vmx-ept", | ||
456 | 130 | + "vmx-ept-1gb", | ||
457 | 131 | + "vmx-ept-2mb", | ||
458 | 132 | + "vmx-ept-advanced-exitinfo", | ||
459 | 133 | + "vmx-ept-execonly", | ||
460 | 134 | + "vmx-eptad", | ||
461 | 135 | + "vmx-eptp-switching", | ||
462 | 136 | + "vmx-exit-ack-intr", | ||
463 | 137 | + "vmx-exit-clear-bndcfgs", | ||
464 | 138 | + "vmx-exit-clear-rtit-ctl", | ||
465 | 139 | + "vmx-exit-load-efer", | ||
466 | 140 | + "vmx-exit-load-pat", | ||
467 | 141 | + "vmx-exit-load-perf-global-ctrl", | ||
468 | 142 | + "vmx-exit-load-pkrs", | ||
469 | 143 | + "vmx-exit-nosave-debugctl", | ||
470 | 144 | + "vmx-exit-save-efer", | ||
471 | 145 | + "vmx-exit-save-pat", | ||
472 | 146 | + "vmx-exit-save-preemption-timer", | ||
473 | 147 | + "vmx-flexpriority", | ||
474 | 148 | + "vmx-hlt-exit", | ||
475 | 149 | + "vmx-ins-outs", | ||
476 | 150 | + "vmx-intr-exit", | ||
477 | 151 | + "vmx-invept", | ||
478 | 152 | + "vmx-invept-all-context", | ||
479 | 153 | + "vmx-invept-single-context", | ||
480 | 154 | + "vmx-invept-single-context-noglobals", | ||
481 | 155 | + "vmx-invlpg-exit", | ||
482 | 156 | + "vmx-invpcid-exit", | ||
483 | 157 | + "vmx-invvpid", | ||
484 | 158 | + "vmx-invvpid-all-context", | ||
485 | 159 | + "vmx-invvpid-single-addr", | ||
486 | 160 | + "vmx-io-bitmap", | ||
487 | 161 | + "vmx-io-exit", | ||
488 | 162 | + "vmx-monitor-exit", | ||
489 | 163 | + "vmx-movdr-exit", | ||
490 | 164 | + "vmx-msr-bitmap", | ||
491 | 165 | + "vmx-mtf", | ||
492 | 166 | + "vmx-mwait-exit", | ||
493 | 167 | + "vmx-nmi-exit", | ||
494 | 168 | + "vmx-page-walk-4", | ||
495 | 169 | + "vmx-page-walk-5", | ||
496 | 170 | + "vmx-pause-exit", | ||
497 | 171 | + "vmx-ple", | ||
498 | 172 | + "vmx-pml", | ||
499 | 173 | + "vmx-posted-intr", | ||
500 | 174 | + "vmx-preemption-timer", | ||
501 | 175 | + "vmx-rdpmc-exit", | ||
502 | 176 | + "vmx-rdrand-exit", | ||
503 | 177 | + "vmx-rdseed-exit", | ||
504 | 178 | + "vmx-rdtsc-exit", | ||
505 | 179 | + "vmx-rdtscp-exit", | ||
506 | 180 | + "vmx-secondary-ctls", | ||
507 | 181 | + "vmx-shadow-vmcs", | ||
508 | 182 | + "vmx-store-lma", | ||
509 | 183 | + "vmx-true-ctls", | ||
510 | 184 | + "vmx-tsc-offset", | ||
511 | 185 | + "vmx-tsc-scaling", | ||
512 | 186 | + "vmx-unrestricted-guest", | ||
513 | 187 | + "vmx-vintr-pending", | ||
514 | 188 | + "vmx-vmfunc", | ||
515 | 189 | + "vmx-vmwrite-vmexit-fields", | ||
516 | 190 | + "vmx-vnmi", | ||
517 | 191 | + "vmx-vnmi-pending", | ||
518 | 192 | + "vmx-vpid", | ||
519 | 193 | + "vmx-wbinvd-exit", | ||
520 | 194 | + "vmx-xsaves", | ||
521 | 195 | + "vmx-zero-len-inject", | ||
522 | 196 | + ] | ||
523 | 197 | + | ||
524 | 198 | + if feature["type"] != "bool": | ||
525 | 199 | + return True | ||
526 | 200 | + | ||
527 | 201 | + name = feature["name"] | ||
528 | 202 | + | ||
529 | 203 | + if name.startswith("x-"): | ||
530 | 204 | + return True | ||
531 | 205 | + | ||
532 | 206 | + if name in ignored_features: | ||
533 | 207 | + return True | ||
534 | 208 | + | ||
535 | 209 | + return False | ||
536 | 210 | + | ||
537 | 211 | + | ||
538 | 212 | +def get_qemu_feature_list(path_to_qemu): | ||
539 | 213 | + cmd = [ | ||
540 | 214 | + path_to_qemu, | ||
541 | 215 | + "-machine", "accel=kvm", | ||
542 | 216 | + "-cpu", "host", | ||
543 | 217 | + "-nodefaults", | ||
544 | 218 | + "-nographic", | ||
545 | 219 | + "-qmp", | ||
546 | 220 | + "stdio" | ||
547 | 221 | + ] | ||
548 | 222 | + | ||
549 | 223 | + request = """ | ||
550 | 224 | + { | ||
551 | 225 | + "execute": "qmp_capabilities" | ||
552 | 226 | + } | ||
553 | 227 | + { | ||
554 | 228 | + "execute": "qom-list-properties", | ||
555 | 229 | + "arguments": { | ||
556 | 230 | + "typename": "max-x86_64-cpu" | ||
557 | 231 | + }, | ||
558 | 232 | + "id": "qom-list-properties" | ||
559 | 233 | + } | ||
560 | 234 | + { | ||
561 | 235 | + "execute": "quit" | ||
562 | 236 | + } | ||
563 | 237 | + """ | ||
564 | 238 | + | ||
565 | 239 | + decoder = json.JSONDecoder() | ||
566 | 240 | + output = subprocess.check_output(cmd, input=request, text=True) | ||
567 | 241 | + while output: | ||
568 | 242 | + obj, idx = decoder.raw_decode(output) | ||
569 | 243 | + output = output[idx:].strip() | ||
570 | 244 | + if obj.get("id") != "qom-list-properties": | ||
571 | 245 | + continue | ||
572 | 246 | + for feature in obj["return"]: | ||
573 | 247 | + if ignore_feature(feature): | ||
574 | 248 | + continue | ||
575 | 249 | + yield feature["name"] | ||
576 | 250 | + | ||
577 | 251 | + | ||
578 | 252 | +def get_libvirt_feature_list(path_to_featuresfile): | ||
579 | 253 | + dom = xml.etree.ElementTree.parse(path_to_featuresfile) | ||
580 | 254 | + for feature in dom.getroot().iter("feature"): | ||
581 | 255 | + yield feature.get("name") | ||
582 | 256 | + for alias in feature: | ||
583 | 257 | + if alias.tag == "alias" and alias.get("source") == "qemu": | ||
584 | 258 | + yield alias.get("name") | ||
585 | 259 | + | ||
586 | 260 | + | ||
587 | 261 | +def main(): | ||
588 | 262 | + parser = argparse.ArgumentParser( | ||
589 | 263 | + description="Synchronize x86 cpu features from QEMU i386 target.") | ||
590 | 264 | + parser.add_argument( | ||
591 | 265 | + "--qemu", | ||
592 | 266 | + help="Path to qemu executable", | ||
593 | 267 | + default="qemu-system-x86_64", | ||
594 | 268 | + type=str) | ||
595 | 269 | + parser.add_argument( | ||
596 | 270 | + "--features", | ||
597 | 271 | + help="Path to 'src/cpu_map/x86_features.xml' file in " | ||
598 | 272 | + "the libvirt repository", | ||
599 | 273 | + default="x86_features.xml", | ||
600 | 274 | + type=str) | ||
601 | 275 | + | ||
602 | 276 | + args = parser.parse_args() | ||
603 | 277 | + | ||
604 | 278 | + qfeatures = get_qemu_feature_list(args.qemu) | ||
605 | 279 | + lfeatures = list(get_libvirt_feature_list(args.features)) | ||
606 | 280 | + missing = [f for f in sorted(qfeatures) if f not in lfeatures] | ||
607 | 281 | + | ||
608 | 282 | + if missing: | ||
609 | 283 | + print("The following features were reported by qemu but are " | ||
610 | 284 | + "unknown to libvirt:") | ||
611 | 285 | + for feature in missing: | ||
612 | 286 | + print(" *", feature) | ||
613 | 287 | + | ||
614 | 288 | + return len(missing) != 0 | ||
615 | 289 | + | ||
616 | 290 | + | ||
617 | 291 | +if __name__ == "__main__": | ||
618 | 292 | + exit(main()) | ||
619 | diff --git a/debian/patches/ubuntu/lp-2028057-05-add-missing-feature-amx.patch b/debian/patches/ubuntu/lp-2028057-05-add-missing-feature-amx.patch | |||
620 | 0 | new file mode 100644 | 293 | new file mode 100644 |
621 | index 0000000..a44564b | |||
622 | --- /dev/null | |||
623 | +++ b/debian/patches/ubuntu/lp-2028057-05-add-missing-feature-amx.patch | |||
624 | @@ -0,0 +1,41 @@ | |||
625 | 1 | Description: Add cpu feature amx. | ||
626 | 2 | AMX is one of the features used in Sapphire Rapids CPUs. This patch adds | ||
627 | 3 | feature definitions for amx-bf16, amx-tile, and amx-int8, and syncs them | ||
628 | 4 | with QEMU using the script added in the previous patch. | ||
629 | 5 | Author: Lin Yang <lin.a.yang@intel.com> | ||
630 | 6 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/e528717d9039e1f571c6546f2ea9c6ba55e2507a | ||
631 | 7 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
632 | 8 | Forwarded: not-needed | ||
633 | 9 | Last-Update: 2023-11-29 | ||
634 | 10 | --- | ||
635 | 11 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
636 | 12 | --- a/src/cpu_map/sync_qemu_i386.py | ||
637 | 13 | +++ b/src/cpu_map/sync_qemu_i386.py | ||
638 | 14 | @@ -72,6 +72,9 @@ | ||
639 | 15 | "CPUID_7_0_EDX_SPEC_CTRL": "spec-ctrl", | ||
640 | 16 | "CPUID_7_0_EDX_SPEC_CTRL_SSBD": "ssbd", | ||
641 | 17 | "CPUID_7_0_EDX_STIBP": "stibp", | ||
642 | 18 | + "CPUID_7_0_EDX_AMX_BF16": "amx-bf16", | ||
643 | 19 | + "CPUID_7_0_EDX_AMX_TILE": "amx-tile", | ||
644 | 20 | + "CPUID_7_0_EDX_AMX_INT8": "amx-int8", | ||
645 | 21 | "CPUID_7_1_EAX_AVX512_BF16": "avx512-bf16", | ||
646 | 22 | "CPUID_7_1_EAX_AVX_VNNI": "avx-vnni", | ||
647 | 23 | "CPUID_8000_0008_EBX_AMD_SSBD": "amd-ssbd", | ||
648 | 24 | --- a/src/cpu_map/x86_features.xml | ||
649 | 25 | +++ b/src/cpu_map/x86_features.xml | ||
650 | 26 | @@ -347,6 +347,15 @@ | ||
651 | 27 | <feature name='pconfig'> | ||
652 | 28 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/> | ||
653 | 29 | </feature> | ||
654 | 30 | + <feature name='amx-bf16'> | ||
655 | 31 | + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00400000'/> | ||
656 | 32 | + </feature> | ||
657 | 33 | + <feature name='amx-tile'> | ||
658 | 34 | + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x01000000'/> | ||
659 | 35 | + </feature> | ||
660 | 36 | + <feature name='amx-int8'> | ||
661 | 37 | + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x02000000'/> | ||
662 | 38 | + </feature> | ||
663 | 39 | <feature name='spec-ctrl'> | ||
664 | 40 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x04000000'/> | ||
665 | 41 | </feature> | ||
666 | diff --git a/debian/patches/ubuntu/lp-2028057-06-qemu-i386-rename-file.patch b/debian/patches/ubuntu/lp-2028057-06-qemu-i386-rename-file.patch | |||
667 | 0 | new file mode 100644 | 42 | new file mode 100644 |
668 | index 0000000..9607a9b | |||
669 | --- /dev/null | |||
670 | +++ b/debian/patches/ubuntu/lp-2028057-06-qemu-i386-rename-file.patch | |||
671 | @@ -0,0 +1,15 @@ | |||
672 | 1 | Description: Rename sync_qemu_i386.py to sync_qemu_models_i386.py. | ||
673 | 2 | The QEMU sync script was renamed upstream to make naming more consistent. This | ||
674 | 3 | patch is included to make the script work alongside the other patches for | ||
675 | 4 | Sapphire Rapids. | ||
676 | 5 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
677 | 6 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/84080aabc0f9959b16e60cffeb634f420f86df0f | ||
678 | 7 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
679 | 8 | Forwarded: not-needed | ||
680 | 9 | Last-Update: 2023-11-29 | ||
681 | 10 | --- | ||
682 | 11 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
683 | 12 | diff --git a/src/cpu_map/sync_qemu_i386.py b/src/cpu_map/sync_qemu_models_i386.py | ||
684 | 13 | similarity index 100% | ||
685 | 14 | rename from src/cpu_map/sync_qemu_i386.py | ||
686 | 15 | rename to src/cpu_map/sync_qemu_models_i386.py | ||
687 | diff --git a/debian/patches/ubuntu/lp-2028057-07-alias-names-add-to-features.patch b/debian/patches/ubuntu/lp-2028057-07-alias-names-add-to-features.patch | |||
688 | 0 | new file mode 100644 | 16 | new file mode 100644 |
689 | index 0000000..8a82467 | |||
690 | --- /dev/null | |||
691 | +++ b/debian/patches/ubuntu/lp-2028057-07-alias-names-add-to-features.patch | |||
692 | @@ -0,0 +1,39 @@ | |||
693 | 1 | Description: Add alias names for some features. | ||
694 | 2 | Add alias names for features with names that have '_' instead of '-' in QEMU. | ||
695 | 3 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
696 | 4 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/eb9912b4877b526f254af05f20c15a63fc633320 | ||
697 | 5 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
698 | 6 | Forwarded: not-needed | ||
699 | 7 | Last-Update: 2023-11-29 | ||
700 | 8 | --- | ||
701 | 9 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
702 | 10 | --- a/src/cpu_map/x86_features.xml | ||
703 | 11 | +++ b/src/cpu_map/x86_features.xml | ||
704 | 12 | @@ -563,15 +563,19 @@ | ||
705 | 13 | <cpuid eax_in='0x8000000a' edx='0x00000002'/> | ||
706 | 14 | </feature> | ||
707 | 15 | <feature name='svm-lock'> | ||
708 | 16 | + <alias name='svm_lock' source='qemu'/> | ||
709 | 17 | <cpuid eax_in='0x8000000a' edx='0x00000004'/> | ||
710 | 18 | </feature> | ||
711 | 19 | <feature name='nrip-save'> | ||
712 | 20 | + <alias name='nrip_save' source='qemu'/> | ||
713 | 21 | <cpuid eax_in='0x8000000a' edx='0x00000008'/> | ||
714 | 22 | </feature> | ||
715 | 23 | <feature name='tsc-scale'> | ||
716 | 24 | + <alias name='tsc_scale' source='qemu'/> | ||
717 | 25 | <cpuid eax_in='0x8000000a' edx='0x00000010'/> | ||
718 | 26 | </feature> | ||
719 | 27 | <feature name='vmcb-clean'> | ||
720 | 28 | + <alias name='vmcb_clean' source='qemu'/> | ||
721 | 29 | <cpuid eax_in='0x8000000a' edx='0x00000020'/> | ||
722 | 30 | </feature> | ||
723 | 31 | <feature name='flushbyasid'> | ||
724 | 32 | @@ -581,6 +585,7 @@ | ||
725 | 33 | <cpuid eax_in='0x8000000a' edx='0x00000080'/> | ||
726 | 34 | </feature> | ||
727 | 35 | <feature name='pause-filter'> | ||
728 | 36 | + <alias name='pause_filter' source='qemu'/> | ||
729 | 37 | <cpuid eax_in='0x8000000a' edx='0x00000400'/> | ||
730 | 38 | </feature> | ||
731 | 39 | <feature name='pfthreshold'> | ||
732 | diff --git a/debian/patches/ubuntu/lp-2028057-08-add-missing-feature-sgx.patch b/debian/patches/ubuntu/lp-2028057-08-add-missing-feature-sgx.patch | |||
733 | 0 | new file mode 100644 | 40 | new file mode 100644 |
734 | index 0000000..b2a21bb | |||
735 | --- /dev/null | |||
736 | +++ b/debian/patches/ubuntu/lp-2028057-08-add-missing-feature-sgx.patch | |||
737 | @@ -0,0 +1,236 @@ | |||
738 | 1 | Description: Add cpu feature sgx. | ||
739 | 2 | This patch adds the feature definition for SGX, and adds the feature to the | ||
740 | 3 | relevant existing processors - i7-7700, i7-8550U, i7-8700, IceLake Server, | ||
741 | 4 | Xeon E3-1225-v5, and Xeon E3-1245-v5. | ||
742 | 5 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
743 | 6 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/24b95e07d27d73576eca5d2852a10103b4e4d3d1 | ||
744 | 7 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
745 | 8 | Forwarded: not-needed | ||
746 | 9 | Last-Update: 2023-11-29 | ||
747 | 10 | --- | ||
748 | 11 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
749 | 12 | --- a/src/cpu_map/x86_features.xml | ||
750 | 13 | +++ b/src/cpu_map/x86_features.xml | ||
751 | 14 | @@ -209,6 +209,9 @@ | ||
752 | 15 | <alias name='tsc-adjust' source='qemu'/> | ||
753 | 16 | <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000002'/> | ||
754 | 17 | </feature> | ||
755 | 18 | + <feature name='sgx'> | ||
756 | 19 | + <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000004'/> | ||
757 | 20 | + </feature> | ||
758 | 21 | <feature name='bmi1'> | ||
759 | 22 | <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000008'/> | ||
760 | 23 | </feature> | ||
761 | 24 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-disabled.xml | ||
762 | 25 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-disabled.xml | ||
763 | 26 | @@ -1,6 +1,6 @@ | ||
764 | 27 | <!-- Features disabled by QEMU --> | ||
765 | 28 | <cpudata arch='x86'> | ||
766 | 29 | <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/> | ||
767 | 30 | - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x08000000'/> | ||
768 | 31 | + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x08000000'/> | ||
769 | 32 | <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> | ||
770 | 33 | </cpudata> | ||
771 | 34 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml | ||
772 | 35 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml | ||
773 | 36 | @@ -18,6 +18,7 @@ | ||
774 | 37 | <feature policy='require' name='pdcm'/> | ||
775 | 38 | <feature policy='require' name='osxsave'/> | ||
776 | 39 | <feature policy='require' name='tsc_adjust'/> | ||
777 | 40 | + <feature policy='require' name='sgx'/> | ||
778 | 41 | <feature policy='require' name='clflushopt'/> | ||
779 | 42 | <feature policy='require' name='intel-pt'/> | ||
780 | 43 | <feature policy='require' name='stibp'/> | ||
781 | 44 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml | ||
782 | 45 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml | ||
783 | 46 | @@ -20,6 +20,7 @@ | ||
784 | 47 | <feature name='pdcm'/> | ||
785 | 48 | <feature name='osxsave'/> | ||
786 | 49 | <feature name='tsc_adjust'/> | ||
787 | 50 | + <feature name='sgx'/> | ||
788 | 51 | <feature name='clflushopt'/> | ||
789 | 52 | <feature name='intel-pt'/> | ||
790 | 53 | <feature name='stibp'/> | ||
791 | 54 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml | ||
792 | 55 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml | ||
793 | 56 | @@ -1,7 +1,7 @@ | ||
794 | 57 | <!-- Features disabled by QEMU --> | ||
795 | 58 | <cpudata arch='x86'> | ||
796 | 59 | <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/> | ||
797 | 60 | - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> | ||
798 | 61 | + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x00000000'/> | ||
799 | 62 | <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> | ||
800 | 63 | <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> | ||
801 | 64 | </cpudata> | ||
802 | 65 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml | ||
803 | 66 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml | ||
804 | 67 | @@ -18,6 +18,7 @@ | ||
805 | 68 | <feature policy='require' name='pdcm'/> | ||
806 | 69 | <feature policy='require' name='osxsave'/> | ||
807 | 70 | <feature policy='require' name='tsc_adjust'/> | ||
808 | 71 | + <feature policy='require' name='sgx'/> | ||
809 | 72 | <feature policy='require' name='clflushopt'/> | ||
810 | 73 | <feature policy='require' name='intel-pt'/> | ||
811 | 74 | <feature policy='require' name='xsaves'/> | ||
812 | 75 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml | ||
813 | 76 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml | ||
814 | 77 | @@ -20,6 +20,7 @@ | ||
815 | 78 | <feature name='pdcm'/> | ||
816 | 79 | <feature name='osxsave'/> | ||
817 | 80 | <feature name='tsc_adjust'/> | ||
818 | 81 | + <feature name='sgx'/> | ||
819 | 82 | <feature name='clflushopt'/> | ||
820 | 83 | <feature name='intel-pt'/> | ||
821 | 84 | <feature name='xsaves'/> | ||
822 | 85 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-disabled.xml | ||
823 | 86 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-disabled.xml | ||
824 | 87 | @@ -1,6 +1,6 @@ | ||
825 | 88 | <!-- Features disabled by QEMU --> | ||
826 | 89 | <cpudata arch='x86'> | ||
827 | 90 | <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c19c' edx='0xb0600000'/> | ||
828 | 91 | - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> | ||
829 | 92 | + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x00000000'/> | ||
830 | 93 | <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> | ||
831 | 94 | </cpudata> | ||
832 | 95 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml | ||
833 | 96 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml | ||
834 | 97 | @@ -17,6 +17,7 @@ | ||
835 | 98 | <feature policy='require' name='pdcm'/> | ||
836 | 99 | <feature policy='require' name='osxsave'/> | ||
837 | 100 | <feature policy='require' name='tsc_adjust'/> | ||
838 | 101 | + <feature policy='require' name='sgx'/> | ||
839 | 102 | <feature policy='require' name='clflushopt'/> | ||
840 | 103 | <feature policy='require' name='intel-pt'/> | ||
841 | 104 | <feature policy='require' name='md-clear'/> | ||
842 | 105 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml | ||
843 | 106 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml | ||
844 | 107 | @@ -19,6 +19,7 @@ | ||
845 | 108 | <feature name='pdcm'/> | ||
846 | 109 | <feature name='osxsave'/> | ||
847 | 110 | <feature name='tsc_adjust'/> | ||
848 | 111 | + <feature name='sgx'/> | ||
849 | 112 | <feature name='clflushopt'/> | ||
850 | 113 | <feature name='intel-pt'/> | ||
851 | 114 | <feature name='md-clear'/> | ||
852 | 115 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml | ||
853 | 116 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml | ||
854 | 117 | @@ -1,6 +1,6 @@ | ||
855 | 118 | <!-- Features disabled by QEMU --> | ||
856 | 119 | <cpudata arch='x86'> | ||
857 | 120 | <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/> | ||
858 | 121 | - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x08000000'/> | ||
859 | 122 | + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x08000000'/> | ||
860 | 123 | <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> | ||
861 | 124 | </cpudata> | ||
862 | 125 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml | ||
863 | 126 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml | ||
864 | 127 | @@ -18,6 +18,7 @@ | ||
865 | 128 | <feature policy='require' name='pdcm'/> | ||
866 | 129 | <feature policy='require' name='osxsave'/> | ||
867 | 130 | <feature policy='require' name='tsc_adjust'/> | ||
868 | 131 | + <feature policy='require' name='sgx'/> | ||
869 | 132 | <feature policy='require' name='clflushopt'/> | ||
870 | 133 | <feature policy='require' name='intel-pt'/> | ||
871 | 134 | <feature policy='require' name='stibp'/> | ||
872 | 135 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml | ||
873 | 136 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml | ||
874 | 137 | @@ -20,6 +20,7 @@ | ||
875 | 138 | <feature name='pdcm'/> | ||
876 | 139 | <feature name='osxsave'/> | ||
877 | 140 | <feature name='tsc_adjust'/> | ||
878 | 141 | + <feature name='sgx'/> | ||
879 | 142 | <feature name='clflushopt'/> | ||
880 | 143 | <feature name='intel-pt'/> | ||
881 | 144 | <feature name='stibp'/> | ||
882 | 145 | --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml | ||
883 | 146 | +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml | ||
884 | 147 | @@ -1,7 +1,7 @@ | ||
885 | 148 | <!-- Features disabled by QEMU --> | ||
886 | 149 | <cpudata arch='x86'> | ||
887 | 150 | <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/> | ||
888 | 151 | - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00400010' edx='0x00000010'/> | ||
889 | 152 | + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001004' ecx='0x00400010' edx='0x00000010'/> | ||
890 | 153 | <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> | ||
891 | 154 | <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> | ||
892 | 155 | </cpudata> | ||
893 | 156 | --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml | ||
894 | 157 | +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml | ||
895 | 158 | @@ -19,6 +19,7 @@ | ||
896 | 159 | <feature policy='require' name='dca'/> | ||
897 | 160 | <feature policy='require' name='osxsave'/> | ||
898 | 161 | <feature policy='require' name='tsc_adjust'/> | ||
899 | 162 | + <feature policy='require' name='sgx'/> | ||
900 | 163 | <feature policy='require' name='cmt'/> | ||
901 | 164 | <feature policy='require' name='avx512ifma'/> | ||
902 | 165 | <feature policy='require' name='intel-pt'/> | ||
903 | 166 | --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml | ||
904 | 167 | +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml | ||
905 | 168 | @@ -21,6 +21,7 @@ | ||
906 | 169 | <feature name='dca'/> | ||
907 | 170 | <feature name='osxsave'/> | ||
908 | 171 | <feature name='tsc_adjust'/> | ||
909 | 172 | + <feature name='sgx'/> | ||
910 | 173 | <feature name='cmt'/> | ||
911 | 174 | <feature name='avx512ifma'/> | ||
912 | 175 | <feature name='intel-pt'/> | ||
913 | 176 | --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml | ||
914 | 177 | +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml | ||
915 | 178 | @@ -1,7 +1,7 @@ | ||
916 | 179 | <!-- Features disabled by QEMU --> | ||
917 | 180 | <cpudata arch='x86'> | ||
918 | 181 | <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/> | ||
919 | 182 | - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> | ||
920 | 183 | + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x00000000'/> | ||
921 | 184 | <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> | ||
922 | 185 | <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> | ||
923 | 186 | </cpudata> | ||
924 | 187 | --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml | ||
925 | 188 | +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml | ||
926 | 189 | @@ -18,6 +18,7 @@ | ||
927 | 190 | <feature policy='require' name='pdcm'/> | ||
928 | 191 | <feature policy='require' name='osxsave'/> | ||
929 | 192 | <feature policy='require' name='tsc_adjust'/> | ||
930 | 193 | + <feature policy='require' name='sgx'/> | ||
931 | 194 | <feature policy='require' name='clflushopt'/> | ||
932 | 195 | <feature policy='require' name='intel-pt'/> | ||
933 | 196 | <feature policy='require' name='md-clear'/> | ||
934 | 197 | --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml | ||
935 | 198 | +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml | ||
936 | 199 | @@ -20,6 +20,7 @@ | ||
937 | 200 | <feature name='pdcm'/> | ||
938 | 201 | <feature name='osxsave'/> | ||
939 | 202 | <feature name='tsc_adjust'/> | ||
940 | 203 | + <feature name='sgx'/> | ||
941 | 204 | <feature name='clflushopt'/> | ||
942 | 205 | <feature name='intel-pt'/> | ||
943 | 206 | <feature name='md-clear'/> | ||
944 | 207 | --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml | ||
945 | 208 | +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml | ||
946 | 209 | @@ -1,6 +1,6 @@ | ||
947 | 210 | <!-- Features disabled by QEMU --> | ||
948 | 211 | <cpudata arch='x86'> | ||
949 | 212 | <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/> | ||
950 | 213 | - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> | ||
951 | 214 | + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x00000000'/> | ||
952 | 215 | <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> | ||
953 | 216 | </cpudata> | ||
954 | 217 | --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml | ||
955 | 218 | +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml | ||
956 | 219 | @@ -18,6 +18,7 @@ | ||
957 | 220 | <feature policy='require' name='pdcm'/> | ||
958 | 221 | <feature policy='require' name='osxsave'/> | ||
959 | 222 | <feature policy='require' name='tsc_adjust'/> | ||
960 | 223 | + <feature policy='require' name='sgx'/> | ||
961 | 224 | <feature policy='require' name='clflushopt'/> | ||
962 | 225 | <feature policy='require' name='intel-pt'/> | ||
963 | 226 | <feature policy='require' name='xsaves'/> | ||
964 | 227 | --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml | ||
965 | 228 | +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml | ||
966 | 229 | @@ -20,6 +20,7 @@ | ||
967 | 230 | <feature name='pdcm'/> | ||
968 | 231 | <feature name='osxsave'/> | ||
969 | 232 | <feature name='tsc_adjust'/> | ||
970 | 233 | + <feature name='sgx'/> | ||
971 | 234 | <feature name='clflushopt'/> | ||
972 | 235 | <feature name='intel-pt'/> | ||
973 | 236 | <feature name='xsaves'/> | ||
974 | diff --git a/debian/patches/ubuntu/lp-2028057-09-add-missing-feature-sgxlc.patch b/debian/patches/ubuntu/lp-2028057-09-add-missing-feature-sgxlc.patch | |||
975 | 0 | new file mode 100644 | 237 | new file mode 100644 |
976 | index 0000000..497db74 | |||
977 | --- /dev/null | |||
978 | +++ b/debian/patches/ubuntu/lp-2028057-09-add-missing-feature-sgxlc.patch | |||
979 | @@ -0,0 +1,83 @@ | |||
980 | 1 | Description: Add cpu feature sgxlc. | ||
981 | 2 | This patch adds the feature definition for SGX LC, and adds the feature to the | ||
982 | 3 | relevant existing processors - i7-8700 and IceLake Server. | ||
983 | 4 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
984 | 5 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/6e84509cde99bfa2e9854e0d2c38bfe2b13340c0 | ||
985 | 6 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
986 | 7 | Forwarded: not-needed | ||
987 | 8 | Last-Update: 2023-11-29 | ||
988 | 9 | --- | ||
989 | 10 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
990 | 11 | --- a/src/cpu_map/x86_features.xml | ||
991 | 12 | +++ b/src/cpu_map/x86_features.xml | ||
992 | 13 | @@ -343,6 +343,9 @@ | ||
993 | 14 | <feature name='movdir64b'> | ||
994 | 15 | <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x10000000'/> | ||
995 | 16 | </feature> | ||
996 | 17 | + <feature name='sgxlc'> | ||
997 | 18 | + <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x40000000'/> | ||
998 | 19 | + </feature> | ||
999 | 20 | |||
1000 | 21 | <feature name='avx512-4vnniw'> | ||
1001 | 22 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000004'/> | ||
1002 | 23 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml | ||
1003 | 24 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml | ||
1004 | 25 | @@ -1,6 +1,6 @@ | ||
1005 | 26 | <!-- Features disabled by QEMU --> | ||
1006 | 27 | <cpudata arch='x86'> | ||
1007 | 28 | <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/> | ||
1008 | 29 | - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x08000000'/> | ||
1009 | 30 | + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x40000000' edx='0x08000000'/> | ||
1010 | 31 | <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> | ||
1011 | 32 | </cpudata> | ||
1012 | 33 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml | ||
1013 | 34 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml | ||
1014 | 35 | @@ -21,6 +21,7 @@ | ||
1015 | 36 | <feature policy='require' name='sgx'/> | ||
1016 | 37 | <feature policy='require' name='clflushopt'/> | ||
1017 | 38 | <feature policy='require' name='intel-pt'/> | ||
1018 | 39 | + <feature policy='require' name='sgxlc'/> | ||
1019 | 40 | <feature policy='require' name='stibp'/> | ||
1020 | 41 | <feature policy='require' name='ssbd'/> | ||
1021 | 42 | <feature policy='require' name='xsaves'/> | ||
1022 | 43 | --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml | ||
1023 | 44 | +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml | ||
1024 | 45 | @@ -23,6 +23,7 @@ | ||
1025 | 46 | <feature name='sgx'/> | ||
1026 | 47 | <feature name='clflushopt'/> | ||
1027 | 48 | <feature name='intel-pt'/> | ||
1028 | 49 | + <feature name='sgxlc'/> | ||
1029 | 50 | <feature name='stibp'/> | ||
1030 | 51 | <feature name='ssbd'/> | ||
1031 | 52 | <feature name='xsaves'/> | ||
1032 | 53 | --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml | ||
1033 | 54 | +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml | ||
1034 | 55 | @@ -1,7 +1,7 @@ | ||
1035 | 56 | <!-- Features disabled by QEMU --> | ||
1036 | 57 | <cpudata arch='x86'> | ||
1037 | 58 | <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/> | ||
1038 | 59 | - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001004' ecx='0x00400010' edx='0x00000010'/> | ||
1039 | 60 | + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001004' ecx='0x40400010' edx='0x00000010'/> | ||
1040 | 61 | <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> | ||
1041 | 62 | <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> | ||
1042 | 63 | </cpudata> | ||
1043 | 64 | --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml | ||
1044 | 65 | +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml | ||
1045 | 66 | @@ -26,6 +26,7 @@ | ||
1046 | 67 | <feature policy='require' name='sha-ni'/> | ||
1047 | 68 | <feature policy='require' name='ospke'/> | ||
1048 | 69 | <feature policy='require' name='rdpid'/> | ||
1049 | 70 | + <feature policy='require' name='sgxlc'/> | ||
1050 | 71 | <feature policy='require' name='fsrm'/> | ||
1051 | 72 | <feature policy='require' name='stibp'/> | ||
1052 | 73 | <feature policy='require' name='arch-capabilities'/> | ||
1053 | 74 | --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml | ||
1054 | 75 | +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml | ||
1055 | 76 | @@ -28,6 +28,7 @@ | ||
1056 | 77 | <feature name='sha-ni'/> | ||
1057 | 78 | <feature name='ospke'/> | ||
1058 | 79 | <feature name='rdpid'/> | ||
1059 | 80 | + <feature name='sgxlc'/> | ||
1060 | 81 | <feature name='fsrm'/> | ||
1061 | 82 | <feature name='stibp'/> | ||
1062 | 83 | <feature name='arch-capabilities'/> | ||
1063 | diff --git a/debian/patches/ubuntu/lp-2028057-10-add-missing-feature-sgx-exinfo.patch b/debian/patches/ubuntu/lp-2028057-10-add-missing-feature-sgx-exinfo.patch | |||
1064 | 0 | new file mode 100644 | 84 | new file mode 100644 |
1065 | index 0000000..c7c1b5a | |||
1066 | --- /dev/null | |||
1067 | +++ b/debian/patches/ubuntu/lp-2028057-10-add-missing-feature-sgx-exinfo.patch | |||
1068 | @@ -0,0 +1,22 @@ | |||
1069 | 1 | Description: Add cpu feature sgx-exinfo. | ||
1070 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1071 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/4b5c9678d17f135e77ddab7c2643949fb2408048 | ||
1072 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1073 | 5 | Forwarded: not-needed | ||
1074 | 6 | Last-Update: 2023-11-29 | ||
1075 | 7 | --- | ||
1076 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1077 | 9 | --- a/src/cpu_map/x86_features.xml | ||
1078 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
1079 | 11 | @@ -418,6 +418,11 @@ | ||
1080 | 12 | <cpuid eax_in='0x0f' ecx_in='0x01' edx='0x00000004'/> | ||
1081 | 13 | </feature> | ||
1082 | 14 | |||
1083 | 15 | + <!-- cpuid level 0x00000012 ecx 0x0 features --> | ||
1084 | 16 | + <feature name='sgx-exinfo'> | ||
1085 | 17 | + <cpuid eax_in='0x12' ecx_in='0x00' ebx='0x00000001'/> | ||
1086 | 18 | + </feature> | ||
1087 | 19 | + | ||
1088 | 20 | <!-- extended features, EDX --> | ||
1089 | 21 | <feature name='syscall'> | ||
1090 | 22 | <cpuid eax_in='0x80000001' edx='0x00000800'/> | ||
1091 | diff --git a/debian/patches/ubuntu/lp-2028057-11-add-missing-feature-sgx1.patch b/debian/patches/ubuntu/lp-2028057-11-add-missing-feature-sgx1.patch | |||
1092 | 0 | new file mode 100644 | 23 | new file mode 100644 |
1093 | index 0000000..356703c | |||
1094 | --- /dev/null | |||
1095 | +++ b/debian/patches/ubuntu/lp-2028057-11-add-missing-feature-sgx1.patch | |||
1096 | @@ -0,0 +1,21 @@ | |||
1097 | 1 | Description: Add cpu feature sgx1. | ||
1098 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1099 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/5d9cabd0c7f67f4a7a4d21bb965ce1167ae02945 | ||
1100 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1101 | 5 | Forwarded: not-needed | ||
1102 | 6 | Last-Update: 2023-11-29 | ||
1103 | 7 | --- | ||
1104 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1105 | 9 | --- a/src/cpu_map/x86_features.xml | ||
1106 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
1107 | 11 | @@ -419,6 +419,10 @@ | ||
1108 | 12 | </feature> | ||
1109 | 13 | |||
1110 | 14 | <!-- cpuid level 0x00000012 ecx 0x0 features --> | ||
1111 | 15 | + <feature name='sgx1'> | ||
1112 | 16 | + <cpuid eax_in='0x12' ecx_in='0x00' eax='0x00000001'/> | ||
1113 | 17 | + </feature> | ||
1114 | 18 | + | ||
1115 | 19 | <feature name='sgx-exinfo'> | ||
1116 | 20 | <cpuid eax_in='0x12' ecx_in='0x00' ebx='0x00000001'/> | ||
1117 | 21 | </feature> | ||
1118 | diff --git a/debian/patches/ubuntu/lp-2028057-12-add-missing-feature-sgx2.patch b/debian/patches/ubuntu/lp-2028057-12-add-missing-feature-sgx2.patch | |||
1119 | 0 | new file mode 100644 | 22 | new file mode 100644 |
1120 | index 0000000..6dba3c6 | |||
1121 | --- /dev/null | |||
1122 | +++ b/debian/patches/ubuntu/lp-2028057-12-add-missing-feature-sgx2.patch | |||
1123 | @@ -0,0 +1,20 @@ | |||
1124 | 1 | Description: Add cpu feature sgx2. | ||
1125 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1126 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/4b5c9678d17f135e77ddab7c2643949fb2408048 | ||
1127 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1128 | 5 | Forwarded: not-needed | ||
1129 | 6 | Last-Update: 2023-11-29 | ||
1130 | 7 | --- | ||
1131 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1132 | 9 | --- a/src/cpu_map/x86_features.xml | ||
1133 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
1134 | 11 | @@ -422,6 +422,9 @@ | ||
1135 | 12 | <feature name='sgx1'> | ||
1136 | 13 | <cpuid eax_in='0x12' ecx_in='0x00' eax='0x00000001'/> | ||
1137 | 14 | </feature> | ||
1138 | 15 | + <feature name='sgx2'> | ||
1139 | 16 | + <cpuid eax_in='0x12' ecx_in='0x00' eax='0x00000002'/> | ||
1140 | 17 | + </feature> | ||
1141 | 18 | |||
1142 | 19 | <feature name='sgx-exinfo'> | ||
1143 | 20 | <cpuid eax_in='0x12' ecx_in='0x00' ebx='0x00000001'/> | ||
1144 | diff --git a/debian/patches/ubuntu/lp-2028057-13-add-missing-feature-sgx-additional.patch b/debian/patches/ubuntu/lp-2028057-13-add-missing-feature-sgx-additional.patch | |||
1145 | 0 | new file mode 100644 | 21 | new file mode 100644 |
1146 | index 0000000..6bcd7df | |||
1147 | --- /dev/null | |||
1148 | +++ b/debian/patches/ubuntu/lp-2028057-13-add-missing-feature-sgx-additional.patch | |||
1149 | @@ -0,0 +1,36 @@ | |||
1150 | 1 | Description: Add additional sgx-related features. | ||
1151 | 2 | Add additional sgx features - sgx-debug, sgx-mode64, sgx-provisionkey, | ||
1152 | 3 | sgx-tokenkey, and sgx-kss. | ||
1153 | 4 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1154 | 5 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/e864f3b50a3ca57b0ebb33677b94e1da638147d9 | ||
1155 | 6 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1156 | 7 | Forwarded: not-needed | ||
1157 | 8 | Last-Update: 2023-11-29 | ||
1158 | 9 | --- | ||
1159 | 10 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1160 | 11 | --- a/src/cpu_map/x86_features.xml | ||
1161 | 12 | +++ b/src/cpu_map/x86_features.xml | ||
1162 | 13 | @@ -430,6 +430,23 @@ | ||
1163 | 14 | <cpuid eax_in='0x12' ecx_in='0x00' ebx='0x00000001'/> | ||
1164 | 15 | </feature> | ||
1165 | 16 | |||
1166 | 17 | + <!-- cpuid level 0x00000012 ecx 0x1 features --> | ||
1167 | 18 | + <feature name='sgx-debug'> | ||
1168 | 19 | + <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000002'/> | ||
1169 | 20 | + </feature> | ||
1170 | 21 | + <feature name='sgx-mode64'> | ||
1171 | 22 | + <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000004'/> | ||
1172 | 23 | + </feature> | ||
1173 | 24 | + <feature name='sgx-provisionkey'> | ||
1174 | 25 | + <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000010'/> | ||
1175 | 26 | + </feature> | ||
1176 | 27 | + <feature name='sgx-tokenkey'> | ||
1177 | 28 | + <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000020'/> | ||
1178 | 29 | + </feature> | ||
1179 | 30 | + <feature name='sgx-kss'> | ||
1180 | 31 | + <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000080'/> | ||
1181 | 32 | + </feature> | ||
1182 | 33 | + | ||
1183 | 34 | <!-- extended features, EDX --> | ||
1184 | 35 | <feature name='syscall'> | ||
1185 | 36 | <cpuid eax_in='0x80000001' edx='0x00000800'/> | ||
1186 | diff --git a/debian/patches/ubuntu/lp-2028057-14-add-missing-feature-bus-lock-detect.patch b/debian/patches/ubuntu/lp-2028057-14-add-missing-feature-bus-lock-detect.patch | |||
1187 | 0 | new file mode 100644 | 37 | new file mode 100644 |
1188 | index 0000000..ba00ffa | |||
1189 | --- /dev/null | |||
1190 | +++ b/debian/patches/ubuntu/lp-2028057-14-add-missing-feature-bus-lock-detect.patch | |||
1191 | @@ -0,0 +1,20 @@ | |||
1192 | 1 | Description: Add cpu feature bus-lock-detect. | ||
1193 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1194 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/1f3cd74e4a8770ed69af0241c600c62a3f3ddb22 | ||
1195 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1196 | 5 | Forwarded: not-needed | ||
1197 | 6 | Last-Update: 2023-11-29 | ||
1198 | 7 | --- | ||
1199 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1200 | 9 | --- a/src/cpu_map/x86_features.xml | ||
1201 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
1202 | 11 | @@ -334,6 +334,9 @@ | ||
1203 | 12 | <feature name='rdpid'> | ||
1204 | 13 | <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00400000'/> | ||
1205 | 14 | </feature> | ||
1206 | 15 | + <feature name='bus-lock-detect'> | ||
1207 | 16 | + <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x01000000'/> | ||
1208 | 17 | + </feature> | ||
1209 | 18 | <feature name='cldemote'> | ||
1210 | 19 | <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x02000000'/> | ||
1211 | 20 | </feature> | ||
1212 | diff --git a/debian/patches/ubuntu/lp-2028057-15-add-missing-feature-pks.patch b/debian/patches/ubuntu/lp-2028057-15-add-missing-feature-pks.patch | |||
1213 | 0 | new file mode 100644 | 21 | new file mode 100644 |
1214 | index 0000000..eafdfcc | |||
1215 | --- /dev/null | |||
1216 | +++ b/debian/patches/ubuntu/lp-2028057-15-add-missing-feature-pks.patch | |||
1217 | @@ -0,0 +1,52 @@ | |||
1218 | 1 | Description: Add cpu feature pks. | ||
1219 | 2 | Add the pks feature definition along with its entries in QEMU feature lists, | ||
1220 | 3 | ignoring the 7.* entries from this commit upstream. | ||
1221 | 4 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1222 | 5 | Origin: backport, https://gitlab.com/libvirt/libvirt/-/commit/40d6a6d98702452df7c034bfe81e3a334f0f8e45 | ||
1223 | 6 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1224 | 7 | Forwarded: not-needed | ||
1225 | 8 | Last-Update: 2023-11-29 | ||
1226 | 9 | --- | ||
1227 | 10 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1228 | 11 | --- a/src/cpu_map/x86_features.xml | ||
1229 | 12 | +++ b/src/cpu_map/x86_features.xml | ||
1230 | 13 | @@ -349,6 +349,9 @@ | ||
1231 | 14 | <feature name='sgxlc'> | ||
1232 | 15 | <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x40000000'/> | ||
1233 | 16 | </feature> | ||
1234 | 17 | + <feature name='pks'> | ||
1235 | 18 | + <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x80000000'/> | ||
1236 | 19 | + </feature> | ||
1237 | 20 | |||
1238 | 21 | <feature name='avx512-4vnniw'> | ||
1239 | 22 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000004'/> | ||
1240 | 23 | --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | ||
1241 | 24 | +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | ||
1242 | 25 | @@ -48,6 +48,7 @@ | ||
1243 | 26 | <feature policy='require' name='clwb'/> | ||
1244 | 27 | <feature policy='require' name='pku'/> | ||
1245 | 28 | <feature policy='require' name='la57'/> | ||
1246 | 29 | + <feature policy='require' name='pks'/> | ||
1247 | 30 | <feature policy='require' name='3dnowext'/> | ||
1248 | 31 | <feature policy='require' name='3dnow'/> | ||
1249 | 32 | <feature policy='require' name='npt'/> | ||
1250 | 33 | --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | ||
1251 | 34 | +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | ||
1252 | 35 | @@ -48,6 +48,7 @@ | ||
1253 | 36 | <feature policy='require' name='clwb'/> | ||
1254 | 37 | <feature policy='require' name='pku'/> | ||
1255 | 38 | <feature policy='require' name='la57'/> | ||
1256 | 39 | + <feature policy='require' name='pks'/> | ||
1257 | 40 | <feature policy='require' name='3dnowext'/> | ||
1258 | 41 | <feature policy='require' name='3dnow'/> | ||
1259 | 42 | <feature policy='require' name='npt'/> | ||
1260 | 43 | --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | ||
1261 | 44 | +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | ||
1262 | 45 | @@ -48,6 +48,7 @@ | ||
1263 | 46 | <feature policy='require' name='clwb'/> | ||
1264 | 47 | <feature policy='require' name='pku'/> | ||
1265 | 48 | <feature policy='require' name='la57'/> | ||
1266 | 49 | + <feature policy='require' name='pks'/> | ||
1267 | 50 | <feature policy='require' name='3dnowext'/> | ||
1268 | 51 | <feature policy='require' name='3dnow'/> | ||
1269 | 52 | <feature policy='require' name='npt'/> | ||
1270 | diff --git a/debian/patches/ubuntu/lp-2028057-16-add-missing-feature-avx512-vp2intersect.patch b/debian/patches/ubuntu/lp-2028057-16-add-missing-feature-avx512-vp2intersect.patch | |||
1271 | 0 | new file mode 100644 | 53 | new file mode 100644 |
1272 | index 0000000..eb264bf | |||
1273 | --- /dev/null | |||
1274 | +++ b/debian/patches/ubuntu/lp-2028057-16-add-missing-feature-avx512-vp2intersect.patch | |||
1275 | @@ -0,0 +1,20 @@ | |||
1276 | 1 | Description: Add cpu feature avx512-vp2intersect. | ||
1277 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1278 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/3306c6ded067c79ea96cbf1b59d8001560448230 | ||
1279 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1280 | 5 | Forwarded: not-needed | ||
1281 | 6 | Last-Update: 2023-11-29 | ||
1282 | 7 | --- | ||
1283 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1284 | 9 | --- a/src/cpu_map/x86_features.xml | ||
1285 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
1286 | 11 | @@ -362,6 +362,9 @@ | ||
1287 | 12 | <feature name='fsrm'> | ||
1288 | 13 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000010'/> | ||
1289 | 14 | </feature> | ||
1290 | 15 | + <feature name='avx512-vp2intersect'> | ||
1291 | 16 | + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000100'/> | ||
1292 | 17 | + </feature> | ||
1293 | 18 | <feature name='md-clear'> | ||
1294 | 19 | <alias name='md_clear' source='linux'/> | ||
1295 | 20 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000400'/> | ||
1296 | diff --git a/debian/patches/ubuntu/lp-2028057-17-add-missing-feature-avx512-fp16.patch b/debian/patches/ubuntu/lp-2028057-17-add-missing-feature-avx512-fp16.patch | |||
1297 | 0 | new file mode 100644 | 21 | new file mode 100644 |
1298 | index 0000000..2b0700f | |||
1299 | --- /dev/null | |||
1300 | +++ b/debian/patches/ubuntu/lp-2028057-17-add-missing-feature-avx512-fp16.patch | |||
1301 | @@ -0,0 +1,20 @@ | |||
1302 | 1 | Description: Add cpu feature avx512-fp16. | ||
1303 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1304 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/18ebce7c5320e200a2b2c4a256d02ab087d2bac5 | ||
1305 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1306 | 5 | Forwarded: not-needed | ||
1307 | 6 | Last-Update: 2023-11-29 | ||
1308 | 7 | --- | ||
1309 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1310 | 9 | --- a/src/cpu_map/x86_features.xml | ||
1311 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
1312 | 11 | @@ -375,6 +375,9 @@ | ||
1313 | 12 | <feature name='amx-bf16'> | ||
1314 | 13 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00400000'/> | ||
1315 | 14 | </feature> | ||
1316 | 15 | + <feature name='avx512-fp16'> | ||
1317 | 16 | + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00800000'/> | ||
1318 | 17 | + </feature> | ||
1319 | 18 | <feature name='amx-tile'> | ||
1320 | 19 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x01000000'/> | ||
1321 | 20 | </feature> | ||
1322 | diff --git a/debian/patches/ubuntu/lp-2028057-18-add-missing-feature-serialize.patch b/debian/patches/ubuntu/lp-2028057-18-add-missing-feature-serialize.patch | |||
1323 | 0 | new file mode 100644 | 21 | new file mode 100644 |
1324 | index 0000000..aa8c587 | |||
1325 | --- /dev/null | |||
1326 | +++ b/debian/patches/ubuntu/lp-2028057-18-add-missing-feature-serialize.patch | |||
1327 | @@ -0,0 +1,20 @@ | |||
1328 | 1 | Description: Add cpu feature serialize. | ||
1329 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1330 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/3f73c3c4fbcd81f3a7e29f3bffa9e3b55f39f041 | ||
1331 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1332 | 5 | Forwarded: not-needed | ||
1333 | 6 | Last-Update: 2023-11-29 | ||
1334 | 7 | --- | ||
1335 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1336 | 9 | --- a/src/cpu_map/x86_features.xml | ||
1337 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
1338 | 11 | @@ -369,6 +369,9 @@ | ||
1339 | 12 | <alias name='md_clear' source='linux'/> | ||
1340 | 13 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000400'/> | ||
1341 | 14 | </feature> | ||
1342 | 15 | + <feature name='serialize'> | ||
1343 | 16 | + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00004000'/> | ||
1344 | 17 | + </feature> | ||
1345 | 18 | <feature name='pconfig'> | ||
1346 | 19 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/> | ||
1347 | 20 | </feature> | ||
1348 | diff --git a/debian/patches/ubuntu/lp-2028057-19-add-missing-feature-tsx-ldtrk.patch b/debian/patches/ubuntu/lp-2028057-19-add-missing-feature-tsx-ldtrk.patch | |||
1349 | 0 | new file mode 100644 | 21 | new file mode 100644 |
1350 | index 0000000..db71f0c | |||
1351 | --- /dev/null | |||
1352 | +++ b/debian/patches/ubuntu/lp-2028057-19-add-missing-feature-tsx-ldtrk.patch | |||
1353 | @@ -0,0 +1,20 @@ | |||
1354 | 1 | Description: Add cpu feature tsx-ldtrk. | ||
1355 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1356 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/1e309109677f192a1dc47ef0a2fc16b31450f129 | ||
1357 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1358 | 5 | Forwarded: not-needed | ||
1359 | 6 | Last-Update: 2023-11-29 | ||
1360 | 7 | --- | ||
1361 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1362 | 9 | --- a/src/cpu_map/x86_features.xml | ||
1363 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
1364 | 11 | @@ -372,6 +372,9 @@ | ||
1365 | 12 | <feature name='serialize'> | ||
1366 | 13 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00004000'/> | ||
1367 | 14 | </feature> | ||
1368 | 15 | + <feature name='tsx-ldtrk'> | ||
1369 | 16 | + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00010000'/> | ||
1370 | 17 | + </feature> | ||
1371 | 18 | <feature name='pconfig'> | ||
1372 | 19 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/> | ||
1373 | 20 | </feature> | ||
1374 | diff --git a/debian/patches/ubuntu/lp-2028057-20-add-missing-feature-arch-lbr.patch b/debian/patches/ubuntu/lp-2028057-20-add-missing-feature-arch-lbr.patch | |||
1375 | 0 | new file mode 100644 | 21 | new file mode 100644 |
1376 | index 0000000..a82f9c5 | |||
1377 | --- /dev/null | |||
1378 | +++ b/debian/patches/ubuntu/lp-2028057-20-add-missing-feature-arch-lbr.patch | |||
1379 | @@ -0,0 +1,20 @@ | |||
1380 | 1 | Description: Add cpu feature arch-lbr. | ||
1381 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1382 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/4ba1e382f7d5aeb650a9bf367cd760ac824e2171 | ||
1383 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1384 | 5 | Forwarded: not-needed | ||
1385 | 6 | Last-Update: 2023-11-29 | ||
1386 | 7 | --- | ||
1387 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1388 | 9 | --- a/src/cpu_map/x86_features.xml | ||
1389 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
1390 | 11 | @@ -378,6 +378,9 @@ | ||
1391 | 12 | <feature name='pconfig'> | ||
1392 | 13 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/> | ||
1393 | 14 | </feature> | ||
1394 | 15 | + <feature name='arch-lbr'> | ||
1395 | 16 | + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00080000'/> | ||
1396 | 17 | + </feature> | ||
1397 | 18 | <feature name='amx-bf16'> | ||
1398 | 19 | <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00400000'/> | ||
1399 | 20 | </feature> | ||
1400 | diff --git a/debian/patches/ubuntu/lp-2028057-21-add-missing-feature-xfd.patch b/debian/patches/ubuntu/lp-2028057-21-add-missing-feature-xfd.patch | |||
1401 | 0 | new file mode 100644 | 21 | new file mode 100644 |
1402 | index 0000000..87cecf1 | |||
1403 | --- /dev/null | |||
1404 | +++ b/debian/patches/ubuntu/lp-2028057-21-add-missing-feature-xfd.patch | |||
1405 | @@ -0,0 +1,20 @@ | |||
1406 | 1 | Description: Add cpu feature xfd. | ||
1407 | 2 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1408 | 3 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/29b0b9bb0eb966f9c49b78b97101c6623306a39a | ||
1409 | 4 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1410 | 5 | Forwarded: not-needed | ||
1411 | 6 | Last-Update: 2023-11-29 | ||
1412 | 7 | --- | ||
1413 | 8 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1414 | 9 | --- a/src/cpu_map/x86_features.xml | ||
1415 | 10 | +++ b/src/cpu_map/x86_features.xml | ||
1416 | 11 | @@ -430,6 +430,9 @@ | ||
1417 | 12 | <feature name='xsaves' migratable='no'> | ||
1418 | 13 | <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000008'/> | ||
1419 | 14 | </feature> | ||
1420 | 15 | + <feature name='xfd'> | ||
1421 | 16 | + <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000010'/> | ||
1422 | 17 | + </feature> | ||
1423 | 18 | |||
1424 | 19 | <!-- cpuid level 0x0000000f:1 (edx) --> | ||
1425 | 20 | <feature name='mbm_total'> | ||
1426 | diff --git a/debian/patches/ubuntu/lp-2028057-22-add-missing-feature-intel-pt-lip.patch b/debian/patches/ubuntu/lp-2028057-22-add-missing-feature-intel-pt-lip.patch | |||
1427 | 0 | new file mode 100644 | 21 | new file mode 100644 |
1428 | index 0000000..5dd6160 | |||
1429 | --- /dev/null | |||
1430 | +++ b/debian/patches/ubuntu/lp-2028057-22-add-missing-feature-intel-pt-lip.patch | |||
1431 | @@ -0,0 +1,54 @@ | |||
1432 | 1 | Description: Add cpu feature intel-pt-lip. | ||
1433 | 2 | This patch adds the feature definition for Intel pt-lip, and adds the feature | ||
1434 | 3 | to the Intel Atom P5362 processor. | ||
1435 | 4 | Author: Tim Wiederhake <twiederh@redhat.com> | ||
1436 | 5 | Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/501e7c780bbec6eddd8bc7bcb13fdafba94c5358 | ||
1437 | 6 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1438 | 7 | Forwarded: not-needed | ||
1439 | 8 | Last-Update: 2023-11-29 | ||
1440 | 9 | --- | ||
1441 | 10 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1442 | 11 | --- a/src/cpu_map/x86_features.xml | ||
1443 | 12 | +++ b/src/cpu_map/x86_features.xml | ||
1444 | 13 | @@ -471,6 +471,11 @@ | ||
1445 | 14 | <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000080'/> | ||
1446 | 15 | </feature> | ||
1447 | 16 | |||
1448 | 17 | + <!-- cpuid level 0x00000014 ecx 0x0 features --> | ||
1449 | 18 | + <feature name='intel-pt-lip'> | ||
1450 | 19 | + <cpuid eax_in='0x14' ecx_in='0x00' ecx='0x80000000'/> | ||
1451 | 20 | + </feature> | ||
1452 | 21 | + | ||
1453 | 22 | <!-- extended features, EDX --> | ||
1454 | 23 | <feature name='syscall'> | ||
1455 | 24 | <cpuid eax_in='0x80000001' edx='0x00000800'/> | ||
1456 | 25 | --- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-disabled.xml | ||
1457 | 26 | +++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-disabled.xml | ||
1458 | 27 | @@ -3,6 +3,7 @@ | ||
1459 | 28 | <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x080041dc' edx='0xb0600000'/> | ||
1460 | 29 | <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000020' edx='0x40000000'/> | ||
1461 | 30 | <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> | ||
1462 | 31 | + <cpuid eax_in='0x00000014' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x80000000' edx='0x00000000'/> | ||
1463 | 32 | <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> | ||
1464 | 33 | <msr index='0xcf' edx='0x00000000' eax='0x00000020'/> | ||
1465 | 34 | <msr index='0x10a' edx='0x00000000' eax='0x00000100'/> | ||
1466 | 35 | --- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml | ||
1467 | 36 | +++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml | ||
1468 | 37 | @@ -27,6 +27,7 @@ | ||
1469 | 38 | <feature policy='require' name='xsaves'/> | ||
1470 | 39 | <feature policy='require' name='mbm_total'/> | ||
1471 | 40 | <feature policy='require' name='mbm_local'/> | ||
1472 | 41 | + <feature policy='require' name='intel-pt-lip'/> | ||
1473 | 42 | <feature policy='require' name='invtsc'/> | ||
1474 | 43 | <feature policy='require' name='rdctl-no'/> | ||
1475 | 44 | <feature policy='require' name='ibrs-all'/> | ||
1476 | 45 | --- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml | ||
1477 | 46 | +++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml | ||
1478 | 47 | @@ -56,6 +56,7 @@ | ||
1479 | 48 | <feature name='xsaves'/> | ||
1480 | 49 | <feature name='mbm_total'/> | ||
1481 | 50 | <feature name='mbm_local'/> | ||
1482 | 51 | + <feature name='intel-pt-lip'/> | ||
1483 | 52 | <feature name='rdtscp'/> | ||
1484 | 53 | <feature name='3dnowprefetch'/> | ||
1485 | 54 | <feature name='invtsc'/> | ||
1486 | diff --git a/debian/patches/ubuntu/lp-2028057-23-add-new-CPU-model-Intel-SapphireRapids.patch b/debian/patches/ubuntu/lp-2028057-23-add-new-CPU-model-Intel-SapphireRapids.patch | |||
1487 | 0 | new file mode 100644 | 55 | new file mode 100644 |
1488 | index 0000000..30085cd | |||
1489 | --- /dev/null | |||
1490 | +++ b/debian/patches/ubuntu/lp-2028057-23-add-new-CPU-model-Intel-SapphireRapids.patch | |||
1491 | @@ -0,0 +1,310 @@ | |||
1492 | 1 | Description: Add new CPU model SapphireRapids | ||
1493 | 2 | The new CPU model mostly inherits features from Icelake-Server, while | ||
1494 | 3 | adding new features: | ||
1495 | 4 | - AMX (Advance Matrix eXtensions) | ||
1496 | 5 | - Bus Lock Debug Exception | ||
1497 | 6 | and new instructions: | ||
1498 | 7 | - AVX VNNI (Vector Neural Network Instruction): | ||
1499 | 8 | - VPDPBUS: Multiply and Add Unsigned and Signed Bytes | ||
1500 | 9 | - VPDPBUSDS: Multiply and Add Unsigned and Signed Bytes with Saturation | ||
1501 | 10 | - VPDPWSSD: Multiply and Add Signed Word Integers | ||
1502 | 11 | - VPDPWSSDS: Multiply and Add Signed Integers with Saturation | ||
1503 | 12 | - FP16: Replicates existing AVX512 computational SP (FP32) instructions | ||
1504 | 13 | using FP16 instead of FP32 for ~2X performance gain | ||
1505 | 14 | - SERIALIZE: Provide software with a simple way to force the processor to | ||
1506 | 15 | complete all modifications, faster, allowed in all privilege levels and | ||
1507 | 16 | not causing an unconditional VM exit | ||
1508 | 17 | - TSX Suspend Load Address Tracking: Allows programmers to choose which | ||
1509 | 18 | memory accesses do not need to be tracked in the TSX read set | ||
1510 | 19 | - AVX512_BF16: Vector Neural Network Instructions supporting BFLOAT16 | ||
1511 | 20 | inputs and conversion instructions from IEEE single precision | ||
1512 | 21 | Author: Wang, Lei <lei4.wang@intel.com> | ||
1513 | 22 | Origin: other, https://lore.kernel.org/all/20220812055751.14553-1-lei4.wang@intel.com/ | ||
1514 | 23 | Bug-Ubuntu: https://launchpad.net/bugs/2028057 | ||
1515 | 24 | Forwarded: not-needed | ||
1516 | 25 | Last-Update: 2023-11-29 | ||
1517 | 26 | --- | ||
1518 | 27 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1519 | 28 | --- a/src/cpu_map/index.xml | ||
1520 | 29 | +++ b/src/cpu_map/index.xml | ||
1521 | 30 | @@ -56,6 +56,8 @@ | ||
1522 | 31 | <include filename='x86_Icelake-Server-noTSX.xml'/> | ||
1523 | 32 | <include filename='x86_Cooperlake.xml'/> | ||
1524 | 33 | <include filename='x86_Snowridge.xml'/> | ||
1525 | 34 | + <include filename='x86_SapphireRapids.xml'/> | ||
1526 | 35 | + <include filename='x86_SapphireRapids-noTSX.xml'/> | ||
1527 | 36 | |||
1528 | 37 | <!-- AMD CPUs --> | ||
1529 | 38 | <include filename='x86_athlon.xml'/> | ||
1530 | 39 | --- a/src/cpu_map/meson.build | ||
1531 | 40 | +++ b/src/cpu_map/meson.build | ||
1532 | 41 | @@ -67,6 +67,8 @@ | ||
1533 | 42 | 'x86_qemu64.xml', | ||
1534 | 43 | 'x86_SandyBridge-IBRS.xml', | ||
1535 | 44 | 'x86_SandyBridge.xml', | ||
1536 | 45 | + 'x86_SapphireRapids.xml', | ||
1537 | 46 | + 'x86_SapphireRapids-noTSX.xml', | ||
1538 | 47 | 'x86_Skylake-Client-IBRS.xml', | ||
1539 | 48 | 'x86_Skylake-Client-noTSX-IBRS.xml', | ||
1540 | 49 | 'x86_Skylake-Client.xml', | ||
1541 | 50 | --- a/src/cpu_map/sync_qemu_models_i386.py | ||
1542 | 51 | +++ b/src/cpu_map/sync_qemu_models_i386.py | ||
1543 | 52 | @@ -54,6 +54,7 @@ | ||
1544 | 53 | "CPUID_7_0_ECX_AVX512_VBMI": "avx512vbmi", | ||
1545 | 54 | "CPUID_7_0_ECX_AVX512VNNI": "avx512vnni", | ||
1546 | 55 | "CPUID_7_0_ECX_AVX512_VPOPCNTDQ": "avx512-vpopcntdq", | ||
1547 | 56 | + "CPUID_7_0_ECX_BUS_LOCK_DETECT": "bus-lock-detect", | ||
1548 | 57 | "CPUID_7_0_ECX_CLDEMOTE": "cldemote", | ||
1549 | 58 | "CPUID_7_0_ECX_GFNI": "gfni", | ||
1550 | 59 | "CPUID_7_0_ECX_LA57": "la57", | ||
1551 | 60 | @@ -67,16 +68,20 @@ | ||
1552 | 61 | "CPUID_7_0_EDX_ARCH_CAPABILITIES": "arch-capabilities", | ||
1553 | 62 | "CPUID_7_0_EDX_AVX512_4FMAPS": "avx512-4fmaps", | ||
1554 | 63 | "CPUID_7_0_EDX_AVX512_4VNNIW": "avx512-4vnniw", | ||
1555 | 64 | + "CPUID_7_0_EDX_AVX512_FP16": "avx512-fp16", | ||
1556 | 65 | "CPUID_7_0_EDX_CORE_CAPABILITY": "core-capability", | ||
1557 | 66 | "CPUID_7_0_EDX_FSRM": "fsrm", | ||
1558 | 67 | + "CPUID_7_0_EDX_SERIALIZE": "serialize", | ||
1559 | 68 | "CPUID_7_0_EDX_SPEC_CTRL": "spec-ctrl", | ||
1560 | 69 | "CPUID_7_0_EDX_SPEC_CTRL_SSBD": "ssbd", | ||
1561 | 70 | "CPUID_7_0_EDX_STIBP": "stibp", | ||
1562 | 71 | + "CPUID_7_0_EDX_TSX_LDTRK": "tsx-ldtrk", | ||
1563 | 72 | "CPUID_7_0_EDX_AMX_BF16": "amx-bf16", | ||
1564 | 73 | "CPUID_7_0_EDX_AMX_TILE": "amx-tile", | ||
1565 | 74 | "CPUID_7_0_EDX_AMX_INT8": "amx-int8", | ||
1566 | 75 | "CPUID_7_1_EAX_AVX512_BF16": "avx512-bf16", | ||
1567 | 76 | "CPUID_7_1_EAX_AVX_VNNI": "avx-vnni", | ||
1568 | 77 | + "CPUID_D_1_EAX_XFD": "xfd", | ||
1569 | 78 | "CPUID_8000_0008_EBX_AMD_SSBD": "amd-ssbd", | ||
1570 | 79 | "CPUID_8000_0008_EBX_CLZERO": "clzero", | ||
1571 | 80 | "CPUID_8000_0008_EBX_IBPB": "ibpb", | ||
1572 | 81 | --- /dev/null | ||
1573 | 82 | +++ b/src/cpu_map/x86_SapphireRapids-noTSX.xml | ||
1574 | 83 | @@ -0,0 +1,111 @@ | ||
1575 | 84 | +<cpus> | ||
1576 | 85 | + <model name='SapphireRapids-noTSX'> | ||
1577 | 86 | + <decode host='on' guest='off'/> | ||
1578 | 87 | + <signature family='6' model='143'/> | ||
1579 | 88 | + <vendor name='Intel'/> | ||
1580 | 89 | + <feature name='3dnowprefetch'/> | ||
1581 | 90 | + <feature name='abm'/> | ||
1582 | 91 | + <feature name='adx'/> | ||
1583 | 92 | + <feature name='aes'/> | ||
1584 | 93 | + <feature name='amx-bf16'/> | ||
1585 | 94 | + <feature name='amx-int8'/> | ||
1586 | 95 | + <feature name='amx-tile'/> | ||
1587 | 96 | + <feature name='apic'/> | ||
1588 | 97 | + <feature name='arat'/> | ||
1589 | 98 | + <feature name='arch-capabilities'/> | ||
1590 | 99 | + <feature name='avx'/> | ||
1591 | 100 | + <feature name='avx-vnni'/> | ||
1592 | 101 | + <feature name='avx2'/> | ||
1593 | 102 | + <feature name='avx512-bf16'/> | ||
1594 | 103 | + <feature name='avx512-fp16'/> | ||
1595 | 104 | + <feature name='avx512-vpopcntdq'/> | ||
1596 | 105 | + <feature name='avx512bitalg'/> | ||
1597 | 106 | + <feature name='avx512bw'/> | ||
1598 | 107 | + <feature name='avx512cd'/> | ||
1599 | 108 | + <feature name='avx512dq'/> | ||
1600 | 109 | + <feature name='avx512f'/> | ||
1601 | 110 | + <feature name='avx512ifma'/> | ||
1602 | 111 | + <feature name='avx512vbmi'/> | ||
1603 | 112 | + <feature name='avx512vbmi2'/> | ||
1604 | 113 | + <feature name='avx512vl'/> | ||
1605 | 114 | + <feature name='avx512vnni'/> | ||
1606 | 115 | + <feature name='bmi1'/> | ||
1607 | 116 | + <feature name='bmi2'/> | ||
1608 | 117 | + <feature name='bus-lock-detect'/> | ||
1609 | 118 | + <feature name='clflush'/> | ||
1610 | 119 | + <feature name='clflushopt'/> | ||
1611 | 120 | + <feature name='clwb'/> | ||
1612 | 121 | + <feature name='cmov'/> | ||
1613 | 122 | + <feature name='cx16'/> | ||
1614 | 123 | + <feature name='cx8'/> | ||
1615 | 124 | + <feature name='de'/> | ||
1616 | 125 | + <feature name='erms'/> | ||
1617 | 126 | + <feature name='f16c'/> | ||
1618 | 127 | + <feature name='fma'/> | ||
1619 | 128 | + <feature name='fpu'/> | ||
1620 | 129 | + <feature name='fsgsbase'/> | ||
1621 | 130 | + <feature name='fsrm'/> | ||
1622 | 131 | + <feature name='fxsr'/> | ||
1623 | 132 | + <feature name='gfni'/> | ||
1624 | 133 | + <feature name='ibrs-all'/> | ||
1625 | 134 | + <feature name='invpcid'/> | ||
1626 | 135 | + <feature name='la57'/> | ||
1627 | 136 | + <feature name='lahf_lm'/> | ||
1628 | 137 | + <feature name='lm'/> | ||
1629 | 138 | + <feature name='mca'/> | ||
1630 | 139 | + <feature name='mce'/> | ||
1631 | 140 | + <feature name='mds-no'/> | ||
1632 | 141 | + <feature name='mmx'/> | ||
1633 | 142 | + <feature name='movbe'/> | ||
1634 | 143 | + <feature name='msr'/> | ||
1635 | 144 | + <feature name='mtrr'/> | ||
1636 | 145 | + <feature name='nx'/> | ||
1637 | 146 | + <feature name='pae'/> | ||
1638 | 147 | + <feature name='pat'/> | ||
1639 | 148 | + <feature name='pcid'/> | ||
1640 | 149 | + <feature name='pclmuldq'/> | ||
1641 | 150 | + <feature name='pdpe1gb'/> | ||
1642 | 151 | + <feature name='pge'/> | ||
1643 | 152 | + <feature name='pku'/> | ||
1644 | 153 | + <feature name='pni'/> | ||
1645 | 154 | + <feature name='popcnt'/> | ||
1646 | 155 | + <feature name='pschange-mc-no'/> | ||
1647 | 156 | + <feature name='pse'/> | ||
1648 | 157 | + <feature name='pse36'/> | ||
1649 | 158 | + <feature name='rdctl-no'/> | ||
1650 | 159 | + <feature name='rdpid'/> | ||
1651 | 160 | + <feature name='rdrand'/> | ||
1652 | 161 | + <feature name='rdseed'/> | ||
1653 | 162 | + <feature name='rdtscp'/> | ||
1654 | 163 | + <feature name='sep'/> | ||
1655 | 164 | + <feature name='serialize'/> | ||
1656 | 165 | + <feature name='sha-ni'/> | ||
1657 | 166 | + <feature name='skip-l1dfl-vmentry'/> | ||
1658 | 167 | + <feature name='smap'/> | ||
1659 | 168 | + <feature name='smep'/> | ||
1660 | 169 | + <feature name='spec-ctrl'/> | ||
1661 | 170 | + <feature name='ssbd'/> | ||
1662 | 171 | + <feature name='sse'/> | ||
1663 | 172 | + <feature name='sse2'/> | ||
1664 | 173 | + <feature name='sse4.1'/> | ||
1665 | 174 | + <feature name='sse4.2'/> | ||
1666 | 175 | + <feature name='ssse3'/> | ||
1667 | 176 | + <feature name='syscall'/> | ||
1668 | 177 | + <feature name='taa-no'/> | ||
1669 | 178 | + <feature name='tsc'/> | ||
1670 | 179 | + <feature name='tsc-deadline'/> | ||
1671 | 180 | + <feature name='tsx-ldtrk'/> | ||
1672 | 181 | + <feature name='umip'/> | ||
1673 | 182 | + <feature name='vaes'/> | ||
1674 | 183 | + <feature name='vme'/> | ||
1675 | 184 | + <feature name='vpclmulqdq'/> | ||
1676 | 185 | + <feature name='wbnoinvd'/> | ||
1677 | 186 | + <feature name='x2apic'/> | ||
1678 | 187 | + <feature name='xfd'/> | ||
1679 | 188 | + <feature name='xgetbv1'/> | ||
1680 | 189 | + <feature name='xsave'/> | ||
1681 | 190 | + <feature name='xsavec'/> | ||
1682 | 191 | + <feature name='xsaveopt'/> | ||
1683 | 192 | + <feature name='xsaves'/> | ||
1684 | 193 | + </model> | ||
1685 | 194 | +</cpus> | ||
1686 | 195 | --- /dev/null | ||
1687 | 196 | +++ b/src/cpu_map/x86_SapphireRapids.xml | ||
1688 | 197 | @@ -0,0 +1,113 @@ | ||
1689 | 198 | +<cpus> | ||
1690 | 199 | + <model name='SapphireRapids'> | ||
1691 | 200 | + <decode host='on' guest='on'/> | ||
1692 | 201 | + <signature family='6' model='143'/> | ||
1693 | 202 | + <vendor name='Intel'/> | ||
1694 | 203 | + <feature name='3dnowprefetch'/> | ||
1695 | 204 | + <feature name='abm'/> | ||
1696 | 205 | + <feature name='adx'/> | ||
1697 | 206 | + <feature name='aes'/> | ||
1698 | 207 | + <feature name='amx-bf16'/> | ||
1699 | 208 | + <feature name='amx-int8'/> | ||
1700 | 209 | + <feature name='amx-tile'/> | ||
1701 | 210 | + <feature name='apic'/> | ||
1702 | 211 | + <feature name='arat'/> | ||
1703 | 212 | + <feature name='arch-capabilities'/> | ||
1704 | 213 | + <feature name='avx'/> | ||
1705 | 214 | + <feature name='avx-vnni'/> | ||
1706 | 215 | + <feature name='avx2'/> | ||
1707 | 216 | + <feature name='avx512-bf16'/> | ||
1708 | 217 | + <feature name='avx512-fp16'/> | ||
1709 | 218 | + <feature name='avx512-vpopcntdq'/> | ||
1710 | 219 | + <feature name='avx512bitalg'/> | ||
1711 | 220 | + <feature name='avx512bw'/> | ||
1712 | 221 | + <feature name='avx512cd'/> | ||
1713 | 222 | + <feature name='avx512dq'/> | ||
1714 | 223 | + <feature name='avx512f'/> | ||
1715 | 224 | + <feature name='avx512ifma'/> | ||
1716 | 225 | + <feature name='avx512vbmi'/> | ||
1717 | 226 | + <feature name='avx512vbmi2'/> | ||
1718 | 227 | + <feature name='avx512vl'/> | ||
1719 | 228 | + <feature name='avx512vnni'/> | ||
1720 | 229 | + <feature name='bmi1'/> | ||
1721 | 230 | + <feature name='bmi2'/> | ||
1722 | 231 | + <feature name='bus-lock-detect'/> | ||
1723 | 232 | + <feature name='clflush'/> | ||
1724 | 233 | + <feature name='clflushopt'/> | ||
1725 | 234 | + <feature name='clwb'/> | ||
1726 | 235 | + <feature name='cmov'/> | ||
1727 | 236 | + <feature name='cx16'/> | ||
1728 | 237 | + <feature name='cx8'/> | ||
1729 | 238 | + <feature name='de'/> | ||
1730 | 239 | + <feature name='erms'/> | ||
1731 | 240 | + <feature name='f16c'/> | ||
1732 | 241 | + <feature name='fma'/> | ||
1733 | 242 | + <feature name='fpu'/> | ||
1734 | 243 | + <feature name='fsgsbase'/> | ||
1735 | 244 | + <feature name='fsrm'/> | ||
1736 | 245 | + <feature name='fxsr'/> | ||
1737 | 246 | + <feature name='gfni'/> | ||
1738 | 247 | + <feature name='hle'/> | ||
1739 | 248 | + <feature name='ibrs-all'/> | ||
1740 | 249 | + <feature name='invpcid'/> | ||
1741 | 250 | + <feature name='la57'/> | ||
1742 | 251 | + <feature name='lahf_lm'/> | ||
1743 | 252 | + <feature name='lm'/> | ||
1744 | 253 | + <feature name='mca'/> | ||
1745 | 254 | + <feature name='mce'/> | ||
1746 | 255 | + <feature name='mds-no'/> | ||
1747 | 256 | + <feature name='mmx'/> | ||
1748 | 257 | + <feature name='movbe'/> | ||
1749 | 258 | + <feature name='msr'/> | ||
1750 | 259 | + <feature name='mtrr'/> | ||
1751 | 260 | + <feature name='nx'/> | ||
1752 | 261 | + <feature name='pae'/> | ||
1753 | 262 | + <feature name='pat'/> | ||
1754 | 263 | + <feature name='pcid'/> | ||
1755 | 264 | + <feature name='pclmuldq'/> | ||
1756 | 265 | + <feature name='pdpe1gb'/> | ||
1757 | 266 | + <feature name='pge'/> | ||
1758 | 267 | + <feature name='pku'/> | ||
1759 | 268 | + <feature name='pni'/> | ||
1760 | 269 | + <feature name='popcnt'/> | ||
1761 | 270 | + <feature name='pschange-mc-no'/> | ||
1762 | 271 | + <feature name='pse'/> | ||
1763 | 272 | + <feature name='pse36'/> | ||
1764 | 273 | + <feature name='rdctl-no'/> | ||
1765 | 274 | + <feature name='rdpid'/> | ||
1766 | 275 | + <feature name='rdrand'/> | ||
1767 | 276 | + <feature name='rdseed'/> | ||
1768 | 277 | + <feature name='rdtscp'/> | ||
1769 | 278 | + <feature name='rtm'/> | ||
1770 | 279 | + <feature name='sep'/> | ||
1771 | 280 | + <feature name='serialize'/> | ||
1772 | 281 | + <feature name='sha-ni'/> | ||
1773 | 282 | + <feature name='skip-l1dfl-vmentry'/> | ||
1774 | 283 | + <feature name='smap'/> | ||
1775 | 284 | + <feature name='smep'/> | ||
1776 | 285 | + <feature name='spec-ctrl'/> | ||
1777 | 286 | + <feature name='ssbd'/> | ||
1778 | 287 | + <feature name='sse'/> | ||
1779 | 288 | + <feature name='sse2'/> | ||
1780 | 289 | + <feature name='sse4.1'/> | ||
1781 | 290 | + <feature name='sse4.2'/> | ||
1782 | 291 | + <feature name='ssse3'/> | ||
1783 | 292 | + <feature name='syscall'/> | ||
1784 | 293 | + <feature name='taa-no'/> | ||
1785 | 294 | + <feature name='tsc'/> | ||
1786 | 295 | + <feature name='tsc-deadline'/> | ||
1787 | 296 | + <feature name='tsx-ldtrk'/> | ||
1788 | 297 | + <feature name='umip'/> | ||
1789 | 298 | + <feature name='vaes'/> | ||
1790 | 299 | + <feature name='vme'/> | ||
1791 | 300 | + <feature name='vpclmulqdq'/> | ||
1792 | 301 | + <feature name='wbnoinvd'/> | ||
1793 | 302 | + <feature name='x2apic'/> | ||
1794 | 303 | + <feature name='xfd'/> | ||
1795 | 304 | + <feature name='xgetbv1'/> | ||
1796 | 305 | + <feature name='xsave'/> | ||
1797 | 306 | + <feature name='xsavec'/> | ||
1798 | 307 | + <feature name='xsaveopt'/> | ||
1799 | 308 | + <feature name='xsaves'/> | ||
1800 | 309 | + </model> | ||
1801 | 310 | +</cpus> |
This looks to be properly carrying the changes from https:/ /code.launchpad .net/~lvoytek/ ubuntu/ +source/ libvirt/ +git/libvirt/ +merge/ 455071 back to jammy, and the further support as mentioned. PPA builds properly, I didn't check autopkgtests but this type of change is unlikely to be adequately exercised by those tests. There is a quantity of patches here but they're principally all XML tweaks along with corresponding python and C code, all of which looks good on a quick visual inspection.
LGTM, +1