qemu_command_builder/
cpu_type.rs

1use crate::to_command::{ToArg, ToCommand};
2pub enum CpuTypeAarch64 {
3    /// a64fx
4    A64fx,
5    /// arm1026
6    Arm1026,
7    /// arm1136
8    Arm1136,
9    /// arm1136-r2
10    Arm1136r2,
11    /// arm1176
12    Arm1176,
13    /// arm11mpcore
14    Arm11mpcore,
15    /// arm926
16    Arm926,
17    /// arm946
18    Arm946,
19    /// cortex-a15
20    Cortexa15,
21    /// cortex-a35
22    Cortexa35,
23    /// cortex-a53
24    Cortexa53,
25    /// cortex-a55
26    Cortexa55,
27    /// cortex-a57
28    Cortexa57,
29    /// cortex-a7
30    Cortexa7,
31    /// cortex-a710
32    Cortexa710,
33    /// cortex-a72
34    Cortexa72,
35    /// cortex-a76
36    Cortexa76,
37    /// cortex-a8
38    Cortexa8,
39    /// cortex-a9
40    Cortexa9,
41    /// cortex-m0
42    Cortexm0,
43    /// cortex-m3
44    Cortexm3,
45    /// cortex-m33
46    Cortexm33,
47    /// cortex-m4
48    Cortexm4,
49    /// cortex-m55
50    Cortexm55,
51    /// cortex-m7
52    Cortexm7,
53    /// cortex-r5
54    Cortexr5,
55    /// cortex-r52
56    Cortexr52,
57    /// cortex-r5f
58    Cortexr5f,
59    /// host
60    Host,
61    /// max
62    Max,
63    /// neoverse-n1
64    Neoversen1,
65    /// neoverse-n2
66    Neoversen2,
67    /// neoverse-v1
68    NeoverseV1,
69    /// (deprecated)
70    Pxa250,
71    /// (deprecated)
72    Pxa255,
73    /// (deprecated)
74    Pxa260,
75    /// (deprecated)
76    Pxa261,
77    /// (deprecated)
78    Pxa262,
79    /// (deprecated)
80    Pxa270a0,
81    /// (deprecated)
82    Pxa270a1,
83    /// (deprecated)
84    Pxa270,
85    /// (deprecated)
86    Pxa270b0,
87    /// (deprecated)
88    Pxa270b1,
89    /// (deprecated)
90    Pxa270c0,
91    /// (deprecated)
92    Pxa270c5,
93    /// sa1100
94    Sa1100,
95    /// sa1110
96    Sa1110,
97    /// ti925t
98    Ti925t,
99}
100impl ToCommand for CpuTypeAarch64 {
101    fn to_command(&self) -> Vec<String> {
102        let mut cmd = vec![];
103
104        match self {
105            CpuTypeAarch64::A64fx => cmd.push("a64fx".to_string()),
106            CpuTypeAarch64::Arm1026 => cmd.push("arm1026".to_string()),
107            CpuTypeAarch64::Arm1136 => cmd.push("arm1136".to_string()),
108            CpuTypeAarch64::Arm1136r2 => cmd.push("arm1136-r2".to_string()),
109            CpuTypeAarch64::Arm1176 => cmd.push("arm1176".to_string()),
110            CpuTypeAarch64::Arm11mpcore => cmd.push("arm11mpcore".to_string()),
111            CpuTypeAarch64::Arm926 => cmd.push("arm926".to_string()),
112            CpuTypeAarch64::Arm946 => cmd.push("arm946".to_string()),
113            CpuTypeAarch64::Cortexa15 => cmd.push("cortex-a15".to_string()),
114            CpuTypeAarch64::Cortexa35 => cmd.push("cortex-a35".to_string()),
115            CpuTypeAarch64::Cortexa53 => cmd.push("cortex-a53".to_string()),
116            CpuTypeAarch64::Cortexa55 => cmd.push("cortex-a55".to_string()),
117            CpuTypeAarch64::Cortexa57 => cmd.push("cortex-a57".to_string()),
118            CpuTypeAarch64::Cortexa7 => cmd.push("cortex-a7".to_string()),
119            CpuTypeAarch64::Cortexa710 => cmd.push("cortex-a710".to_string()),
120            CpuTypeAarch64::Cortexa72 => cmd.push("cortex-a72".to_string()),
121            CpuTypeAarch64::Cortexa76 => cmd.push("cortex-a76".to_string()),
122            CpuTypeAarch64::Cortexa8 => cmd.push("cortex-a8".to_string()),
123            CpuTypeAarch64::Cortexa9 => cmd.push("cortex-a9".to_string()),
124            CpuTypeAarch64::Cortexm0 => cmd.push("cortex-m0".to_string()),
125            CpuTypeAarch64::Cortexm3 => cmd.push("cortex-m3".to_string()),
126            CpuTypeAarch64::Cortexm33 => cmd.push("cortex-m33".to_string()),
127            CpuTypeAarch64::Cortexm4 => cmd.push("cortex-m4".to_string()),
128            CpuTypeAarch64::Cortexm55 => cmd.push("cortex-m55".to_string()),
129            CpuTypeAarch64::Cortexm7 => cmd.push("cortex-m7".to_string()),
130            CpuTypeAarch64::Cortexr5 => cmd.push("cortex-r5".to_string()),
131            CpuTypeAarch64::Cortexr52 => cmd.push("cortex-r52".to_string()),
132            CpuTypeAarch64::Cortexr5f => cmd.push("cortex-r5f".to_string()),
133            CpuTypeAarch64::Host => cmd.push("host".to_string()),
134            CpuTypeAarch64::Max => cmd.push("max".to_string()),
135            CpuTypeAarch64::Neoversen1 => cmd.push("neoverse-n1".to_string()),
136            CpuTypeAarch64::Neoversen2 => cmd.push("neoverse-n2".to_string()),
137            CpuTypeAarch64::NeoverseV1 => cmd.push("neoverse-v1".to_string()),
138            CpuTypeAarch64::Pxa250 => cmd.push("pxa250".to_string()),
139            CpuTypeAarch64::Pxa255 => cmd.push("pxa255".to_string()),
140            CpuTypeAarch64::Pxa260 => cmd.push("pxa260".to_string()),
141            CpuTypeAarch64::Pxa261 => cmd.push("pxa261".to_string()),
142            CpuTypeAarch64::Pxa262 => cmd.push("pxa262".to_string()),
143            CpuTypeAarch64::Pxa270a0 => cmd.push("pxa270-a0".to_string()),
144            CpuTypeAarch64::Pxa270a1 => cmd.push("pxa270-a1".to_string()),
145            CpuTypeAarch64::Pxa270 => cmd.push("pxa270".to_string()),
146            CpuTypeAarch64::Pxa270b0 => cmd.push("pxa270-b0".to_string()),
147            CpuTypeAarch64::Pxa270b1 => cmd.push("pxa270-b1".to_string()),
148            CpuTypeAarch64::Pxa270c0 => cmd.push("pxa270-c0".to_string()),
149            CpuTypeAarch64::Pxa270c5 => cmd.push("pxa270-c5".to_string()),
150            CpuTypeAarch64::Sa1100 => cmd.push("sa1100".to_string()),
151            CpuTypeAarch64::Sa1110 => cmd.push("sa1110".to_string()),
152            CpuTypeAarch64::Ti925t => cmd.push("ti925t".to_string()),
153        }
154        cmd
155    }
156}
157
158impl ToArg for CpuTypeAarch64 {
159    fn to_arg(&self) -> &str {
160        match self {
161            CpuTypeAarch64::A64fx => "a64fx",
162            CpuTypeAarch64::Arm1026 => "arm1026",
163            CpuTypeAarch64::Arm1136 => "arm1136",
164            CpuTypeAarch64::Arm1136r2 => "arm1136-r2",
165            CpuTypeAarch64::Arm1176 => "arm1176",
166            CpuTypeAarch64::Arm11mpcore => "arm11mpcore",
167            CpuTypeAarch64::Arm926 => "arm926",
168            CpuTypeAarch64::Arm946 => "arm946",
169            CpuTypeAarch64::Cortexa15 => "cortex-a15",
170            CpuTypeAarch64::Cortexa35 => "cortex-a35",
171            CpuTypeAarch64::Cortexa53 => "cortex-a53",
172            CpuTypeAarch64::Cortexa55 => "cortex-a55",
173            CpuTypeAarch64::Cortexa57 => "cortex-a57",
174            CpuTypeAarch64::Cortexa7 => "cortex-a7",
175            CpuTypeAarch64::Cortexa710 => "cortex-a710",
176            CpuTypeAarch64::Cortexa72 => "cortex-a72",
177            CpuTypeAarch64::Cortexa76 => "cortex-a76",
178            CpuTypeAarch64::Cortexa8 => "cortex-a8",
179            CpuTypeAarch64::Cortexa9 => "cortex-a9",
180            CpuTypeAarch64::Cortexm0 => "cortex-m0",
181            CpuTypeAarch64::Cortexm3 => "cortex-m3",
182            CpuTypeAarch64::Cortexm33 => "cortex-m33",
183            CpuTypeAarch64::Cortexm4 => "cortex-m4",
184            CpuTypeAarch64::Cortexm55 => "cortex-m55",
185            CpuTypeAarch64::Cortexm7 => "cortex-m7",
186            CpuTypeAarch64::Cortexr5 => "cortex-r5",
187            CpuTypeAarch64::Cortexr52 => "cortex-r52",
188            CpuTypeAarch64::Cortexr5f => "cortex-r5f",
189            CpuTypeAarch64::Host => "host",
190            CpuTypeAarch64::Max => "max",
191            CpuTypeAarch64::Neoversen1 => "neoverse-n1",
192            CpuTypeAarch64::Neoversen2 => "neoverse-n2",
193            CpuTypeAarch64::NeoverseV1 => "neoverse-v1",
194            CpuTypeAarch64::Pxa250 => "pxa250",
195            CpuTypeAarch64::Pxa255 => "pxa255",
196            CpuTypeAarch64::Pxa260 => "pxa260",
197            CpuTypeAarch64::Pxa261 => "pxa261",
198            CpuTypeAarch64::Pxa262 => "pxa262",
199            CpuTypeAarch64::Pxa270a0 => "pxa270-a0",
200            CpuTypeAarch64::Pxa270a1 => "pxa270-a1",
201            CpuTypeAarch64::Pxa270 => "pxa270",
202            CpuTypeAarch64::Pxa270b0 => "pxa270-b0",
203            CpuTypeAarch64::Pxa270b1 => "pxa270-b1",
204            CpuTypeAarch64::Pxa270c0 => "pxa270-c0",
205            CpuTypeAarch64::Pxa270c5 => "pxa270-c5",
206            CpuTypeAarch64::Sa1100 => "sa1100",
207            CpuTypeAarch64::Sa1110 => "sa1110",
208            CpuTypeAarch64::Ti925t => "ti925t",
209        }
210    }
211}
212
213pub enum CpuTypeX86_64 {
214    /// (alias configured by machine type)
215    X486,
216    /// 486-v1
217    X486V1,
218    /// (alias configured by machine type)
219    Broadwell,
220    /// (alias of Broadwell-v3)
221    BroadwellIBRS,
222    /// (alias of Broadwell-v2)
223    BroadwellnoTSX,
224    /// (alias of Broadwell-v4)
225    BroadwellnoTSXIBRS,
226    /// Intel Core Processor (Broadwell)
227    BroadwellV1,
228    /// Intel Core Processor (Broadwell, no TSX)
229    BroadwellV2,
230    /// Intel Core Processor (Broadwell, IBRS)
231    BroadwellV3,
232    /// Intel Core Processor (Broadwell, no TSX, IBRS)
233    BroadwellV4,
234    /// (alias configured by machine type)
235    CascadelakeServer,
236    /// (alias of Cascadelake-Server-v3)
237    CascadelakeServernoTSX,
238    /// Intel Xeon Processor (Cascadelake)
239    CascadelakeServerV1,
240    /// Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES]
241    CascadelakeServerV2,
242    /// Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, no TSX]
243    CascadelakeServerV3,
244    /// Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, EPT switching, no TSX]
245    CascadelakeServerV4,
246    /// Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, EPT switching, XSAVES, no TSX]
247    CascadelakeServerV5,
248    /// (alias configured by machine type)
249    ClearwaterForest,
250    /// Intel Xeon Processor (ClearwaterForest)
251    ClearwaterForestV1,
252    /// (alias configured by machine type)
253    Conroe,
254    /// Intel Celeron_4x0 (Conroe/Merom Class Core 2)
255    ConroeV1,
256    /// (alias configured by machine type)
257    Cooperlake,
258    /// Intel Xeon Processor (Cooperlake)
259    CooperlakeV1,
260    /// Intel Xeon Processor (Cooperlake) [XSAVES]
261    CooperlakeV2,
262    /// (alias configured by machine type)
263    Denverton,
264    /// Intel Atom Processor (Denverton)
265    DenvertonV1,
266    /// Intel Atom Processor (Denverton) [no MPX, no MONITOR]
267    DenvertonV2,
268    /// Intel Atom Processor (Denverton) [XSAVES, no MPX, no MONITOR]
269    DenvertonV3,
270    /// (alias configured by machine type)
271    Dhyana,
272    /// Hygon Dhyana Processor
273    DhyanaV1,
274    /// Hygon Dhyana Processor [XSAVES]
275    DhyanaV2,
276    /// (alias configured by machine type)
277    EPYC,
278    /// (alias configured by machine type)
279    EPYCGenoa,
280    /// AMD EPYC-Genoa Processor
281    EPYCGenoaV1,
282    /// (alias of EPYC-v2)
283    EPYCIBPB,
284    /// (alias configured by machine type)
285    EPYCMilan,
286    /// AMD EPYC-Milan Processor
287    EPYCMilanV1,
288    /// AMD EPYC-Milan-v2 Processor
289    EPYCMilanV2,
290    /// (alias configured by machine type)
291    EPYCRome,
292    /// AMD EPYC-Rome Processor
293    EPYCRomeV1,
294    /// AMD EPYC-Rome Processor
295    EPYCRomeV2,
296    /// AMD EPYC-Rome-v3 Processor
297    EPYCRomeV3,
298    /// AMD EPYC-Rome-v4 Processor (no XSAVES)
299    EPYCRomeV4,
300    /// AMD EPYC Processor
301    EPYCV1,
302    /// AMD EPYC Processor (with IBPB)
303    EPYCV2,
304    /// AMD EPYC Processor
305    EPYCV3,
306    /// AMD EPYC-v4 Processor
307    EPYCV4,
308    /// (alias configured by machine type)
309    GraniteRapids,
310    /// Intel Xeon Processor (GraniteRapids)
311    GraniteRapidsV1,
312    /// Intel Xeon Processor (GraniteRapids)
313    GraniteRapidsV2,
314    /// (alias configured by machine type)
315    Haswell,
316    /// (alias of Haswell-v3)
317    HaswellIBRS,
318    /// (alias of Haswell-v2)
319    HaswellnoTSX,
320    /// (alias of Haswell-v4)
321    HaswellnoTSXIBRS,
322    /// Intel Core Processor (Haswell)
323    HaswellV1,
324    /// Intel Core Processor (Haswell, no TSX)
325    HaswellV2,
326    /// Intel Core Processor (Haswell, IBRS)
327    HaswellV3,
328    /// Intel Core Processor (Haswell, no TSX, IBRS)
329    HaswellV4,
330    /// (alias configured by machine type)
331    IcelakeServer,
332    /// (alias of Icelake-Server-v2)
333    IcelakeServernoTSX,
334    /// Intel Xeon Processor (Icelake)
335    IcelakeServerV1,
336    /// Intel Xeon Processor (Icelake) [no TSX]
337    IcelakeServerV2,
338    /// Intel Xeon Processor (Icelake)
339    IcelakeServerV3,
340    /// Intel Xeon Processor (Icelake)
341    IcelakeServerV4,
342    /// Intel Xeon Processor (Icelake) [XSAVES]
343    IcelakeServerV5,
344    /// Intel Xeon Processor (Icelake) [5-level EPT]
345    IcelakeServerV6,
346    /// Intel Xeon Processor (Icelake) [TSX, taa-no]
347    IcelakeServerV7,
348    /// (alias configured by machine type)
349    IvyBridge,
350    /// (alias of IvyBridge-v2)
351    IvyBridgeIBRS,
352    /// Intel Xeon E3-12xx v2 (Ivy Bridge)
353    IvyBridgeV1,
354    /// Intel Xeon E3-12xx v2 (Ivy Bridge, IBRS)
355    IvyBridgeV2,
356    /// (alias configured by machine type)
357    KnightsMill,
358    /// Intel Xeon Phi Processor (Knights Mill)
359    KnightsMillV1,
360    /// (alias configured by machine type)
361    Nehalem,
362    /// (alias of Nehalem-v2)
363    NehalemIBRS,
364    /// Intel Core i7 9xx (Nehalem Class Core i7)
365    NehalemV1,
366    /// Intel Core i7 9xx (Nehalem Core i7, IBRS update)
367    NehalemV2,
368    /// (alias configured by machine type)
369    OpteronG1,
370    /// AMD Opteron 240 (Gen 1 Class Opteron)
371    OpteronG1V1,
372    /// (alias configured by machine type)
373    OpteronG2,
374    /// AMD Opteron 22xx (Gen 2 Class Opteron)
375    OpteronG2V1,
376    /// (alias configured by machine type)
377    OpteronG3,
378    /// AMD Opteron 23xx (Gen 3 Class Opteron)
379    OpteronG3V1,
380    /// (alias configured by machine type)
381    OpteronG4,
382    /// AMD Opteron 62xx class CPU
383    OpteronG4V1,
384    /// (alias configured by machine type)
385    OpteronG5,
386    /// AMD Opteron 63xx class CPU
387    OpteronG5V1,
388    /// (alias configured by machine type)
389    Penryn,
390    /// Intel Core 2 Duo P9xxx (Penryn Class Core 2)
391    PenrynV1,
392    /// (alias configured by machine type)
393    SandyBridge,
394    /// (alias of SandyBridge-v2)
395    SandyBridgeIBRS,
396    /// Intel Xeon E312xx (Sandy Bridge)
397    SandyBridgeV1,
398    /// Intel Xeon E312xx (Sandy Bridge, IBRS update)
399    SandyBridgeV2,
400    /// (alias configured by machine type)
401    SapphireRapids,
402    /// Intel Xeon Processor (SapphireRapids)
403    SapphireRapidsV1,
404    /// Intel Xeon Processor (SapphireRapids)
405    SapphireRapidsV2,
406    /// Intel Xeon Processor (SapphireRapids)
407    SapphireRapidsV3,
408    /// (alias configured by machine type)
409    SierraForest,
410    /// Intel Xeon Processor (SierraForest)
411    SierraForestV1,
412    /// Intel Xeon Processor (SierraForest)
413    SierraForestV2,
414    /// (alias configured by machine type)
415    SkylakeClient,
416    /// (alias of Skylake-Client-v2)
417    SkylakeClientIBRS,
418    /// (alias of Skylake-Client-v3)
419    SkylakeClientnoTSXIBRS,
420    /// Intel Core Processor (Skylake)
421    SkylakeClientV1,
422    /// Intel Core Processor (Skylake, IBRS)
423    SkylakeClientV2,
424    /// Intel Core Processor (Skylake, IBRS, no TSX)
425    SkylakeClientV3,
426    /// Intel Core Processor (Skylake, IBRS, no TSX) [IBRS, XSAVES, no TSX]
427    SkylakeClientV4,
428    /// (alias configured by machine type)
429    SkylakeServer,
430    /// (alias of Skylake-Server-v2)
431    SkylakeServerIBRS,
432    /// (alias of Skylake-Server-v3)
433    SkylakeServernoTSXIBRS,
434    /// Intel Xeon Processor (Skylake)
435    SkylakeServerV1,
436    /// Intel Xeon Processor (Skylake, IBRS)
437    SkylakeServerV2,
438    /// Intel Xeon Processor (Skylake, IBRS, no TSX)
439    SkylakeServerV3,
440    /// Intel Xeon Processor (Skylake, IBRS, no TSX) [IBRS, EPT switching, no TSX]
441    SkylakeServerV4,
442    /// Intel Xeon Processor (Skylake, IBRS, no TSX) [IBRS, XSAVES, EPT switching, no TSX]
443    SkylakeServerV5,
444    /// (alias configured by machine type)
445    Snowridge,
446    /// Intel Atom Processor (SnowRidge)
447    SnowridgeV1,
448    /// Intel Atom Processor (Snowridge, no MPX)
449    SnowridgeV2,
450    /// Intel Atom Processor (Snowridge, no MPX) [XSAVES, no MPX]
451    SnowridgeV3,
452    /// Intel Atom Processor (Snowridge, no MPX) [no split lock detect, no core-capability]
453    SnowridgeV4,
454    /// (alias configured by machine type)
455    Westmere,
456    /// (alias of Westmere-v2)
457    WestmereIBRS,
458    /// Westmere E56xx/L56xx/X56xx (Nehalem-C)
459    WestmereV1,
460    /// Westmere E56xx/L56xx/X56xx (IBRS update)
461    WestmereV2,
462    /// (alias configured by machine type)
463    YongFeng,
464    /// Zhaoxin YongFeng Processor
465    YongFengV1,
466    /// Zhaoxin YongFeng Processor [with the correct model number]
467    YongFengV2,
468    /// (alias configured by machine type)
469    Athlon,
470    /// QEMU Virtual CPU version 2.5+
471    AthlonV1,
472    /// (alias configured by machine type)
473    Core2duo,
474    /// Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
475    Core2duoV1,
476    /// (alias configured by machine type)
477    Coreduo,
478    /// Genuine Intel(R) CPU T2600 @ 2.16GHz
479    CoreduoV1,
480    /// (alias configured by machine type)
481    Kvm32,
482    /// Common 32-bit KVM processor
483    Kvm32V1,
484    /// (alias configured by machine type)
485    Kvm64,
486    /// Common KVM processor
487    Kvm64V1,
488    /// (alias configured by machine type)
489    N270,
490    /// Intel(R) Atom(TM) CPU N270 @ 1.60GHz
491    N270V1,
492    /// (alias configured by machine type)
493    Pentium,
494    /// pentium-v1
495    PentiumV1,
496    /// (alias configured by machine type)
497    Pentium2,
498    /// pentium2-v1
499    Pentium2V1,
500    /// (alias configured by machine type)
501    Pentium3,
502    /// pentium3-v1
503    Pentium3V1,
504    /// (alias configured by machine type)
505    Phenom,
506    /// AMD Phenom(tm) 9550 Quad-Core Processor
507    PhenomV1,
508    /// (alias configured by machine type)
509    Qemu32,
510    /// QEMU Virtual CPU version 2.5+
511    Qemu32V1,
512    /// (alias configured by machine type)
513    Qemu64,
514    /// QEMU Virtual CPU version 2.5+
515    Qemu64V1,
516    /// base CPU model type with no features enabled
517    Base,
518    /// Enables all features supported by the accelerator in the current host
519    Max,
520    /// Enables all features supported by the accelerator in the current host
521    Host,
522}
523impl ToCommand for CpuTypeX86_64 {
524    fn to_command(&self) -> Vec<String> {
525        let mut cmd = vec![];
526
527        match self {
528            CpuTypeX86_64::X486 => cmd.push("486".to_string()),
529            CpuTypeX86_64::X486V1 => cmd.push("486-v1".to_string()),
530            CpuTypeX86_64::Broadwell => cmd.push("broadwell".to_string()),
531            CpuTypeX86_64::BroadwellIBRS => cmd.push("broadwell-ibrs".to_string()),
532            CpuTypeX86_64::BroadwellnoTSX => cmd.push("broadwell-notsx".to_string()),
533            CpuTypeX86_64::BroadwellnoTSXIBRS => cmd.push("broadwell-notsx-ibrs".to_string()),
534            CpuTypeX86_64::BroadwellV1 => cmd.push("broadwell-v1".to_string()),
535            CpuTypeX86_64::BroadwellV2 => cmd.push("broadwell-v2".to_string()),
536            CpuTypeX86_64::BroadwellV3 => cmd.push("broadwell-v3".to_string()),
537            CpuTypeX86_64::BroadwellV4 => cmd.push("broadwell-v4".to_string()),
538            CpuTypeX86_64::CascadelakeServer => cmd.push("cascadelake-server".to_string()),
539            CpuTypeX86_64::CascadelakeServernoTSX => {
540                cmd.push("cascadelake-server-notsx".to_string())
541            }
542            CpuTypeX86_64::CascadelakeServerV1 => cmd.push("cascadelake-server-v1".to_string()),
543            CpuTypeX86_64::CascadelakeServerV2 => cmd.push("cascadelake-server-v2".to_string()),
544            CpuTypeX86_64::CascadelakeServerV3 => cmd.push("cascadelake-server-v3".to_string()),
545            CpuTypeX86_64::CascadelakeServerV4 => cmd.push("cascadelake-server-v4".to_string()),
546            CpuTypeX86_64::CascadelakeServerV5 => cmd.push("cascadelake-server-v5".to_string()),
547            CpuTypeX86_64::ClearwaterForest => cmd.push("clearwaterforest".to_string()),
548            CpuTypeX86_64::ClearwaterForestV1 => cmd.push("clearwaterforest-v1".to_string()),
549            CpuTypeX86_64::Conroe => cmd.push("conroe".to_string()),
550            CpuTypeX86_64::ConroeV1 => cmd.push("conroe-v1".to_string()),
551            CpuTypeX86_64::Cooperlake => cmd.push("cooperlake".to_string()),
552            CpuTypeX86_64::CooperlakeV1 => cmd.push("cooperlake-v1".to_string()),
553            CpuTypeX86_64::CooperlakeV2 => cmd.push("cooperlake-v2".to_string()),
554            CpuTypeX86_64::Denverton => cmd.push("denverton".to_string()),
555            CpuTypeX86_64::DenvertonV1 => cmd.push("denverton-v1".to_string()),
556            CpuTypeX86_64::DenvertonV2 => cmd.push("denverton-v2".to_string()),
557            CpuTypeX86_64::DenvertonV3 => cmd.push("denverton-v3".to_string()),
558            CpuTypeX86_64::Dhyana => cmd.push("dhyana".to_string()),
559            CpuTypeX86_64::DhyanaV1 => cmd.push("dhyana-v1".to_string()),
560            CpuTypeX86_64::DhyanaV2 => cmd.push("dhyana-v2".to_string()),
561            CpuTypeX86_64::EPYC => cmd.push("epyc".to_string()),
562            CpuTypeX86_64::EPYCGenoa => cmd.push("epyc-genoa".to_string()),
563            CpuTypeX86_64::EPYCGenoaV1 => cmd.push("epyc-genoa-v1".to_string()),
564            CpuTypeX86_64::EPYCIBPB => cmd.push("epyc-ibpb".to_string()),
565            CpuTypeX86_64::EPYCMilan => cmd.push("epyc-milan".to_string()),
566            CpuTypeX86_64::EPYCMilanV1 => cmd.push("epyc-milan-v1".to_string()),
567            CpuTypeX86_64::EPYCMilanV2 => cmd.push("epyc-milan-v2".to_string()),
568            CpuTypeX86_64::EPYCRome => cmd.push("epyc-rome".to_string()),
569            CpuTypeX86_64::EPYCRomeV1 => cmd.push("epyc-rome-v1".to_string()),
570            CpuTypeX86_64::EPYCRomeV2 => cmd.push("epyc-rome-v2".to_string()),
571            CpuTypeX86_64::EPYCRomeV3 => cmd.push("epyc-rome-v3".to_string()),
572            CpuTypeX86_64::EPYCRomeV4 => cmd.push("epyc-rome-v4".to_string()),
573            CpuTypeX86_64::EPYCV1 => cmd.push("epyc-v1".to_string()),
574            CpuTypeX86_64::EPYCV2 => cmd.push("epyc-v2".to_string()),
575            CpuTypeX86_64::EPYCV3 => cmd.push("epyc-v3".to_string()),
576            CpuTypeX86_64::EPYCV4 => cmd.push("epyc-v4".to_string()),
577            CpuTypeX86_64::GraniteRapids => cmd.push("graniterapids".to_string()),
578            CpuTypeX86_64::GraniteRapidsV1 => cmd.push("graniterapids-v1".to_string()),
579            CpuTypeX86_64::GraniteRapidsV2 => cmd.push("graniterapids-v2".to_string()),
580            CpuTypeX86_64::Haswell => cmd.push("haswell".to_string()),
581            CpuTypeX86_64::HaswellIBRS => cmd.push("haswell-ibrs".to_string()),
582            CpuTypeX86_64::HaswellnoTSX => cmd.push("haswell-notsx".to_string()),
583            CpuTypeX86_64::HaswellnoTSXIBRS => cmd.push("haswell-notsx-ibrs".to_string()),
584            CpuTypeX86_64::HaswellV1 => cmd.push("haswell-v1".to_string()),
585            CpuTypeX86_64::HaswellV2 => cmd.push("haswell-v2".to_string()),
586            CpuTypeX86_64::HaswellV3 => cmd.push("haswell-v3".to_string()),
587            CpuTypeX86_64::HaswellV4 => cmd.push("haswell-v4".to_string()),
588            CpuTypeX86_64::IcelakeServer => cmd.push("icelake-server".to_string()),
589            CpuTypeX86_64::IcelakeServernoTSX => cmd.push("icelake-server-notsx".to_string()),
590            CpuTypeX86_64::IcelakeServerV1 => cmd.push("icelake-server-v1".to_string()),
591            CpuTypeX86_64::IcelakeServerV2 => cmd.push("icelake-server-v2".to_string()),
592            CpuTypeX86_64::IcelakeServerV3 => cmd.push("icelake-server-v3".to_string()),
593            CpuTypeX86_64::IcelakeServerV4 => cmd.push("icelake-server-v4".to_string()),
594            CpuTypeX86_64::IcelakeServerV5 => cmd.push("icelake-server-v5".to_string()),
595            CpuTypeX86_64::IcelakeServerV6 => cmd.push("icelake-server-v6".to_string()),
596            CpuTypeX86_64::IcelakeServerV7 => cmd.push("icelake-server-v7".to_string()),
597            CpuTypeX86_64::IvyBridge => cmd.push("ivybridge".to_string()),
598            CpuTypeX86_64::IvyBridgeIBRS => cmd.push("ivybridge-ibrs".to_string()),
599            CpuTypeX86_64::IvyBridgeV1 => cmd.push("ivybridge-v1".to_string()),
600            CpuTypeX86_64::IvyBridgeV2 => cmd.push("ivybridge-v2".to_string()),
601            CpuTypeX86_64::KnightsMill => cmd.push("knightsmill".to_string()),
602            CpuTypeX86_64::KnightsMillV1 => cmd.push("knightsmill-v1".to_string()),
603            CpuTypeX86_64::Nehalem => cmd.push("nehalem".to_string()),
604            CpuTypeX86_64::NehalemIBRS => cmd.push("nehalem-ibrs".to_string()),
605            CpuTypeX86_64::NehalemV1 => cmd.push("nehalem-v1".to_string()),
606            CpuTypeX86_64::NehalemV2 => cmd.push("nehalem-v2".to_string()),
607            CpuTypeX86_64::OpteronG1 => cmd.push("opteron_g1".to_string()),
608            CpuTypeX86_64::OpteronG1V1 => cmd.push("opteron_g1-v1".to_string()),
609            CpuTypeX86_64::OpteronG2 => cmd.push("opteron_g2".to_string()),
610            CpuTypeX86_64::OpteronG2V1 => cmd.push("opteron_g2-v1".to_string()),
611            CpuTypeX86_64::OpteronG3 => cmd.push("opteron_g3".to_string()),
612            CpuTypeX86_64::OpteronG3V1 => cmd.push("opteron_g3-v1".to_string()),
613            CpuTypeX86_64::OpteronG4 => cmd.push("opteron_g4".to_string()),
614            CpuTypeX86_64::OpteronG4V1 => cmd.push("opteron_g4-v1".to_string()),
615            CpuTypeX86_64::OpteronG5 => cmd.push("opteron_g5".to_string()),
616            CpuTypeX86_64::OpteronG5V1 => cmd.push("opteron_g5-v1".to_string()),
617            CpuTypeX86_64::Penryn => cmd.push("penryn".to_string()),
618            CpuTypeX86_64::PenrynV1 => cmd.push("penryn-v1".to_string()),
619            CpuTypeX86_64::SandyBridge => cmd.push("sandybridge".to_string()),
620            CpuTypeX86_64::SandyBridgeIBRS => cmd.push("sandybridge-ibrs".to_string()),
621            CpuTypeX86_64::SandyBridgeV1 => cmd.push("sandybridge-v1".to_string()),
622            CpuTypeX86_64::SandyBridgeV2 => cmd.push("sandybridge-v2".to_string()),
623            CpuTypeX86_64::SapphireRapids => cmd.push("sapphirerapids".to_string()),
624            CpuTypeX86_64::SapphireRapidsV1 => cmd.push("sapphirerapids-v1".to_string()),
625            CpuTypeX86_64::SapphireRapidsV2 => cmd.push("sapphirerapids-v2".to_string()),
626            CpuTypeX86_64::SapphireRapidsV3 => cmd.push("sapphirerapids-v3".to_string()),
627            CpuTypeX86_64::SierraForest => cmd.push("sierraforest".to_string()),
628            CpuTypeX86_64::SierraForestV1 => cmd.push("sierraforest-v1".to_string()),
629            CpuTypeX86_64::SierraForestV2 => cmd.push("sierraforest-v2".to_string()),
630            CpuTypeX86_64::SkylakeClient => cmd.push("skylake-client".to_string()),
631            CpuTypeX86_64::SkylakeClientIBRS => cmd.push("skylake-client-ibrs".to_string()),
632            CpuTypeX86_64::SkylakeClientnoTSXIBRS => {
633                cmd.push("skylake-client-notsx-ibrs".to_string())
634            }
635            CpuTypeX86_64::SkylakeClientV1 => cmd.push("skylake-client-v1".to_string()),
636            CpuTypeX86_64::SkylakeClientV2 => cmd.push("skylake-client-v2".to_string()),
637            CpuTypeX86_64::SkylakeClientV3 => cmd.push("skylake-client-v3".to_string()),
638            CpuTypeX86_64::SkylakeClientV4 => cmd.push("skylake-client-v4".to_string()),
639            CpuTypeX86_64::SkylakeServer => cmd.push("skylake-server".to_string()),
640            CpuTypeX86_64::SkylakeServerIBRS => cmd.push("skylake-server-ibrs".to_string()),
641            CpuTypeX86_64::SkylakeServernoTSXIBRS => {
642                cmd.push("skylake-server-notsx-ibrs".to_string())
643            }
644            CpuTypeX86_64::SkylakeServerV1 => cmd.push("skylake-server-v1".to_string()),
645            CpuTypeX86_64::SkylakeServerV2 => cmd.push("skylake-server-v2".to_string()),
646            CpuTypeX86_64::SkylakeServerV3 => cmd.push("skylake-server-v3".to_string()),
647            CpuTypeX86_64::SkylakeServerV4 => cmd.push("skylake-server-v4".to_string()),
648            CpuTypeX86_64::SkylakeServerV5 => cmd.push("skylake-server-v5".to_string()),
649            CpuTypeX86_64::Snowridge => cmd.push("snowridge".to_string()),
650            CpuTypeX86_64::SnowridgeV1 => cmd.push("snowridge-v1".to_string()),
651            CpuTypeX86_64::SnowridgeV2 => cmd.push("snowridge-v2".to_string()),
652            CpuTypeX86_64::SnowridgeV3 => cmd.push("snowridge-v3".to_string()),
653            CpuTypeX86_64::SnowridgeV4 => cmd.push("snowridge-v4".to_string()),
654            CpuTypeX86_64::Westmere => cmd.push("westmere".to_string()),
655            CpuTypeX86_64::WestmereIBRS => cmd.push("westmere-ibrs".to_string()),
656            CpuTypeX86_64::WestmereV1 => cmd.push("westmere-v1".to_string()),
657            CpuTypeX86_64::WestmereV2 => cmd.push("westmere-v2".to_string()),
658            CpuTypeX86_64::YongFeng => cmd.push("yongfeng".to_string()),
659            CpuTypeX86_64::YongFengV1 => cmd.push("yongfeng-v1".to_string()),
660            CpuTypeX86_64::YongFengV2 => cmd.push("yongfeng-v2".to_string()),
661            CpuTypeX86_64::Athlon => cmd.push("athlon".to_string()),
662            CpuTypeX86_64::AthlonV1 => cmd.push("athlon-v1".to_string()),
663            CpuTypeX86_64::Core2duo => cmd.push("core2duo".to_string()),
664            CpuTypeX86_64::Core2duoV1 => cmd.push("core2duo-v1".to_string()),
665            CpuTypeX86_64::Coreduo => cmd.push("coreduo".to_string()),
666            CpuTypeX86_64::CoreduoV1 => cmd.push("coreduo-v1".to_string()),
667            CpuTypeX86_64::Kvm32 => cmd.push("kvm32".to_string()),
668            CpuTypeX86_64::Kvm32V1 => cmd.push("kvm32-v1".to_string()),
669            CpuTypeX86_64::Kvm64 => cmd.push("kvm64".to_string()),
670            CpuTypeX86_64::Kvm64V1 => cmd.push("kvm64-v1".to_string()),
671            CpuTypeX86_64::N270 => cmd.push("n270".to_string()),
672            CpuTypeX86_64::N270V1 => cmd.push("n270-v1".to_string()),
673            CpuTypeX86_64::Pentium => cmd.push("pentium".to_string()),
674            CpuTypeX86_64::PentiumV1 => cmd.push("pentium-v1".to_string()),
675            CpuTypeX86_64::Pentium2 => cmd.push("pentium2".to_string()),
676            CpuTypeX86_64::Pentium2V1 => cmd.push("pentium2-v1".to_string()),
677            CpuTypeX86_64::Pentium3 => cmd.push("pentium3".to_string()),
678            CpuTypeX86_64::Pentium3V1 => cmd.push("pentium3-v1".to_string()),
679            CpuTypeX86_64::Phenom => cmd.push("phenom".to_string()),
680            CpuTypeX86_64::PhenomV1 => cmd.push("phenom-v1".to_string()),
681            CpuTypeX86_64::Qemu32 => cmd.push("qemu32".to_string()),
682            CpuTypeX86_64::Qemu32V1 => cmd.push("qemu32-v1".to_string()),
683            CpuTypeX86_64::Qemu64 => cmd.push("qemu64".to_string()),
684            CpuTypeX86_64::Qemu64V1 => cmd.push("qemu64-v1".to_string()),
685            CpuTypeX86_64::Base => cmd.push("base".to_string()),
686            CpuTypeX86_64::Max => cmd.push("max".to_string()),
687            CpuTypeX86_64::Host => cmd.push("host".to_string()),
688        }
689        cmd
690    }
691}
692
693impl ToArg for CpuTypeX86_64 {
694    fn to_arg(&self) -> &str {
695        match self {
696            CpuTypeX86_64::X486 => "486",
697            CpuTypeX86_64::X486V1 => "486-v1",
698            CpuTypeX86_64::Broadwell => "Broadwell",
699            CpuTypeX86_64::BroadwellIBRS => "Broadwell-IBRS",
700            CpuTypeX86_64::BroadwellnoTSX => "Broadwell-noTSX",
701            CpuTypeX86_64::BroadwellnoTSXIBRS => "Broadwell-noTSX-IBRS",
702            CpuTypeX86_64::BroadwellV1 => "Broadwell-v1",
703            CpuTypeX86_64::BroadwellV2 => "Broadwell-v2",
704            CpuTypeX86_64::BroadwellV3 => "Broadwell-v3",
705            CpuTypeX86_64::BroadwellV4 => "Broadwell-v4",
706            CpuTypeX86_64::CascadelakeServer => "Cascadelake-Server",
707            CpuTypeX86_64::CascadelakeServernoTSX => "Cascadelake-Server-noTSX",
708            CpuTypeX86_64::CascadelakeServerV1 => "Cascadelake-Server-v1",
709            CpuTypeX86_64::CascadelakeServerV2 => "Cascadelake-Server-v2",
710            CpuTypeX86_64::CascadelakeServerV3 => "Cascadelake-Server-v3",
711            CpuTypeX86_64::CascadelakeServerV4 => "Cascadelake-Server-v4",
712            CpuTypeX86_64::CascadelakeServerV5 => "Cascadelake-Server-v5",
713            CpuTypeX86_64::ClearwaterForest => "ClearwaterForest",
714            CpuTypeX86_64::ClearwaterForestV1 => "ClearwaterForest-v1",
715            CpuTypeX86_64::Conroe => "Conroe",
716            CpuTypeX86_64::ConroeV1 => "Conroe-v1",
717            CpuTypeX86_64::Cooperlake => "Cooperlake",
718            CpuTypeX86_64::CooperlakeV1 => "Cooperlake-v1",
719            CpuTypeX86_64::CooperlakeV2 => "Cooperlake-v2",
720            CpuTypeX86_64::Denverton => "Denverton",
721            CpuTypeX86_64::DenvertonV1 => "Denverton-v1",
722            CpuTypeX86_64::DenvertonV2 => "Denverton-v2",
723            CpuTypeX86_64::DenvertonV3 => "Denverton-v3",
724            CpuTypeX86_64::Dhyana => "Dhyana",
725            CpuTypeX86_64::DhyanaV1 => "Dhyana-v1",
726            CpuTypeX86_64::DhyanaV2 => "Dhyana-v2",
727            CpuTypeX86_64::EPYC => "EPYC",
728            CpuTypeX86_64::EPYCGenoa => "EPYC-Genoa",
729            CpuTypeX86_64::EPYCGenoaV1 => "EPYC-Genoa-v1",
730            CpuTypeX86_64::EPYCIBPB => "EPYC-IBPB",
731            CpuTypeX86_64::EPYCMilan => "EPYC-Milan",
732            CpuTypeX86_64::EPYCMilanV1 => "EPYC-Milan-v1",
733            CpuTypeX86_64::EPYCMilanV2 => "EPYC-Milan-v2",
734            CpuTypeX86_64::EPYCRome => "EPYC-Rome",
735            CpuTypeX86_64::EPYCRomeV1 => "EPYC-Rome-v1",
736            CpuTypeX86_64::EPYCRomeV2 => "EPYC-Rome-v2",
737            CpuTypeX86_64::EPYCRomeV3 => "EPYC-Rome-v3",
738            CpuTypeX86_64::EPYCRomeV4 => "EPYC-Rome-v4",
739            CpuTypeX86_64::EPYCV1 => "EPYC-v1",
740            CpuTypeX86_64::EPYCV2 => "EPYC-v2",
741            CpuTypeX86_64::EPYCV3 => "EPYC-v3",
742            CpuTypeX86_64::EPYCV4 => "EPYC-v4",
743            CpuTypeX86_64::GraniteRapids => "GraniteRapids",
744            CpuTypeX86_64::GraniteRapidsV1 => "GraniteRapids-v1",
745            CpuTypeX86_64::GraniteRapidsV2 => "GraniteRapids-v2",
746            CpuTypeX86_64::Haswell => "Haswell",
747            CpuTypeX86_64::HaswellIBRS => "Haswell-IBRS",
748            CpuTypeX86_64::HaswellnoTSX => "Haswell-noTSX",
749            CpuTypeX86_64::HaswellnoTSXIBRS => "Haswell-noTSX-IBRS",
750            CpuTypeX86_64::HaswellV1 => "Haswell-v1",
751            CpuTypeX86_64::HaswellV2 => "Haswell-v2",
752            CpuTypeX86_64::HaswellV3 => "Haswell-v3",
753            CpuTypeX86_64::HaswellV4 => "Haswell-v4",
754            CpuTypeX86_64::IcelakeServer => "Icelake-Server",
755            CpuTypeX86_64::IcelakeServernoTSX => "Icelake-Server-noTSX",
756            CpuTypeX86_64::IcelakeServerV1 => "Icelake-Server-v1",
757            CpuTypeX86_64::IcelakeServerV2 => "Icelake-Server-v2",
758            CpuTypeX86_64::IcelakeServerV3 => "Icelake-Server-v3",
759            CpuTypeX86_64::IcelakeServerV4 => "Icelake-Server-v4",
760            CpuTypeX86_64::IcelakeServerV5 => "Icelake-Server-v5",
761            CpuTypeX86_64::IcelakeServerV6 => "Icelake-Server-v6",
762            CpuTypeX86_64::IcelakeServerV7 => "Icelake-Server-v7",
763            CpuTypeX86_64::IvyBridge => "IvyBridge",
764            CpuTypeX86_64::IvyBridgeIBRS => "IvyBridge-IBRS",
765            CpuTypeX86_64::IvyBridgeV1 => "IvyBridge-v1",
766            CpuTypeX86_64::IvyBridgeV2 => "IvyBridge-v2",
767            CpuTypeX86_64::KnightsMill => "KnightsMill",
768            CpuTypeX86_64::KnightsMillV1 => "KnightsMill-v1",
769            CpuTypeX86_64::Nehalem => "Nehalem",
770            CpuTypeX86_64::NehalemIBRS => "Nehalem-IBRS",
771            CpuTypeX86_64::NehalemV1 => "Nehalem-v1",
772            CpuTypeX86_64::NehalemV2 => "Nehalem-v2",
773            CpuTypeX86_64::OpteronG1 => "Opteron_G1",
774            CpuTypeX86_64::OpteronG1V1 => "Opteron_G1-v1",
775            CpuTypeX86_64::OpteronG2 => "Opteron_G2",
776            CpuTypeX86_64::OpteronG2V1 => "Opteron_G2-v1",
777            CpuTypeX86_64::OpteronG3 => "Opteron_G3",
778            CpuTypeX86_64::OpteronG3V1 => "Opteron_G3-v1",
779            CpuTypeX86_64::OpteronG4 => "Opteron_G4",
780            CpuTypeX86_64::OpteronG4V1 => "Opteron_G4-v1",
781            CpuTypeX86_64::OpteronG5 => "Opteron_G5",
782            CpuTypeX86_64::OpteronG5V1 => "Opteron_G5-v1",
783            CpuTypeX86_64::Penryn => "Penryn",
784            CpuTypeX86_64::PenrynV1 => "Penryn-v1",
785            CpuTypeX86_64::SandyBridge => "SandyBridge",
786            CpuTypeX86_64::SandyBridgeIBRS => "SandyBridge-IBRS",
787            CpuTypeX86_64::SandyBridgeV1 => "SandyBridge-v1",
788            CpuTypeX86_64::SandyBridgeV2 => "SandyBridge-v2",
789            CpuTypeX86_64::SapphireRapids => "SapphireRapids",
790            CpuTypeX86_64::SapphireRapidsV1 => "SapphireRapids-v1",
791            CpuTypeX86_64::SapphireRapidsV2 => "SapphireRapids-v2",
792            CpuTypeX86_64::SapphireRapidsV3 => "SapphireRapids-v3",
793            CpuTypeX86_64::SierraForest => "SierraForest",
794            CpuTypeX86_64::SierraForestV1 => "SierraForest-v1",
795            CpuTypeX86_64::SierraForestV2 => "SierraForest-v2",
796            CpuTypeX86_64::SkylakeClient => "Skylake-Client",
797            CpuTypeX86_64::SkylakeClientIBRS => "Skylake-Client-IBRS",
798            CpuTypeX86_64::SkylakeClientnoTSXIBRS => "Skylake-Client-noTSX-IBRS",
799            CpuTypeX86_64::SkylakeClientV1 => "Skylake-Client-v1",
800            CpuTypeX86_64::SkylakeClientV2 => "Skylake-Client-v2",
801            CpuTypeX86_64::SkylakeClientV3 => "Skylake-Client-v3",
802            CpuTypeX86_64::SkylakeClientV4 => "Skylake-Client-v4",
803            CpuTypeX86_64::SkylakeServer => "Skylake-Server",
804            CpuTypeX86_64::SkylakeServerIBRS => "Skylake-Server-IBRS",
805            CpuTypeX86_64::SkylakeServernoTSXIBRS => "Skylake-Server-noTSX-IBRS",
806            CpuTypeX86_64::SkylakeServerV1 => "Skylake-Server-v1",
807            CpuTypeX86_64::SkylakeServerV2 => "Skylake-Server-v2",
808            CpuTypeX86_64::SkylakeServerV3 => "Skylake-Server-v3",
809            CpuTypeX86_64::SkylakeServerV4 => "Skylake-Server-v4",
810            CpuTypeX86_64::SkylakeServerV5 => "Skylake-Server-v5",
811            CpuTypeX86_64::Snowridge => "Snowridge",
812            CpuTypeX86_64::SnowridgeV1 => "Snowridge-v1",
813            CpuTypeX86_64::SnowridgeV2 => "Snowridge-v2",
814            CpuTypeX86_64::SnowridgeV3 => "Snowridge-v3",
815            CpuTypeX86_64::SnowridgeV4 => "Snowridge-v4",
816            CpuTypeX86_64::Westmere => "Westmere",
817            CpuTypeX86_64::WestmereIBRS => "Westmere-IBRS",
818            CpuTypeX86_64::WestmereV1 => "Westmere-v1",
819            CpuTypeX86_64::WestmereV2 => "Westmere-v2",
820            CpuTypeX86_64::YongFeng => "YongFeng",
821            CpuTypeX86_64::YongFengV1 => "YongFeng-v1",
822            CpuTypeX86_64::YongFengV2 => "YongFeng-v2",
823            CpuTypeX86_64::Athlon => "athlon",
824            CpuTypeX86_64::AthlonV1 => "athlon-v1",
825            CpuTypeX86_64::Core2duo => "core2duo",
826            CpuTypeX86_64::Core2duoV1 => "core2duo-v1",
827            CpuTypeX86_64::Coreduo => "coreduo",
828            CpuTypeX86_64::CoreduoV1 => "coreduo-v1",
829            CpuTypeX86_64::Kvm32 => "kvm32",
830            CpuTypeX86_64::Kvm32V1 => "kvm32-v1",
831            CpuTypeX86_64::Kvm64 => "kvm64",
832            CpuTypeX86_64::Kvm64V1 => "kvm64-v1",
833            CpuTypeX86_64::N270 => "n270",
834            CpuTypeX86_64::N270V1 => "n270-v1",
835            CpuTypeX86_64::Pentium => "pentium",
836            CpuTypeX86_64::PentiumV1 => "pentium-v1",
837            CpuTypeX86_64::Pentium2 => "pentium2",
838            CpuTypeX86_64::Pentium2V1 => "pentium2-v1",
839            CpuTypeX86_64::Pentium3 => "pentium3",
840            CpuTypeX86_64::Pentium3V1 => "pentium3-v1",
841            CpuTypeX86_64::Phenom => "phenom",
842            CpuTypeX86_64::PhenomV1 => "phenom-v1",
843            CpuTypeX86_64::Qemu32 => "qemu32",
844            CpuTypeX86_64::Qemu32V1 => "qemu32-v1",
845            CpuTypeX86_64::Qemu64 => "qemu64",
846            CpuTypeX86_64::Qemu64V1 => "qemu64-v1",
847            CpuTypeX86_64::Base => "base",
848            CpuTypeX86_64::Max => "max",
849            CpuTypeX86_64::Host => "Host",
850        }
851    }
852}