qemu_command_builder/
machine_type.rs

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