1use crate::to_command::{ToArg, ToCommand};
2pub enum CpuTypeAarch64 {
3 A64fx,
5 Arm1026,
7 Arm1136,
9 Arm1136r2,
11 Arm1176,
13 Arm11mpcore,
15 Arm926,
17 Arm946,
19 Cortexa15,
21 Cortexa35,
23 Cortexa53,
25 Cortexa55,
27 Cortexa57,
29 Cortexa7,
31 Cortexa710,
33 Cortexa72,
35 Cortexa76,
37 Cortexa8,
39 Cortexa9,
41 Cortexm0,
43 Cortexm3,
45 Cortexm33,
47 Cortexm4,
49 Cortexm55,
51 Cortexm7,
53 Cortexr5,
55 Cortexr52,
57 Cortexr5f,
59 Host,
61 Max,
63 Neoversen1,
65 Neoversen2,
67 NeoverseV1,
69 Pxa250,
71 Pxa255,
73 Pxa260,
75 Pxa261,
77 Pxa262,
79 Pxa270a0,
81 Pxa270a1,
83 Pxa270,
85 Pxa270b0,
87 Pxa270b1,
89 Pxa270c0,
91 Pxa270c5,
93 Sa1100,
95 Sa1110,
97 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 X486,
216 X486V1,
218 Broadwell,
220 BroadwellIBRS,
222 BroadwellnoTSX,
224 BroadwellnoTSXIBRS,
226 BroadwellV1,
228 BroadwellV2,
230 BroadwellV3,
232 BroadwellV4,
234 CascadelakeServer,
236 CascadelakeServernoTSX,
238 CascadelakeServerV1,
240 CascadelakeServerV2,
242 CascadelakeServerV3,
244 CascadelakeServerV4,
246 CascadelakeServerV5,
248 ClearwaterForest,
250 ClearwaterForestV1,
252 Conroe,
254 ConroeV1,
256 Cooperlake,
258 CooperlakeV1,
260 CooperlakeV2,
262 Denverton,
264 DenvertonV1,
266 DenvertonV2,
268 DenvertonV3,
270 Dhyana,
272 DhyanaV1,
274 DhyanaV2,
276 EPYC,
278 EPYCGenoa,
280 EPYCGenoaV1,
282 EPYCIBPB,
284 EPYCMilan,
286 EPYCMilanV1,
288 EPYCMilanV2,
290 EPYCRome,
292 EPYCRomeV1,
294 EPYCRomeV2,
296 EPYCRomeV3,
298 EPYCRomeV4,
300 EPYCV1,
302 EPYCV2,
304 EPYCV3,
306 EPYCV4,
308 GraniteRapids,
310 GraniteRapidsV1,
312 GraniteRapidsV2,
314 Haswell,
316 HaswellIBRS,
318 HaswellnoTSX,
320 HaswellnoTSXIBRS,
322 HaswellV1,
324 HaswellV2,
326 HaswellV3,
328 HaswellV4,
330 IcelakeServer,
332 IcelakeServernoTSX,
334 IcelakeServerV1,
336 IcelakeServerV2,
338 IcelakeServerV3,
340 IcelakeServerV4,
342 IcelakeServerV5,
344 IcelakeServerV6,
346 IcelakeServerV7,
348 IvyBridge,
350 IvyBridgeIBRS,
352 IvyBridgeV1,
354 IvyBridgeV2,
356 KnightsMill,
358 KnightsMillV1,
360 Nehalem,
362 NehalemIBRS,
364 NehalemV1,
366 NehalemV2,
368 OpteronG1,
370 OpteronG1V1,
372 OpteronG2,
374 OpteronG2V1,
376 OpteronG3,
378 OpteronG3V1,
380 OpteronG4,
382 OpteronG4V1,
384 OpteronG5,
386 OpteronG5V1,
388 Penryn,
390 PenrynV1,
392 SandyBridge,
394 SandyBridgeIBRS,
396 SandyBridgeV1,
398 SandyBridgeV2,
400 SapphireRapids,
402 SapphireRapidsV1,
404 SapphireRapidsV2,
406 SapphireRapidsV3,
408 SierraForest,
410 SierraForestV1,
412 SierraForestV2,
414 SkylakeClient,
416 SkylakeClientIBRS,
418 SkylakeClientnoTSXIBRS,
420 SkylakeClientV1,
422 SkylakeClientV2,
424 SkylakeClientV3,
426 SkylakeClientV4,
428 SkylakeServer,
430 SkylakeServerIBRS,
432 SkylakeServernoTSXIBRS,
434 SkylakeServerV1,
436 SkylakeServerV2,
438 SkylakeServerV3,
440 SkylakeServerV4,
442 SkylakeServerV5,
444 Snowridge,
446 SnowridgeV1,
448 SnowridgeV2,
450 SnowridgeV3,
452 SnowridgeV4,
454 Westmere,
456 WestmereIBRS,
458 WestmereV1,
460 WestmereV2,
462 YongFeng,
464 YongFengV1,
466 YongFengV2,
468 Athlon,
470 AthlonV1,
472 Core2duo,
474 Core2duoV1,
476 Coreduo,
478 CoreduoV1,
480 Kvm32,
482 Kvm32V1,
484 Kvm64,
486 Kvm64V1,
488 N270,
490 N270V1,
492 Pentium,
494 PentiumV1,
496 Pentium2,
498 Pentium2V1,
500 Pentium3,
502 Pentium3V1,
504 Phenom,
506 PhenomV1,
508 Qemu32,
510 Qemu32V1,
512 Qemu64,
514 Qemu64V1,
516 Base,
518 Max,
520 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}