Skip to content

Commit 0d42370

Browse files
authored
Merge pull request jiangcuo#162 from jiangcuo/port3
bump qemu-server to 8.3.3+port3
2 parents 4278754 + 852e0ce commit 0d42370

3 files changed

Lines changed: 280 additions & 1 deletion

File tree

‎packages/qemu-server/patches/010-bump-version-to-8.3.3+port2.patch‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ index 87012a2a..caf93620 100644
77
+
88
+ * Add 'gicversion' param.
99
+
10-
+ -- Jiangcuo <Jiangcuo@lierfang.com> Thu, 26 Dec 2024 12:28:33 +0800
10+
+ -- Jiangcuo <Jiangcuo@lierfang.com> Thu, 26 Dec 2024 12:13:33 +0800
1111
+
1212
qemu-server (8.3.3+port) bookworm; urgency=medium
1313

Lines changed: 278 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,278 @@
1+
diff --git a/PVE/QemuServer/CPUConfig.pm b/PVE/QemuServer/CPUConfig.pm
2+
index f5344716..df8ea459 100644
3+
--- a/PVE/QemuServer/CPUConfig.pm
4+
+++ b/PVE/QemuServer/CPUConfig.pm
5+
@@ -39,22 +39,22 @@ sub load_custom_model_conf {
6+
7+
#builtin models : reported-model is mandatory
8+
my $builtin_models = {
9+
- # 'x86-64-v2' => {
10+
- # 'reported-model' => 'qemu64',
11+
- # flags => "+popcnt;+pni;+sse4.1;+sse4.2;+ssse3",
12+
- # },
13+
- # 'x86-64-v2-AES' => {
14+
- # 'reported-model' => 'qemu64',
15+
- # flags => "+aes;+popcnt;+pni;+sse4.1;+sse4.2;+ssse3",
16+
- # },
17+
- # 'x86-64-v3' => {
18+
- # 'reported-model' => 'qemu64',
19+
- # flags => "+aes;+popcnt;+pni;+sse4.1;+sse4.2;+ssse3;+avx;+avx2;+bmi1;+bmi2;+f16c;+fma;+abm;+movbe;+xsave",
20+
- # },
21+
- # 'x86-64-v4' => {
22+
- # 'reported-model' => 'qemu64',
23+
- # flags => "+aes;+popcnt;+pni;+sse4.1;+sse4.2;+ssse3;+avx;+avx2;+bmi1;+bmi2;+f16c;+fma;+abm;+movbe;+xsave;+avx512f;+avx512bw;+avx512cd;+avx512dq;+avx512vl",
24+
- # },
25+
+ 'x86-64-v2' => {
26+
+ 'reported-model' => 'qemu64',
27+
+ flags => "+popcnt;+pni;+sse4.1;+sse4.2;+ssse3",
28+
+ },
29+
+ 'x86-64-v2-AES' => {
30+
+ 'reported-model' => 'qemu64',
31+
+ flags => "+aes;+popcnt;+pni;+sse4.1;+sse4.2;+ssse3",
32+
+ },
33+
+ 'x86-64-v3' => {
34+
+ 'reported-model' => 'qemu64',
35+
+ flags => "+aes;+popcnt;+pni;+sse4.1;+sse4.2;+ssse3;+avx;+avx2;+bmi1;+bmi2;+f16c;+fma;+abm;+movbe;+xsave",
36+
+ },
37+
+ 'x86-64-v4' => {
38+
+ 'reported-model' => 'qemu64',
39+
+ flags => "+aes;+popcnt;+pni;+sse4.1;+sse4.2;+ssse3;+avx;+avx2;+bmi1;+bmi2;+f16c;+fma;+abm;+movbe;+xsave;+avx512f;+avx512bw;+avx512cd;+avx512dq;+avx512vl",
40+
+ },
41+
};
42+
43+
my $depreacated_cpu_map = {
44+
@@ -76,99 +76,99 @@ my $cputypes_32bit = {
45+
46+
my $cpu_vendor_list = {
47+
# Intel CPUs
48+
- # 486 => 'GenuineIntel',
49+
- # pentium => 'GenuineIntel',
50+
- # pentium2 => 'GenuineIntel',
51+
- # pentium3 => 'GenuineIntel',
52+
- # coreduo => 'GenuineIntel',
53+
- # core2duo => 'GenuineIntel',
54+
- # Conroe => 'GenuineIntel',
55+
- # Penryn => 'GenuineIntel',
56+
- # Nehalem => 'GenuineIntel',
57+
- # 'Nehalem-IBRS' => 'GenuineIntel',
58+
- # Westmere => 'GenuineIntel',
59+
- # 'Westmere-IBRS' => 'GenuineIntel',
60+
- # SandyBridge => 'GenuineIntel',
61+
- # 'SandyBridge-IBRS' => 'GenuineIntel',
62+
- # IvyBridge => 'GenuineIntel',
63+
- # 'IvyBridge-IBRS' => 'GenuineIntel',
64+
- # Haswell => 'GenuineIntel',
65+
- # 'Haswell-IBRS' => 'GenuineIntel',
66+
- # 'Haswell-noTSX' => 'GenuineIntel',
67+
- # 'Haswell-noTSX-IBRS' => 'GenuineIntel',
68+
- # Broadwell => 'GenuineIntel',
69+
- # 'Broadwell-IBRS' => 'GenuineIntel',
70+
- # 'Broadwell-noTSX' => 'GenuineIntel',
71+
- # 'Broadwell-noTSX-IBRS' => 'GenuineIntel',
72+
- # 'Skylake-Client' => 'GenuineIntel',
73+
- # 'Skylake-Client-IBRS' => 'GenuineIntel',
74+
- # 'Skylake-Client-noTSX-IBRS' => 'GenuineIntel',
75+
- # 'Skylake-Client-v4' => 'GenuineIntel',
76+
- # 'Skylake-Server' => 'GenuineIntel',
77+
- # 'Skylake-Server-IBRS' => 'GenuineIntel',
78+
- # 'Skylake-Server-noTSX-IBRS' => 'GenuineIntel',
79+
- # 'Skylake-Server-v4' => 'GenuineIntel',
80+
- # 'Skylake-Server-v5' => 'GenuineIntel',
81+
- # 'Cascadelake-Server' => 'GenuineIntel',
82+
- # 'Cascadelake-Server-v2' => 'GenuineIntel',
83+
- # 'Cascadelake-Server-noTSX' => 'GenuineIntel',
84+
- # 'Cascadelake-Server-v4' => 'GenuineIntel',
85+
- # 'Cascadelake-Server-v5' => 'GenuineIntel',
86+
- # 'Cooperlake' => 'GenuineIntel',
87+
- # 'Cooperlake-v2' => 'GenuineIntel',
88+
- # KnightsMill => 'GenuineIntel',
89+
- # 'Icelake-Client' => 'GenuineIntel', # depreacated, removed with QEMU 7.1
90+
- # 'Icelake-Client-noTSX' => 'GenuineIntel', # depreacated, removed with QEMU 7.1
91+
- # 'Icelake-Server' => 'GenuineIntel',
92+
- # 'Icelake-Server-noTSX' => 'GenuineIntel',
93+
- # 'Icelake-Server-v3' => 'GenuineIntel',
94+
- # 'Icelake-Server-v4' => 'GenuineIntel',
95+
- # 'Icelake-Server-v5' => 'GenuineIntel',
96+
- # 'Icelake-Server-v6' => 'GenuineIntel',
97+
- # 'SapphireRapids' => 'GenuineIntel',
98+
-
99+
- # # AMD CPUs
100+
- # athlon => 'AuthenticAMD',
101+
- # phenom => 'AuthenticAMD',
102+
- # Opteron_G1 => 'AuthenticAMD',
103+
- # Opteron_G2 => 'AuthenticAMD',
104+
- # Opteron_G3 => 'AuthenticAMD',
105+
- # Opteron_G4 => 'AuthenticAMD',
106+
- # Opteron_G5 => 'AuthenticAMD',
107+
- # EPYC => 'AuthenticAMD',
108+
- # 'EPYC-IBPB' => 'AuthenticAMD',
109+
- # 'EPYC-v3' => 'AuthenticAMD',
110+
- #'EPYC-v4' => 'AuthenticAMD',
111+
- # 'EPYC-Rome' => 'AuthenticAMD',
112+
- # 'EPYC-Rome-v2' => 'AuthenticAMD',
113+
- #'EPYC-Rome-v3' => 'AuthenticAMD',
114+
- #'EPYC-Rome-v4' => 'AuthenticAMD',
115+
- #'EPYC-Milan' => 'AuthenticAMD',
116+
- #'EPYC-Milan-v2' => 'AuthenticAMD',
117+
- #'EPYC-Genoa' => 'AuthenticAMD',
118+
+ 486 => 'GenuineIntel',
119+
+ pentium => 'GenuineIntel',
120+
+ pentium2 => 'GenuineIntel',
121+
+ pentium3 => 'GenuineIntel',
122+
+ coreduo => 'GenuineIntel',
123+
+ core2duo => 'GenuineIntel',
124+
+ Conroe => 'GenuineIntel',
125+
+ Penryn => 'GenuineIntel',
126+
+ Nehalem => 'GenuineIntel',
127+
+ 'Nehalem-IBRS' => 'GenuineIntel',
128+
+ Westmere => 'GenuineIntel',
129+
+ 'Westmere-IBRS' => 'GenuineIntel',
130+
+ SandyBridge => 'GenuineIntel',
131+
+ 'SandyBridge-IBRS' => 'GenuineIntel',
132+
+ IvyBridge => 'GenuineIntel',
133+
+ 'IvyBridge-IBRS' => 'GenuineIntel',
134+
+ Haswell => 'GenuineIntel',
135+
+ 'Haswell-IBRS' => 'GenuineIntel',
136+
+ 'Haswell-noTSX' => 'GenuineIntel',
137+
+ 'Haswell-noTSX-IBRS' => 'GenuineIntel',
138+
+ Broadwell => 'GenuineIntel',
139+
+ 'Broadwell-IBRS' => 'GenuineIntel',
140+
+ 'Broadwell-noTSX' => 'GenuineIntel',
141+
+ 'Broadwell-noTSX-IBRS' => 'GenuineIntel',
142+
+ 'Skylake-Client' => 'GenuineIntel',
143+
+ 'Skylake-Client-IBRS' => 'GenuineIntel',
144+
+ 'Skylake-Client-noTSX-IBRS' => 'GenuineIntel',
145+
+ 'Skylake-Client-v4' => 'GenuineIntel',
146+
+ 'Skylake-Server' => 'GenuineIntel',
147+
+ 'Skylake-Server-IBRS' => 'GenuineIntel',
148+
+ 'Skylake-Server-noTSX-IBRS' => 'GenuineIntel',
149+
+ 'Skylake-Server-v4' => 'GenuineIntel',
150+
+ 'Skylake-Server-v5' => 'GenuineIntel',
151+
+ 'Cascadelake-Server' => 'GenuineIntel',
152+
+ 'Cascadelake-Server-v2' => 'GenuineIntel',
153+
+ 'Cascadelake-Server-noTSX' => 'GenuineIntel',
154+
+ 'Cascadelake-Server-v4' => 'GenuineIntel',
155+
+ 'Cascadelake-Server-v5' => 'GenuineIntel',
156+
+ 'Cooperlake' => 'GenuineIntel',
157+
+ 'Cooperlake-v2' => 'GenuineIntel',
158+
+ KnightsMill => 'GenuineIntel',
159+
+ 'Icelake-Client' => 'GenuineIntel', # depreacated, removed with QEMU 7.1
160+
+ 'Icelake-Client-noTSX' => 'GenuineIntel', # depreacated, removed with QEMU 7.1
161+
+ 'Icelake-Server' => 'GenuineIntel',
162+
+ 'Icelake-Server-noTSX' => 'GenuineIntel',
163+
+ 'Icelake-Server-v3' => 'GenuineIntel',
164+
+ 'Icelake-Server-v4' => 'GenuineIntel',
165+
+ 'Icelake-Server-v5' => 'GenuineIntel',
166+
+ 'Icelake-Server-v6' => 'GenuineIntel',
167+
+ 'SapphireRapids' => 'GenuineIntel',
168+
+
169+
+ # AMD CPUs
170+
+ athlon => 'AuthenticAMD',
171+
+ phenom => 'AuthenticAMD',
172+
+ Opteron_G1 => 'AuthenticAMD',
173+
+ Opteron_G2 => 'AuthenticAMD',
174+
+ Opteron_G3 => 'AuthenticAMD',
175+
+ Opteron_G4 => 'AuthenticAMD',
176+
+ Opteron_G5 => 'AuthenticAMD',
177+
+ EPYC => 'AuthenticAMD',
178+
+ 'EPYC-IBPB' => 'AuthenticAMD',
179+
+ 'EPYC-v3' => 'AuthenticAMD',
180+
+ 'EPYC-v4' => 'AuthenticAMD',
181+
+ 'EPYC-Rome' => 'AuthenticAMD',
182+
+ 'EPYC-Rome-v2' => 'AuthenticAMD',
183+
+ 'EPYC-Rome-v3' => 'AuthenticAMD',
184+
+ 'EPYC-Rome-v4' => 'AuthenticAMD',
185+
+ 'EPYC-Milan' => 'AuthenticAMD',
186+
+ 'EPYC-Milan-v2' => 'AuthenticAMD',
187+
+ 'EPYC-Genoa' => 'AuthenticAMD',
188+
189+
# # generic types, use vendor from host node
190+
# host => 'default',
191+
- # kvm32 => 'default',
192+
- # kvm64 => 'default',
193+
- # qemu32 => 'default',
194+
- # qemu64 => 'default',
195+
+ kvm32 => 'default',
196+
+ kvm64 => 'default',
197+
+ qemu32 => 'default',
198+
+ qemu64 => 'default',
199+
# max => 'default',
200+
# virt arm64 cpus
201+
'host' => 'default',
202+
- 'cortex-a35' => 'default',
203+
- 'cortex-a53' => 'default',
204+
- 'cortex-a55' => 'default',
205+
- 'cortex-a57' => 'default',
206+
- 'cortex-a72' => 'default',
207+
- 'cortex-a76' => 'default',
208+
- 'neoverse-n1' => 'default',
209+
+ 'cortex-a35' => 'ARM',
210+
+ 'cortex-a53' => 'ARM',
211+
+ 'cortex-a55' => 'ARM',
212+
+ 'cortex-a57' => 'ARM',
213+
+ 'cortex-a72' => 'ARM',
214+
+ 'cortex-a76' => 'ARM',
215+
+ 'neoverse-n1' => 'ARM',
216+
'max' => 'default',
217+
- 'la464_loongarch_cpu' => 'default',
218+
- 'rv64' => 'default',
219+
- 'la464' => 'default',
220+
- 'la132' => 'default',
221+
- 'Kunpeng-920' => 'default',
222+
+ 'la464_loongarch_cpu' => 'LoongARCH',
223+
+ 'rv64' => 'RISCV',
224+
+ 'la464' => 'LoongARCH',
225+
+ 'la132' => 'LoongARCH',
226+
+ 'Kunpeng-920' => 'ARM',
227+
};
228+
229+
my @supported_cpu_flags = (
230+
@@ -635,15 +635,12 @@ sub get_cpu_options {
231+
232+
# $cputype is the "reported-model" for custom types, so we can just look up
233+
# the vendor in the default list
234+
- my $cpu_vendor = $cpu_vendor_list->{$cputype};
235+
+ my $cpu_vendor = $cpu_vendor_list->{$cputype} if $arch eq 'x86_64';
236+
if ($cpu_vendor) {
237+
- $pve_forced_flags->{'vendor'} = {
238+
- value => $cpu_vendor,
239+
- } if $cpu_vendor ne 'default';
240+
- } elsif ($arch ne 'loongarch64') {
241+
- die "internal error"; # should not happen
242+
- }
243+
-
244+
+ $pve_forced_flags->{'vendor'} = {
245+
+ value => $cpu_vendor,
246+
+ } if $cpu_vendor ne 'default';
247+
+ }
248+
my $cpu_str = $cputype;
249+
250+
# will be resolved in parameter order
251+
@@ -781,6 +778,7 @@ sub get_default_cpu_type {
252+
$cputype = 'host' if $arch eq 'arm';
253+
$cputype = 'rv64' if $arch eq 'riscv64';
254+
$cputype = 'max' if $arch eq 'loongarch64';
255+
+ $cputype = 'host' if $arch eq 'x86_64';
256+
257+
return $cputype;
258+
}
259+
diff --git a/debian/changelog b/debian/changelog
260+
index caf93620..7b1cf9c2 100644
261+
--- a/debian/changelog
262+
+++ b/debian/changelog
263+
@@ -1,8 +1,14 @@
264+
+qemu-server (8.3.3+port3) bookworm; urgency=medium
265+
+
266+
+ * Add x86_64 cpu for compatible with x86 host
267+
+
268+
+ -- Jiangcuo <Jiangcuo@lierfang.com> Fri, 17 Jan 2025 11:57:51 +0800
269+
+
270+
qemu-server (8.3.3+port2) bookworm; urgency=medium
271+
272+
* Add 'gicversion' param.
273+
274+
- -- Jiangcuo <Jiangcuo@lierfang.com> Thu, 26 Dec 2024 12:13:33 +0800
275+
+ -- Jiangcuo <Jiangcuo@lierfang.com> Thu, 26 Dec 2024 12:14:33 +0800
276+
277+
qemu-server (8.3.3+port) bookworm; urgency=medium
278+

‎packages/qemu-server/series‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ patches/006-bump-qemu-server-to-8.3.2+port.patch
77
patches/007-bump-version-to-8.3.3+port.patch
88
patches/009-add-gicversion-param.patch
99
patches/010-bump-version-to-8.3.3+port2.patch
10+
patches/011-Add-x86_64-cpu-for-compatible-with-x86-host.patch

0 commit comments

Comments
 (0)