qemu_command_builder/
machine_type.rs

1use crate::to_command::{ToArg, ToCommand};
2pub enum MachineX86_64 {
3    /// microvm (i386)
4    Microvm,
5    /// Standard PC (i440FX + PIIX, 1996)
6    Pci440fx9_2,
7    /// Standard PC (i440FX + PIIX, 1996)
8    Pci440fx9_1,
9    /// Standard PC (i440FX + PIIX, 1996)
10    Pci440fx9_0,
11    /// Standard PC (i440FX + PIIX, 1996)
12    Pci440fx8_2,
13    /// Standard PC (i440FX + PIIX, 1996)
14    Pci440fx8_1,
15    /// Standard PC (i440FX + PIIX, 1996)
16    Pci440fx8_0,
17    /// Standard PC (i440FX + PIIX, 1996)
18    Pci440fx7_2,
19    /// Standard PC (i440FX + PIIX, 1996)
20    Pci440fx7_1,
21    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
22    Pci440fx7_0,
23    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
24    Pci440fx6_2,
25    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
26    Pci440fx6_1,
27    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
28    Pci440fx6_0,
29    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
30    Pci440fx5_2,
31    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
32    Pci440fx5_1,
33    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
34    Pci440fx5_0,
35    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
36    Pci440fx4_2,
37    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
38    Pci440fx4_1,
39    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
40    Pci440fx4_0,
41    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
42    Pci440fx3_1,
43    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
44    Pci440fx3_0,
45    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
46    Pci440fx2_9,
47    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
48    Pci440fx2_8,
49    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
50    Pci440fx2_7,
51    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
52    Pci440fx2_6,
53    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
54    Pci440fx2_5,
55    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
56    Pci440fx2_4,
57    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
58    Pci440fx2_12,
59    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
60    Pci440fx2_11,
61    /// Standard PC (i440FX + PIIX, 1996) (deprecated)
62    Pci440fx2_10,
63    /// Standard PC (i440FX + PIIX, 1996) (alias of pc-i440fx-10.0)
64    Pc,
65    /// Standard PC (i440FX + PIIX, 1996) (default)
66    Pci440fx10_0,
67    /// Standard PC (Q35 + ICH9, 2009)
68    Pcq359_2,
69    /// Standard PC (Q35 + ICH9, 2009)
70    Pcq359_1,
71    /// Standard PC (Q35 + ICH9, 2009)
72    Pcq359_0,
73    /// Standard PC (Q35 + ICH9, 2009)
74    Pcq358_2,
75    /// Standard PC (Q35 + ICH9, 2009)
76    Pcq358_1,
77    /// Standard PC (Q35 + ICH9, 2009)
78    Pcq358_0,
79    /// Standard PC (Q35 + ICH9, 2009)
80    Pcq357_2,
81    /// Standard PC (Q35 + ICH9, 2009)
82    Pcq357_1,
83    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
84    Pcq357_0,
85    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
86    Pcq356_2,
87    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
88    Pcq356_1,
89    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
90    Pcq356_0,
91    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
92    Pcq355_2,
93    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
94    Pcq355_1,
95    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
96    Pcq355_0,
97    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
98    Pcq354_2,
99    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
100    Pcq354_1,
101    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
102    Pcq354_0_1,
103    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
104    Pcq354_0,
105    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
106    Pcq353_1,
107    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
108    Pcq353_0,
109    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
110    Pcq352_9,
111    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
112    Pcq352_8,
113    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
114    Pcq352_7,
115    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
116    Pcq352_6,
117    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
118    Pcq352_5,
119    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
120    Pcq352_4,
121    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
122    Pcq352_12,
123    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
124    Pcq352_11,
125    /// Standard PC (Q35 + ICH9, 2009) (deprecated)
126    Pcq352_10,
127    /// Standard PC (Q35 + ICH9, 2009) (alias of pc-q35-10.0)
128    Q35,
129    /// Standard PC (Q35 + ICH9, 2009)
130    Pcq3510_0,
131    /// ISA-only PC
132    Isapc,
133    /// empty machine
134    None,
135}
136impl ToCommand for MachineX86_64 {
137    fn to_command(&self) -> Vec<String> {
138        let mut cmd = vec![];
139
140        match self {
141            MachineX86_64::Microvm => {
142                cmd.push("microvm".to_string());
143            }
144            MachineX86_64::Pci440fx9_2 => {
145                cmd.push("pc-i440fx-9.2".to_string());
146            }
147            MachineX86_64::Pci440fx9_1 => {
148                cmd.push("pc-i440fx-9.1".to_string());
149            }
150            MachineX86_64::Pci440fx9_0 => {
151                cmd.push("pc-i440fx-9.0".to_string());
152            }
153            MachineX86_64::Pci440fx8_2 => {
154                cmd.push("pc-i440fx-8.2".to_string());
155            }
156            MachineX86_64::Pci440fx8_1 => {
157                cmd.push("pc-i440fx-8.1".to_string());
158            }
159            MachineX86_64::Pci440fx8_0 => {
160                cmd.push("pc-i440fx-8.0".to_string());
161            }
162            MachineX86_64::Pci440fx7_2 => {
163                cmd.push("pc-i440fx-7.2".to_string());
164            }
165            MachineX86_64::Pci440fx7_1 => {
166                cmd.push("pc-i440fx-7.1".to_string());
167            }
168            MachineX86_64::Pci440fx7_0 => {
169                cmd.push("pc-i440fx-7.0".to_string());
170            }
171            MachineX86_64::Pci440fx6_2 => {
172                cmd.push("pc-i440fx-6.2".to_string());
173            }
174            MachineX86_64::Pci440fx6_1 => {
175                cmd.push("pc-i440fx-6.1".to_string());
176            }
177            MachineX86_64::Pci440fx6_0 => {
178                cmd.push("pc-i440fx-6.0".to_string());
179            }
180            MachineX86_64::Pci440fx5_2 => {
181                cmd.push("pc-i440fx-5.2".to_string());
182            }
183            MachineX86_64::Pci440fx5_1 => {
184                cmd.push("pc-i440fx-5.1".to_string());
185            }
186            MachineX86_64::Pci440fx5_0 => {
187                cmd.push("pc-i440fx-5.0".to_string());
188            }
189            MachineX86_64::Pci440fx4_2 => {
190                cmd.push("pc-i440fx-4.2".to_string());
191            }
192            MachineX86_64::Pci440fx4_1 => {
193                cmd.push("pc-i440fx-4.1".to_string());
194            }
195            MachineX86_64::Pci440fx4_0 => {
196                cmd.push("pc-i440fx-4.0".to_string());
197            }
198            MachineX86_64::Pci440fx3_1 => {
199                cmd.push("pc-i440fx-3.1".to_string());
200            }
201            MachineX86_64::Pci440fx3_0 => {
202                cmd.push("pc-i440fx-3.0".to_string());
203            }
204            MachineX86_64::Pci440fx2_9 => {
205                cmd.push("pc-i440fx-2.9".to_string());
206            }
207            MachineX86_64::Pci440fx2_8 => {
208                cmd.push("pc-i440fx-2.8".to_string());
209            }
210            MachineX86_64::Pci440fx2_7 => {
211                cmd.push("pc-i440fx-2.7".to_string());
212            }
213            MachineX86_64::Pci440fx2_6 => {
214                cmd.push("pc-i440fx-2.6".to_string());
215            }
216            MachineX86_64::Pci440fx2_5 => {
217                cmd.push("pc-i440fx-2.5".to_string());
218            }
219            MachineX86_64::Pci440fx2_4 => {
220                cmd.push("pc-i440fx-2.4".to_string());
221            }
222            MachineX86_64::Pci440fx2_12 => {
223                cmd.push("pc-i440fx-2.12".to_string());
224            }
225            MachineX86_64::Pci440fx2_11 => {
226                cmd.push("pc-i440fx-2.11".to_string());
227            }
228            MachineX86_64::Pci440fx2_10 => {
229                cmd.push("pc-i440fx-2.10".to_string());
230            }
231            MachineX86_64::Pc => {
232                cmd.push("pc".to_string());
233            }
234            MachineX86_64::Pci440fx10_0 => {
235                cmd.push("pc-i440fx-10.0".to_string());
236            }
237            MachineX86_64::Pcq359_2 => {
238                cmd.push("pc-q35-9.2".to_string());
239            }
240            MachineX86_64::Pcq359_1 => {
241                cmd.push("pc-q35-9.1".to_string());
242            }
243            MachineX86_64::Pcq359_0 => {
244                cmd.push("pc-q35-9.0".to_string());
245            }
246            MachineX86_64::Pcq358_2 => {
247                cmd.push("pc-q35-8.2".to_string());
248            }
249            MachineX86_64::Pcq358_1 => {
250                cmd.push("pc-q35-8.1".to_string());
251            }
252            MachineX86_64::Pcq358_0 => {
253                cmd.push("pc-q35-8.0".to_string());
254            }
255            MachineX86_64::Pcq357_2 => {
256                cmd.push("pc-q35-7.2".to_string());
257            }
258            MachineX86_64::Pcq357_1 => {
259                cmd.push("pc-q35-7.1".to_string());
260            }
261            MachineX86_64::Pcq357_0 => {
262                cmd.push("pc-q35-7.0".to_string());
263            }
264            MachineX86_64::Pcq356_2 => {
265                cmd.push("pc-q35-6.2".to_string());
266            }
267            MachineX86_64::Pcq356_1 => {
268                cmd.push("pc-q35-6.1".to_string());
269            }
270            MachineX86_64::Pcq356_0 => {
271                cmd.push("pc-q35-6.0".to_string());
272            }
273            MachineX86_64::Pcq355_2 => {
274                cmd.push("pc-q35-5.2".to_string());
275            }
276            MachineX86_64::Pcq355_1 => {
277                cmd.push("pc-q35-5.1".to_string());
278            }
279            MachineX86_64::Pcq355_0 => {
280                cmd.push("pc-q35-5.0".to_string());
281            }
282            MachineX86_64::Pcq354_2 => {
283                cmd.push("pc-q35-4.2".to_string());
284            }
285            MachineX86_64::Pcq354_1 => {
286                cmd.push("pc-q35-4.1".to_string());
287            }
288            MachineX86_64::Pcq354_0_1 => {
289                cmd.push("pc-q35-4.0.1".to_string());
290            }
291            MachineX86_64::Pcq354_0 => {
292                cmd.push("pc-q35-4.0".to_string());
293            }
294            MachineX86_64::Pcq353_1 => {
295                cmd.push("pc-q35-3.1".to_string());
296            }
297            MachineX86_64::Pcq353_0 => {
298                cmd.push("pc-q35-3.0".to_string());
299            }
300            MachineX86_64::Pcq352_9 => {
301                cmd.push("pc-q35-2.9".to_string());
302            }
303            MachineX86_64::Pcq352_8 => {
304                cmd.push("pc-q35-2.8".to_string());
305            }
306            MachineX86_64::Pcq352_7 => {
307                cmd.push("pc-q35-2.7".to_string());
308            }
309            MachineX86_64::Pcq352_6 => {
310                cmd.push("pc-q35-2.6".to_string());
311            }
312            MachineX86_64::Pcq352_5 => {
313                cmd.push("pc-q35-2.5".to_string());
314            }
315            MachineX86_64::Pcq352_4 => {
316                cmd.push("pc-q35-2.4".to_string());
317            }
318            MachineX86_64::Pcq352_12 => {
319                cmd.push("pc-q35-2.12".to_string());
320            }
321            MachineX86_64::Pcq352_11 => {
322                cmd.push("pc-q35-2.11".to_string());
323            }
324            MachineX86_64::Pcq352_10 => {
325                cmd.push("pc-q35-2.10".to_string());
326            }
327            MachineX86_64::Q35 => {
328                cmd.push("q35".to_string());
329            }
330            MachineX86_64::Pcq3510_0 => {
331                cmd.push("pc-q35-10.0".to_string());
332            }
333            MachineX86_64::Isapc => {
334                cmd.push("isapc".to_string());
335            }
336            MachineX86_64::None => {
337                cmd.push("none".to_string());
338            }
339        }
340        cmd
341    }
342}
343
344impl ToArg for MachineX86_64 {
345    fn to_arg(&self) -> &str {
346        match self {
347            MachineX86_64::Microvm => "microvm",
348            MachineX86_64::Pci440fx9_2 => "pc-i440fx-9.2",
349            MachineX86_64::Pci440fx9_1 => "pc-i440fx-9.1",
350            MachineX86_64::Pci440fx9_0 => "pc-i440fx-9.0",
351            MachineX86_64::Pci440fx8_2 => "pc-i440fx-8.2",
352            MachineX86_64::Pci440fx8_1 => "pc-i440fx-8.1",
353            MachineX86_64::Pci440fx8_0 => "pc-i440fx-8.0",
354            MachineX86_64::Pci440fx7_2 => "pc-i440fx-7.2",
355            MachineX86_64::Pci440fx7_1 => "pc-i440fx-7.1",
356            MachineX86_64::Pci440fx7_0 => "pc-i440fx-7.0",
357            MachineX86_64::Pci440fx6_2 => "pc-i440fx-6.2",
358            MachineX86_64::Pci440fx6_1 => "pc-i440fx-6.1",
359            MachineX86_64::Pci440fx6_0 => "pc-i440fx-6.0",
360            MachineX86_64::Pci440fx5_2 => "pc-i440fx-5.2",
361            MachineX86_64::Pci440fx5_1 => "pc-i440fx-5.1",
362            MachineX86_64::Pci440fx5_0 => "pc-i440fx-5.0",
363            MachineX86_64::Pci440fx4_2 => "pc-i440fx-4.2",
364            MachineX86_64::Pci440fx4_1 => "pc-i440fx-4.1",
365            MachineX86_64::Pci440fx4_0 => "pc-i440fx-4.0",
366            MachineX86_64::Pci440fx3_1 => "pc-i440fx-3.1",
367            MachineX86_64::Pci440fx3_0 => "pc-i440fx-3.0",
368            MachineX86_64::Pci440fx2_9 => "pc-i440fx-2.9",
369            MachineX86_64::Pci440fx2_8 => "pc-i440fx-2.8",
370            MachineX86_64::Pci440fx2_7 => "pc-i440fx-2.7",
371            MachineX86_64::Pci440fx2_6 => "pc-i440fx-2.6",
372            MachineX86_64::Pci440fx2_5 => "pc-i440fx-2.5",
373            MachineX86_64::Pci440fx2_4 => "pc-i440fx-2.4",
374            MachineX86_64::Pci440fx2_12 => "pc-i440fx-2.12",
375            MachineX86_64::Pci440fx2_11 => "pc-i440fx-2.11",
376            MachineX86_64::Pci440fx2_10 => "pc-i440fx-2.10",
377            MachineX86_64::Pc => "pc",
378            MachineX86_64::Pci440fx10_0 => "pc-i440fx-10.0",
379            MachineX86_64::Pcq359_2 => "pc-q35-9.2",
380            MachineX86_64::Pcq359_1 => "pc-q35-9.1",
381            MachineX86_64::Pcq359_0 => "pc-q35-9.0",
382            MachineX86_64::Pcq358_2 => "pc-q35-8.2",
383            MachineX86_64::Pcq358_1 => "pc-q35-8.1",
384            MachineX86_64::Pcq358_0 => "pc-q35-8.0",
385            MachineX86_64::Pcq357_2 => "pc-q35-7.2",
386            MachineX86_64::Pcq357_1 => "pc-q35-7.1",
387            MachineX86_64::Pcq357_0 => "pc-q35-7.0",
388            MachineX86_64::Pcq356_2 => "pc-q35-6.2",
389            MachineX86_64::Pcq356_1 => "pc-q35-6.1",
390            MachineX86_64::Pcq356_0 => "pc-q35-6.0",
391            MachineX86_64::Pcq355_2 => "pc-q35-5.2",
392            MachineX86_64::Pcq355_1 => "pc-q35-5.1",
393            MachineX86_64::Pcq355_0 => "pc-q35-5.0",
394            MachineX86_64::Pcq354_2 => "pc-q35-4.2",
395            MachineX86_64::Pcq354_1 => "pc-q35-4.1",
396            MachineX86_64::Pcq354_0_1 => "pc-q35-4.0.1",
397            MachineX86_64::Pcq354_0 => "pc-q35-4.0",
398            MachineX86_64::Pcq353_1 => "pc-q35-3.1",
399            MachineX86_64::Pcq353_0 => "pc-q35-3.0",
400            MachineX86_64::Pcq352_9 => "pc-q35-2.9",
401            MachineX86_64::Pcq352_8 => "pc-q35-2.8",
402            MachineX86_64::Pcq352_7 => "pc-q35-2.7",
403            MachineX86_64::Pcq352_6 => "pc-q35-2.6",
404            MachineX86_64::Pcq352_5 => "pc-q35-2.5",
405            MachineX86_64::Pcq352_4 => "pc-q35-2.4",
406            MachineX86_64::Pcq352_12 => "pc-q35-2.12",
407            MachineX86_64::Pcq352_11 => "pc-q35-2.11",
408            MachineX86_64::Pcq352_10 => "pc-q35-2.10",
409            MachineX86_64::Q35 => "q35",
410            MachineX86_64::Pcq3510_0 => "pc-q35-10.0",
411            MachineX86_64::Isapc => "isapc",
412            MachineX86_64::None => "none",
413        }
414    }
415}
416
417pub enum MachineAarch64 {
418    /// Aspeed AST1030 MiniBMC (Cortex-M4)
419    Ast1030evb,
420    /// Aspeed AST2500 EVB (ARM1176)
421    Ast2500evb,
422    /// Aspeed AST2600 EVB (Cortex-A7)
423    Ast2600evb,
424    /// Aspeed AST2700 A0 EVB (Cortex-A35) (alias of ast2700a0-evb)
425    Ast2700evb,
426    /// Aspeed AST2700 A0 EVB (Cortex-A35)
427    Ast2700a0evb,
428    /// Aspeed AST2700 A1 EVB (Cortex-A35)
429    Ast2700a1evb,
430    /// B-L475E-IOT01A Discovery Kit (Cortex-M4)
431    Bl475eiot01a,
432    /// Facebook Bletchley BMC (Cortex-A7)
433    Bletchleybmc,
434    /// Bananapi M2U (Cortex-A7)
435    Bpim2u,
436    /// Canon PowerShot A1100 IS (ARM946)
437    Canona1100,
438    /// Sharp SL-5500 (Collie) PDA (SA-1110)
439    Collie,
440    /// cubietech cubieboard (Cortex-A8)
441    Cubieboard,
442    /// SmartFusion2 SOM kit from Emcraft (M2S010)
443    Emcraftsf2,
444    /// Facebook fby35 BMC (Cortex-A7)
445    Fby35bmc,
446    /// Meta Platforms fby35
447    Fby35,
448    /// Inspur FP5280G2 BMC (ARM1176)
449    Fp5280g2bmc,
450    /// Facebook Fuji BMC (Cortex-A7)
451    Fujibmc,
452    /// Bytedance G220A BMC (ARM1176)
453    G220abmc,
454    /// Calxeda Highbank (ECX-1000)
455    Highbank,
456    /// ARM i.MX25 PDK board (ARM926)
457    Imx25pdk,
458    /// NXP i.MX 8M Plus EVK Board
459    Imx8mpevk,
460    /// ARM Integrator/CP (ARM926EJ-S)
461    Integratorcp,
462    /// Kudo BMC (Cortex-A9)
463    Kudobmc,
464    /// ARM KZM Emulation Baseboard (ARM1136)
465    Kzm,
466    /// Stellaris LM3S6965EVB (Cortex-M3)
467    Lm3s6965evb,
468    /// Stellaris LM3S811EVB (Cortex-M3)
469    Lm3s811evb,
470    /// Freescale i.MX6UL Evaluation Kit (Cortex-A7)
471    Mcimx6ulevk,
472    /// Freescale i.MX7 DUAL SABRE (Cortex-A7)
473    Mcimx7dsabre,
474    /// BBC micro:bit (Cortex-M0)
475    Microbit,
476    /// Calxeda Midway (ECX-2000)
477    Midway,
478    /// Mori BMC (Cortex-A9)
479    Moribmc,
480    /// ARM MPS2 with AN385 FPGA image for Cortex-M3
481    Mps2an385,
482    /// ARM MPS2 with AN386 FPGA image for Cortex-M4
483    Mps2an386,
484    /// ARM MPS2 with AN500 FPGA image for Cortex-M7
485    Mps2an500,
486    /// ARM MPS2 with AN505 FPGA image for Cortex-M33
487    Mps2an505,
488    /// ARM MPS2 with AN511 DesignStart FPGA image for Cortex-M3
489    Mps2an511,
490    /// ARM MPS2 with AN521 FPGA image for dual Cortex-M33
491    Mps2an521,
492    /// ARM MPS3 with AN524 FPGA image for dual Cortex-M33
493    Mps3an524,
494    /// ARM MPS3 with AN536 FPGA image for Cortex-R52
495    Mps3an536,
496    /// ARM MPS3 with AN547 FPGA image for Cortex-M55
497    Mps3an547,
498    /// ARM Musca-A board (dual Cortex-M33)
499    Muscaa,
500    /// ARM Musca-B1 board (dual Cortex-M33)
501    Muscab1,
502    /// Marvell 88w8618 / MusicPal (ARM926EJ-S)
503    Musicpal,
504    /// Netduino 2 Machine (Cortex-M3)
505    Netduino2,
506    /// Netduino Plus 2 Machine (Cortex-M4)
507    Netduinoplus2,
508    /// empty machine
509    None,
510    /// Nuvoton NPCM750 Evaluation Board (Cortex-A9)
511    Npcm750evb,
512    /// Nuvoton NPCM845 Evaluation Board (Cortex-A35)
513    Npcm845evb,
514    /// Samsung NURI board (Exynos4210)
515    Nuri,
516    /// Olimex STM32-H405 (Cortex-M4)
517    Olimexstm32h405,
518    /// Orange Pi PC (Cortex-A7)
519    Orangepipc,
520    /// OpenPOWER Palmetto BMC (ARM926EJ-S)
521    Palmettobmc,
522    /// Qualcomm DC-SCM V1 BMC (Cortex A7)
523    QcomdcscmV1bmc,
524    /// Qualcomm DC-SCM V1/Firework BMC (Cortex A7)
525    Qcomfireworkbmc,
526    /// Quanta GBS (Cortex-A9)
527    Quantagbsbmc,
528    /// Quanta GSJ (Cortex-A9)
529    Quantagsj,
530    /// Quanta-Q71l BMC (ARM926EJ-S)
531    Quantaq71lbmc,
532    /// IBM Rainier BMC (Cortex-A7)
533    Rainierbmc,
534    /// Raspberry Pi Zero (revision 1.2)
535    Raspi0,
536    /// Raspberry Pi A+ (revision 1.1)
537    Raspi1ap,
538    /// Raspberry Pi 2B (revision 1.1)
539    Raspi2b,
540    /// Raspberry Pi 3A+ (revision 1.0)
541    Raspi3ap,
542    /// Raspberry Pi 3B (revision 1.2)
543    Raspi3b,
544    /// Raspberry Pi 4B (revision 1.5)
545    Raspi4b,
546    /// ARM RealView Emulation Baseboard (ARM926EJ-S)
547    Realvieweb,
548    /// ARM RealView Emulation Baseboard (ARM11MPCore)
549    Realviewebmpcore,
550    /// ARM RealView Platform Baseboard for Cortex-A8
551    Realviewpba8,
552    /// ARM RealView Platform Baseboard Explore for Cortex-A9
553    Realviewpbxa9,
554    /// OpenPOWER Romulus BMC (ARM1176)
555    Romulusbmc,
556    /// Freescale i.MX6 Quad SABRE Lite Board (Cortex-A9)
557    Sabrelite,
558    /// QEMU 'SBSA Reference' ARM Virtual Machine
559    Sbsaref,
560    /// Samsung SMDKC210 board (Exynos4210)
561    Smdkc210,
562    /// OCP SonoraPass BMC (ARM1176)
563    Sonorapassbmc,
564    /// ST STM32VLDISCOVERY (Cortex-M3)
565    Stm32vldiscovery,
566    /// Supermicro X11 SPI BMC (ARM1176)
567    Supermicrox11spibmc,
568    /// Supermicro X11 BMC (ARM926EJ-S)
569    Supermicrox11bmc,
570    /// Siemens SX1 (OMAP310) V2
571    Sx1,
572    /// Siemens SX1 (OMAP310) V1
573    Sx1V1,
574    /// Facebook Tiogapass BMC (ARM1176)
575    Tiogapassbmc,
576    /// ARM Versatile/AB (ARM926EJ-S)
577    Versatileab,
578    /// ARM Versatile/PB (ARM926EJ-S)
579    Versatilepb,
580    /// ARM Versatile Express for Cortex-A15
581    Vexpressa15,
582    /// ARM Versatile Express for Cortex-A9
583    Vexpressa9,
584    /// QEMU 10.0 ARM Virtual Machine (alias of virt-10.0)
585    Virt,
586    /// QEMU 10.0 ARM Virtual Machine
587    Virt10_0,
588    /// QEMU 2.10 ARM Virtual Machine (deprecated)
589    Virt2_10,
590    /// QEMU 2.11 ARM Virtual Machine (deprecated)
591    Virt2_11,
592    /// QEMU 2.12 ARM Virtual Machine (deprecated)
593    Virt2_12,
594    /// QEMU 2.6 ARM Virtual Machine (deprecated)
595    Virt2_6,
596    /// QEMU 2.7 ARM Virtual Machine (deprecated)
597    Virt2_7,
598    /// QEMU 2.8 ARM Virtual Machine (deprecated)
599    Virt2_8,
600    /// QEMU 2.9 ARM Virtual Machine (deprecated)
601    Virt2_9,
602    /// QEMU 3.0 ARM Virtual Machine (deprecated)
603    Virt3_0,
604    /// QEMU 3.1 ARM Virtual Machine (deprecated)
605    Virt3_1,
606    /// QEMU 4.0 ARM Virtual Machine (deprecated)
607    Virt4_0,
608    /// QEMU 4.1 ARM Virtual Machine (deprecated)
609    Virt4_1,
610    /// QEMU 4.2 ARM Virtual Machine (deprecated)
611    Virt4_2,
612    /// QEMU 5.0 ARM Virtual Machine (deprecated)
613    Virt5_0,
614    /// QEMU 5.1 ARM Virtual Machine (deprecated)
615    Virt5_1,
616    /// QEMU 5.2 ARM Virtual Machine (deprecated)
617    Virt5_2,
618    /// QEMU 6.0 ARM Virtual Machine (deprecated)
619    Virt6_0,
620    /// QEMU 6.1 ARM Virtual Machine (deprecated)
621    Virt6_1,
622    /// QEMU 6.2 ARM Virtual Machine (deprecated)
623    Virt6_2,
624    /// QEMU 7.0 ARM Virtual Machine (deprecated)
625    Virt7_0,
626    /// QEMU 7.1 ARM Virtual Machine
627    Virt7_1,
628    /// QEMU 7.2 ARM Virtual Machine
629    Virt7_2,
630    /// QEMU 8.0 ARM Virtual Machine
631    Virt8_0,
632    /// QEMU 8.1 ARM Virtual Machine
633    Virt8_1,
634    /// QEMU 8.2 ARM Virtual Machine
635    Virt8_2,
636    /// QEMU 9.0 ARM Virtual Machine
637    Virt9_0,
638    /// QEMU 9.1 ARM Virtual Machine
639    Virt9_1,
640    /// QEMU 9.2 ARM Virtual Machine
641    Virt9_2,
642    /// OpenPOWER Witherspoon BMC (ARM1176)
643    Witherspoonbmc,
644    /// Xilinx Zynq 7000 Platform Baseboard for Cortex-A9
645    Xilinxzynqa9,
646    /// Xilinx Versal Virtual development board
647    XlnxVersalvirt,
648    /// Xilinx ZynqMP ZCU102 board with 4xA53s and 2xR5Fs based on the value of smp
649    Xlnxzcu102,
650    /// Facebook YosemiteV2 BMC (ARM1176)
651    Yosemitev2bmc,
652}
653impl ToCommand for MachineAarch64 {
654    fn to_command(&self) -> Vec<String> {
655        let mut cmd = vec![];
656
657        match self {
658            MachineAarch64::Ast1030evb => {
659                cmd.push("ast1030-evb".to_string());
660            }
661            MachineAarch64::Ast2500evb => {
662                cmd.push("ast2500-evb".to_string());
663            }
664            MachineAarch64::Ast2600evb => {
665                cmd.push("ast2600-evb".to_string());
666            }
667            MachineAarch64::Ast2700evb => {
668                cmd.push("ast2700-evb".to_string());
669            }
670            MachineAarch64::Ast2700a0evb => {
671                cmd.push("ast2700a0-evb".to_string());
672            }
673            MachineAarch64::Ast2700a1evb => {
674                cmd.push("ast2700a1-evb".to_string());
675            }
676            MachineAarch64::Bl475eiot01a => {
677                cmd.push("b-l475e-iot01a".to_string());
678            }
679            MachineAarch64::Bletchleybmc => {
680                cmd.push("bletchley-bmc".to_string());
681            }
682            MachineAarch64::Bpim2u => {
683                cmd.push("bpim2u".to_string());
684            }
685            MachineAarch64::Canona1100 => {
686                cmd.push("canon-a1100".to_string());
687            }
688            MachineAarch64::Collie => {
689                cmd.push("collie".to_string());
690            }
691            MachineAarch64::Cubieboard => {
692                cmd.push("cubieboard".to_string());
693            }
694            MachineAarch64::Emcraftsf2 => {
695                cmd.push("emcraft-sf2".to_string());
696            }
697            MachineAarch64::Fby35bmc => {
698                cmd.push("fby35-bmc".to_string());
699            }
700            MachineAarch64::Fby35 => {
701                cmd.push("fby35".to_string());
702            }
703            MachineAarch64::Fp5280g2bmc => {
704                cmd.push("fp5280g2-bmc".to_string());
705            }
706            MachineAarch64::Fujibmc => {
707                cmd.push("fuji-bmc".to_string());
708            }
709            MachineAarch64::G220abmc => {
710                cmd.push("g220a-bmc".to_string());
711            }
712            MachineAarch64::Highbank => {
713                cmd.push("highbank".to_string());
714            }
715            MachineAarch64::Imx25pdk => {
716                cmd.push("imx25-pdk".to_string());
717            }
718            MachineAarch64::Imx8mpevk => {
719                cmd.push("imx8mp-evk".to_string());
720            }
721            MachineAarch64::Integratorcp => {
722                cmd.push("integratorcp".to_string());
723            }
724            MachineAarch64::Kudobmc => {
725                cmd.push("kudo-bmc".to_string());
726            }
727            MachineAarch64::Kzm => {
728                cmd.push("kzm".to_string());
729            }
730            MachineAarch64::Lm3s6965evb => {
731                cmd.push("lm3s6965evb".to_string());
732            }
733            MachineAarch64::Lm3s811evb => {
734                cmd.push("lm3s811evb".to_string());
735            }
736            MachineAarch64::Mcimx6ulevk => {
737                cmd.push("mcimx6ul-evk".to_string());
738            }
739            MachineAarch64::Mcimx7dsabre => {
740                cmd.push("mcimx7d-sabre".to_string());
741            }
742            MachineAarch64::Microbit => {
743                cmd.push("microbit".to_string());
744            }
745            MachineAarch64::Midway => {
746                cmd.push("midway".to_string());
747            }
748            MachineAarch64::Moribmc => {
749                cmd.push("mori-bmc".to_string());
750            }
751            MachineAarch64::Mps2an385 => {
752                cmd.push("mps2-an385".to_string());
753            }
754            MachineAarch64::Mps2an386 => {
755                cmd.push("mps2-an386".to_string());
756            }
757            MachineAarch64::Mps2an500 => {
758                cmd.push("mps2-an500".to_string());
759            }
760            MachineAarch64::Mps2an505 => {
761                cmd.push("mps2-an505".to_string());
762            }
763            MachineAarch64::Mps2an511 => {
764                cmd.push("mps2-an511".to_string());
765            }
766            MachineAarch64::Mps2an521 => {
767                cmd.push("mps2-an521".to_string());
768            }
769            MachineAarch64::Mps3an524 => {
770                cmd.push("mps3-an524".to_string());
771            }
772            MachineAarch64::Mps3an536 => {
773                cmd.push("mps3-an536".to_string());
774            }
775            MachineAarch64::Mps3an547 => {
776                cmd.push("mps3-an547".to_string());
777            }
778            MachineAarch64::Muscaa => {
779                cmd.push("musca-a".to_string());
780            }
781            MachineAarch64::Muscab1 => {
782                cmd.push("musca-b1".to_string());
783            }
784            MachineAarch64::Musicpal => {
785                cmd.push("musicpal".to_string());
786            }
787            MachineAarch64::Netduino2 => {
788                cmd.push("netduino2".to_string());
789            }
790            MachineAarch64::Netduinoplus2 => {
791                cmd.push("netduinoplus2".to_string());
792            }
793            MachineAarch64::None => {
794                cmd.push("none".to_string());
795            }
796            MachineAarch64::Npcm750evb => {
797                cmd.push("npcm750-evb".to_string());
798            }
799            MachineAarch64::Npcm845evb => {
800                cmd.push("npcm845-evb".to_string());
801            }
802            MachineAarch64::Nuri => {
803                cmd.push("nuri".to_string());
804            }
805            MachineAarch64::Olimexstm32h405 => {
806                cmd.push("olimex-stm32-h405".to_string());
807            }
808            MachineAarch64::Orangepipc => {
809                cmd.push("orangepi-pc".to_string());
810            }
811            MachineAarch64::Palmettobmc => {
812                cmd.push("palmetto-bmc".to_string());
813            }
814            MachineAarch64::QcomdcscmV1bmc => {
815                cmd.push("qcom-dc-scm-v1-bmc".to_string());
816            }
817            MachineAarch64::Qcomfireworkbmc => {
818                cmd.push("qcom-firework-bmc".to_string());
819            }
820            MachineAarch64::Quantagbsbmc => {
821                cmd.push("quanta-gbs-bmc".to_string());
822            }
823            MachineAarch64::Quantagsj => {
824                cmd.push("quanta-gsj".to_string());
825            }
826            MachineAarch64::Quantaq71lbmc => {
827                cmd.push("quanta-q71l-bmc".to_string());
828            }
829            MachineAarch64::Rainierbmc => {
830                cmd.push("rainier-bmc".to_string());
831            }
832            MachineAarch64::Raspi0 => {
833                cmd.push("raspi0".to_string());
834            }
835            MachineAarch64::Raspi1ap => {
836                cmd.push("raspi1ap".to_string());
837            }
838            MachineAarch64::Raspi2b => {
839                cmd.push("raspi2b".to_string());
840            }
841            MachineAarch64::Raspi3ap => {
842                cmd.push("raspi3ap".to_string());
843            }
844            MachineAarch64::Raspi3b => {
845                cmd.push("raspi3b".to_string());
846            }
847            MachineAarch64::Raspi4b => {
848                cmd.push("raspi4b".to_string());
849            }
850            MachineAarch64::Realvieweb => {
851                cmd.push("realview-eb".to_string());
852            }
853            MachineAarch64::Realviewebmpcore => {
854                cmd.push("realview-eb-mpcore".to_string());
855            }
856            MachineAarch64::Realviewpba8 => {
857                cmd.push("realview-pb-a8".to_string());
858            }
859            MachineAarch64::Realviewpbxa9 => {
860                cmd.push("realview-pbx-a9".to_string());
861            }
862            MachineAarch64::Romulusbmc => {
863                cmd.push("romulus-bmc".to_string());
864            }
865            MachineAarch64::Sabrelite => {
866                cmd.push("sabrelite".to_string());
867            }
868            MachineAarch64::Sbsaref => {
869                cmd.push("sbsa-ref".to_string());
870            }
871            MachineAarch64::Smdkc210 => {
872                cmd.push("smdkc210".to_string());
873            }
874            MachineAarch64::Sonorapassbmc => {
875                cmd.push("sonorapass-bmc".to_string());
876            }
877            MachineAarch64::Stm32vldiscovery => {
878                cmd.push("stm32vldiscovery".to_string());
879            }
880            MachineAarch64::Supermicrox11spibmc => {
881                cmd.push("supermicro-x11spi-bmc".to_string());
882            }
883            MachineAarch64::Supermicrox11bmc => {
884                cmd.push("supermicrox11-bmc".to_string());
885            }
886            MachineAarch64::Sx1 => {
887                cmd.push("sx1".to_string());
888            }
889            MachineAarch64::Sx1V1 => {
890                cmd.push("sx1-v1".to_string());
891            }
892            MachineAarch64::Tiogapassbmc => {
893                cmd.push("tiogapass-bmc".to_string());
894            }
895            MachineAarch64::Versatileab => {
896                cmd.push("versatileab".to_string());
897            }
898            MachineAarch64::Versatilepb => {
899                cmd.push("versatilepb".to_string());
900            }
901            MachineAarch64::Vexpressa15 => {
902                cmd.push("vexpress-a15".to_string());
903            }
904            MachineAarch64::Vexpressa9 => {
905                cmd.push("vexpress-a9".to_string());
906            }
907            MachineAarch64::Virt => {
908                cmd.push("virt".to_string());
909            }
910            MachineAarch64::Virt10_0 => {
911                cmd.push("virt-10.0".to_string());
912            }
913            MachineAarch64::Virt2_10 => {
914                cmd.push("virt-2.10".to_string());
915            }
916            MachineAarch64::Virt2_11 => {
917                cmd.push("virt-2.11".to_string());
918            }
919            MachineAarch64::Virt2_12 => {
920                cmd.push("virt-2.12".to_string());
921            }
922            MachineAarch64::Virt2_6 => {
923                cmd.push("virt-2.6".to_string());
924            }
925            MachineAarch64::Virt2_7 => {
926                cmd.push("virt-2.7".to_string());
927            }
928            MachineAarch64::Virt2_8 => {
929                cmd.push("virt-2.8".to_string());
930            }
931            MachineAarch64::Virt2_9 => {
932                cmd.push("virt-2.9".to_string());
933            }
934            MachineAarch64::Virt3_0 => {
935                cmd.push("virt-3.0".to_string());
936            }
937            MachineAarch64::Virt3_1 => {
938                cmd.push("virt-3.1".to_string());
939            }
940            MachineAarch64::Virt4_0 => {
941                cmd.push("virt-4.0".to_string());
942            }
943            MachineAarch64::Virt4_1 => {
944                cmd.push("virt-4.1".to_string());
945            }
946            MachineAarch64::Virt4_2 => {
947                cmd.push("virt-4.2".to_string());
948            }
949            MachineAarch64::Virt5_0 => {
950                cmd.push("virt-5.0".to_string());
951            }
952            MachineAarch64::Virt5_1 => {
953                cmd.push("virt-5.1".to_string());
954            }
955            MachineAarch64::Virt5_2 => {
956                cmd.push("virt-5.2".to_string());
957            }
958            MachineAarch64::Virt6_0 => {
959                cmd.push("virt-6.0".to_string());
960            }
961            MachineAarch64::Virt6_1 => {
962                cmd.push("virt-6.1".to_string());
963            }
964            MachineAarch64::Virt6_2 => {
965                cmd.push("virt-6.2".to_string());
966            }
967            MachineAarch64::Virt7_0 => {
968                cmd.push("virt-7.0".to_string());
969            }
970            MachineAarch64::Virt7_1 => {
971                cmd.push("virt-7.1".to_string());
972            }
973            MachineAarch64::Virt7_2 => {
974                cmd.push("virt-7.2".to_string());
975            }
976            MachineAarch64::Virt8_0 => {
977                cmd.push("virt-8.0".to_string());
978            }
979            MachineAarch64::Virt8_1 => {
980                cmd.push("virt-8.1".to_string());
981            }
982            MachineAarch64::Virt8_2 => {
983                cmd.push("virt-8.2".to_string());
984            }
985            MachineAarch64::Virt9_0 => {
986                cmd.push("virt-9.0".to_string());
987            }
988            MachineAarch64::Virt9_1 => {
989                cmd.push("virt-9.1".to_string());
990            }
991            MachineAarch64::Virt9_2 => {
992                cmd.push("virt-9.2".to_string());
993            }
994            MachineAarch64::Witherspoonbmc => {
995                cmd.push("witherspoon-bmc".to_string());
996            }
997            MachineAarch64::Xilinxzynqa9 => {
998                cmd.push("xilinx-zynq-a9".to_string());
999            }
1000            MachineAarch64::XlnxVersalvirt => {
1001                cmd.push("xlnx-versal-virt".to_string());
1002            }
1003            MachineAarch64::Xlnxzcu102 => {
1004                cmd.push("xlnx-zcu102".to_string());
1005            }
1006            MachineAarch64::Yosemitev2bmc => {
1007                cmd.push("yosemitev2-bmc".to_string());
1008            }
1009        }
1010        cmd
1011    }
1012}
1013
1014impl ToArg for MachineAarch64 {
1015    fn to_arg(&self) -> &str {
1016        match self {
1017            MachineAarch64::Ast1030evb => "ast1030-evb",
1018            MachineAarch64::Ast2500evb => "ast2500-evb",
1019            MachineAarch64::Ast2600evb => "ast2600-evb",
1020            MachineAarch64::Ast2700evb => "ast2700-evb",
1021            MachineAarch64::Ast2700a0evb => "ast2700a0-evb",
1022            MachineAarch64::Ast2700a1evb => "ast2700a1-evb",
1023            MachineAarch64::Bl475eiot01a => "b-l475e-iot01a",
1024            MachineAarch64::Bletchleybmc => "bletchley-bmc",
1025            MachineAarch64::Bpim2u => "bpim2u",
1026            MachineAarch64::Canona1100 => "canon-a1100",
1027            MachineAarch64::Collie => "collie",
1028            MachineAarch64::Cubieboard => "cubieboard",
1029            MachineAarch64::Emcraftsf2 => "emcraft-sf2",
1030            MachineAarch64::Fby35bmc => "fby35-bmc",
1031            MachineAarch64::Fby35 => "fby35",
1032            MachineAarch64::Fp5280g2bmc => "fp5280g2-bmc",
1033            MachineAarch64::Fujibmc => "fuji-bmc",
1034            MachineAarch64::G220abmc => "g220a-bmc",
1035            MachineAarch64::Highbank => "highbank",
1036            MachineAarch64::Imx25pdk => "imx25-pdk",
1037            MachineAarch64::Imx8mpevk => "imx8mp-evk",
1038            MachineAarch64::Integratorcp => "integratorcp",
1039            MachineAarch64::Kudobmc => "kudo-bmc",
1040            MachineAarch64::Kzm => "kzm",
1041            MachineAarch64::Lm3s6965evb => "lm3s6965evb",
1042            MachineAarch64::Lm3s811evb => "lm3s811evb",
1043            MachineAarch64::Mcimx6ulevk => "mcimx6ul-evk",
1044            MachineAarch64::Mcimx7dsabre => "mcimx7d-sabre",
1045            MachineAarch64::Microbit => "microbit",
1046            MachineAarch64::Midway => "midway",
1047            MachineAarch64::Moribmc => "mori-bmc",
1048            MachineAarch64::Mps2an385 => "mps2-an385",
1049            MachineAarch64::Mps2an386 => "mps2-an386",
1050            MachineAarch64::Mps2an500 => "mps2-an500",
1051            MachineAarch64::Mps2an505 => "mps2-an505",
1052            MachineAarch64::Mps2an511 => "mps2-an511",
1053            MachineAarch64::Mps2an521 => "mps2-an521",
1054            MachineAarch64::Mps3an524 => "mps3-an524",
1055            MachineAarch64::Mps3an536 => "mps3-an536",
1056            MachineAarch64::Mps3an547 => "mps3-an547",
1057            MachineAarch64::Muscaa => "musca-a",
1058            MachineAarch64::Muscab1 => "musca-b1",
1059            MachineAarch64::Musicpal => "musicpal",
1060            MachineAarch64::Netduino2 => "netduino2",
1061            MachineAarch64::Netduinoplus2 => "netduinoplus2",
1062            MachineAarch64::None => "none",
1063            MachineAarch64::Npcm750evb => "npcm750-evb",
1064            MachineAarch64::Npcm845evb => "npcm845-evb",
1065            MachineAarch64::Nuri => "nuri",
1066            MachineAarch64::Olimexstm32h405 => "olimex-stm32-h405",
1067            MachineAarch64::Orangepipc => "orangepi-pc",
1068            MachineAarch64::Palmettobmc => "palmetto-bmc",
1069            MachineAarch64::QcomdcscmV1bmc => "qcom-dc-scm-v1-bmc",
1070            MachineAarch64::Qcomfireworkbmc => "qcom-firework-bmc",
1071            MachineAarch64::Quantagbsbmc => "quanta-gbs-bmc",
1072            MachineAarch64::Quantagsj => "quanta-gsj",
1073            MachineAarch64::Quantaq71lbmc => "quanta-q71l-bmc",
1074            MachineAarch64::Rainierbmc => "rainier-bmc",
1075            MachineAarch64::Raspi0 => "raspi0",
1076            MachineAarch64::Raspi1ap => "raspi1ap",
1077            MachineAarch64::Raspi2b => "raspi2b",
1078            MachineAarch64::Raspi3ap => "raspi3ap",
1079            MachineAarch64::Raspi3b => "raspi3b",
1080            MachineAarch64::Raspi4b => "raspi4b",
1081            MachineAarch64::Realvieweb => "realview-eb",
1082            MachineAarch64::Realviewebmpcore => "realview-eb-mpcore",
1083            MachineAarch64::Realviewpba8 => "realview-pb-a8",
1084            MachineAarch64::Realviewpbxa9 => "realview-pbx-a9",
1085            MachineAarch64::Romulusbmc => "romulus-bmc",
1086            MachineAarch64::Sabrelite => "sabrelite",
1087            MachineAarch64::Sbsaref => "sbsa-ref",
1088            MachineAarch64::Smdkc210 => "smdkc210",
1089            MachineAarch64::Sonorapassbmc => "sonorapass-bmc",
1090            MachineAarch64::Stm32vldiscovery => "stm32vldiscovery",
1091            MachineAarch64::Supermicrox11spibmc => "supermicro-x11spi-bmc",
1092            MachineAarch64::Supermicrox11bmc => "supermicrox11-bmc",
1093            MachineAarch64::Sx1 => "sx1",
1094            MachineAarch64::Sx1V1 => "sx1-v1",
1095            MachineAarch64::Tiogapassbmc => "tiogapass-bmc",
1096            MachineAarch64::Versatileab => "versatileab",
1097            MachineAarch64::Versatilepb => "versatilepb",
1098            MachineAarch64::Vexpressa15 => "vexpress-a15",
1099            MachineAarch64::Vexpressa9 => "vexpress-a9",
1100            MachineAarch64::Virt => "virt",
1101            MachineAarch64::Virt10_0 => "virt-10.0",
1102            MachineAarch64::Virt2_10 => "virt-2.10",
1103            MachineAarch64::Virt2_11 => "virt-2.11",
1104            MachineAarch64::Virt2_12 => "virt-2.12",
1105            MachineAarch64::Virt2_6 => "virt-2.6",
1106            MachineAarch64::Virt2_7 => "virt-2.7",
1107            MachineAarch64::Virt2_8 => "virt-2.8",
1108            MachineAarch64::Virt2_9 => "virt-2.9",
1109            MachineAarch64::Virt3_0 => "virt-3.0",
1110            MachineAarch64::Virt3_1 => "virt-3.1",
1111            MachineAarch64::Virt4_0 => "virt-4.0",
1112            MachineAarch64::Virt4_1 => "virt-4.1",
1113            MachineAarch64::Virt4_2 => "virt-4.2",
1114            MachineAarch64::Virt5_0 => "virt-5.0",
1115            MachineAarch64::Virt5_1 => "virt-5.1",
1116            MachineAarch64::Virt5_2 => "virt-5.2",
1117            MachineAarch64::Virt6_0 => "virt-6.0",
1118            MachineAarch64::Virt6_1 => "virt-6.1",
1119            MachineAarch64::Virt6_2 => "virt-6.2",
1120            MachineAarch64::Virt7_0 => "virt-7.0",
1121            MachineAarch64::Virt7_1 => "virt-7.1",
1122            MachineAarch64::Virt7_2 => "virt-7.2",
1123            MachineAarch64::Virt8_0 => "virt-8.0",
1124            MachineAarch64::Virt8_1 => "virt-8.1",
1125            MachineAarch64::Virt8_2 => "virt-8.2",
1126            MachineAarch64::Virt9_0 => "virt-9.0",
1127            MachineAarch64::Virt9_1 => "virt-9.1",
1128            MachineAarch64::Virt9_2 => "virt-9.2",
1129            MachineAarch64::Witherspoonbmc => "witherspoon-bmc",
1130            MachineAarch64::Xilinxzynqa9 => "xilinx-zynq-a9",
1131            MachineAarch64::XlnxVersalvirt => "xlnx-versal-virt",
1132            MachineAarch64::Xlnxzcu102 => "xlnx-zcu102",
1133            MachineAarch64::Yosemitev2bmc => "yosemitev2-bmc",
1134        }
1135    }
1136}