1use crate::to_command::{ToArg, ToCommand};
2use proptest_derive::Arbitrary;
3use std::str::FromStr;
4
5#[derive(Debug, Clone, Hash, Ord, PartialOrd, Eq, PartialEq, Arbitrary)]
6pub enum MachineTypeX86_64 {
7 Microvm,
9 Pci440fx9_2,
11 Pci440fx9_1,
13 Pci440fx9_0,
15 Pci440fx8_2,
17 Pci440fx8_1,
19 Pci440fx8_0,
21 Pci440fx7_2,
23 Pci440fx7_1,
25 Pc,
27 Pci440fx10_0,
29 Pcq359_2,
31 Pcq359_1,
33 Pcq359_0,
35 Pcq358_2,
37 Pcq358_1,
39 Pcq358_0,
41 Pcq357_2,
43 Pcq357_1,
45 Q35,
47 Pcq3510_0,
49 Isapc,
51 None,
53}
54
55impl ToCommand for MachineTypeX86_64 {
56 fn to_args(&self) -> Vec<String> {
57 let mut cmd = vec![];
58
59 match self {
60 MachineTypeX86_64::Microvm => {
61 cmd.push("microvm".to_string());
62 }
63 MachineTypeX86_64::Pci440fx9_2 => {
64 cmd.push("pc-i440fx-9.2".to_string());
65 }
66 MachineTypeX86_64::Pci440fx9_1 => {
67 cmd.push("pc-i440fx-9.1".to_string());
68 }
69 MachineTypeX86_64::Pci440fx9_0 => {
70 cmd.push("pc-i440fx-9.0".to_string());
71 }
72 MachineTypeX86_64::Pci440fx8_2 => {
73 cmd.push("pc-i440fx-8.2".to_string());
74 }
75 MachineTypeX86_64::Pci440fx8_1 => {
76 cmd.push("pc-i440fx-8.1".to_string());
77 }
78 MachineTypeX86_64::Pci440fx8_0 => {
79 cmd.push("pc-i440fx-8.0".to_string());
80 }
81 MachineTypeX86_64::Pci440fx7_2 => {
82 cmd.push("pc-i440fx-7.2".to_string());
83 }
84 MachineTypeX86_64::Pci440fx7_1 => {
85 cmd.push("pc-i440fx-7.1".to_string());
86 }
87 MachineTypeX86_64::Pc => {
88 cmd.push("pc".to_string());
89 }
90 MachineTypeX86_64::Pci440fx10_0 => {
91 cmd.push("pc-i440fx-10.0".to_string());
92 }
93 MachineTypeX86_64::Pcq359_2 => {
94 cmd.push("pc-q35-9.2".to_string());
95 }
96 MachineTypeX86_64::Pcq359_1 => {
97 cmd.push("pc-q35-9.1".to_string());
98 }
99 MachineTypeX86_64::Pcq359_0 => {
100 cmd.push("pc-q35-9.0".to_string());
101 }
102 MachineTypeX86_64::Pcq358_2 => {
103 cmd.push("pc-q35-8.2".to_string());
104 }
105 MachineTypeX86_64::Pcq358_1 => {
106 cmd.push("pc-q35-8.1".to_string());
107 }
108 MachineTypeX86_64::Pcq358_0 => {
109 cmd.push("pc-q35-8.0".to_string());
110 }
111 MachineTypeX86_64::Pcq357_2 => {
112 cmd.push("pc-q35-7.2".to_string());
113 }
114 MachineTypeX86_64::Pcq357_1 => {
115 cmd.push("pc-q35-7.1".to_string());
116 }
117 MachineTypeX86_64::Q35 => {
118 cmd.push("q35".to_string());
119 }
120 MachineTypeX86_64::Pcq3510_0 => {
121 cmd.push("pc-q35-10.0".to_string());
122 }
123 MachineTypeX86_64::Isapc => {
124 cmd.push("isapc".to_string());
125 }
126 MachineTypeX86_64::None => {
127 cmd.push("none".to_string());
128 }
129 }
130 cmd
131 }
132}
133
134impl ToArg for MachineTypeX86_64 {
135 fn to_arg(&self) -> &str {
136 match self {
137 MachineTypeX86_64::Microvm => "microvm",
138 MachineTypeX86_64::Pci440fx9_2 => "pc-i440fx-9.2",
139 MachineTypeX86_64::Pci440fx9_1 => "pc-i440fx-9.1",
140 MachineTypeX86_64::Pci440fx9_0 => "pc-i440fx-9.0",
141 MachineTypeX86_64::Pci440fx8_2 => "pc-i440fx-8.2",
142 MachineTypeX86_64::Pci440fx8_1 => "pc-i440fx-8.1",
143 MachineTypeX86_64::Pci440fx8_0 => "pc-i440fx-8.0",
144 MachineTypeX86_64::Pci440fx7_2 => "pc-i440fx-7.2",
145 MachineTypeX86_64::Pci440fx7_1 => "pc-i440fx-7.1",
146 MachineTypeX86_64::Pc => "pc",
147 MachineTypeX86_64::Pci440fx10_0 => "pc-i440fx-10.0",
148 MachineTypeX86_64::Pcq359_2 => "pc-q35-9.2",
149 MachineTypeX86_64::Pcq359_1 => "pc-q35-9.1",
150 MachineTypeX86_64::Pcq359_0 => "pc-q35-9.0",
151 MachineTypeX86_64::Pcq358_2 => "pc-q35-8.2",
152 MachineTypeX86_64::Pcq358_1 => "pc-q35-8.1",
153 MachineTypeX86_64::Pcq358_0 => "pc-q35-8.0",
154 MachineTypeX86_64::Pcq357_2 => "pc-q35-7.2",
155 MachineTypeX86_64::Pcq357_1 => "pc-q35-7.1",
156 MachineTypeX86_64::Q35 => "q35",
157 MachineTypeX86_64::Pcq3510_0 => "pc-q35-10.0",
158 MachineTypeX86_64::Isapc => "isapc",
159 MachineTypeX86_64::None => "none",
160 }
161 }
162}
163
164impl FromStr for MachineTypeX86_64 {
165 type Err = String;
166
167 fn from_str(s: &str) -> Result<Self, Self::Err> {
168 match s {
169 "microvm" => Ok(MachineTypeX86_64::Microvm),
170 "pc-i440fx-9.2" => Ok(MachineTypeX86_64::Pci440fx9_2),
171 "pc-i440fx-9.1" => Ok(MachineTypeX86_64::Pci440fx9_1),
172 "pc-i440fx-9.0" => Ok(MachineTypeX86_64::Pci440fx9_0),
173 "pc-i440fx-8.2" => Ok(MachineTypeX86_64::Pci440fx8_2),
174 "pc-i440fx-8.1" => Ok(MachineTypeX86_64::Pci440fx8_1),
175 "pc-i440fx-8.0" => Ok(MachineTypeX86_64::Pci440fx8_0),
176 "pc-i440fx-7.2" => Ok(MachineTypeX86_64::Pci440fx7_2),
177 "pc-i440fx-7.1" => Ok(MachineTypeX86_64::Pci440fx7_1),
178 "pc" => Ok(MachineTypeX86_64::Pc),
179 "pc-i440fx-10.0" => Ok(MachineTypeX86_64::Pci440fx10_0),
180 "pc-q35-9.2" => Ok(MachineTypeX86_64::Pcq359_2),
181 "pc-q35-9.1" => Ok(MachineTypeX86_64::Pcq359_1),
182 "pc-q35-9.0" => Ok(MachineTypeX86_64::Pcq359_0),
183 "pc-q35-8.2" => Ok(MachineTypeX86_64::Pcq358_2),
184 "pc-q35-8.1" => Ok(MachineTypeX86_64::Pcq358_1),
185 "pc-q35-8.0" => Ok(MachineTypeX86_64::Pcq358_0),
186 "pc-q35-7.2" => Ok(MachineTypeX86_64::Pcq357_2),
187 "pc-q35-7.1" => Ok(MachineTypeX86_64::Pcq357_1),
188 "q35" => Ok(MachineTypeX86_64::Q35),
189 "pc-q35-10.0" => Ok(MachineTypeX86_64::Pcq3510_0),
190 "isapc" => Ok(MachineTypeX86_64::Isapc),
191 "none" => Ok(MachineTypeX86_64::None),
192 other => Err(format!("{} is not a supported machine type", other)),
193 }
194 }
195}
196
197#[derive(Debug, Clone, Hash, Ord, PartialOrd, Eq, PartialEq, Arbitrary)]
198pub enum MachineTypeAarch64 {
199 Ast1030evb,
201 Ast2500evb,
203 Ast2600evb,
205 Ast2700evb,
207 Ast2700a0evb,
209 Ast2700a1evb,
211 Bl475eiot01a,
213 Bletchleybmc,
215 Bpim2u,
217 Canona1100,
219 Collie,
221 Cubieboard,
223 Emcraftsf2,
225 Fby35bmc,
227 Fby35,
229 Fp5280g2bmc,
231 Fujibmc,
233 G220abmc,
235 Highbank,
237 Imx25pdk,
239 Imx8mpevk,
241 Integratorcp,
243 Kudobmc,
245 Kzm,
247 Lm3s6965evb,
249 Lm3s811evb,
251 Mcimx6ulevk,
253 Mcimx7dsabre,
255 Microbit,
257 Midway,
259 Moribmc,
261 Mps2an385,
263 Mps2an386,
265 Mps2an500,
267 Mps2an505,
269 Mps2an511,
271 Mps2an521,
273 Mps3an524,
275 Mps3an536,
277 Mps3an547,
279 Muscaa,
281 Muscab1,
283 Musicpal,
285 Netduino2,
287 Netduinoplus2,
289 None,
291 Npcm750evb,
293 Npcm845evb,
295 Nuri,
297 Olimexstm32h405,
299 Orangepipc,
301 Palmettobmc,
303 QcomdcscmV1bmc,
305 Qcomfireworkbmc,
307 Quantagbsbmc,
309 Quantagsj,
311 Quantaq71lbmc,
313 Rainierbmc,
315 Raspi0,
317 Raspi1ap,
319 Raspi2b,
321 Raspi3ap,
323 Raspi3b,
325 Raspi4b,
327 Realvieweb,
329 Realviewebmpcore,
331 Realviewpba8,
333 Realviewpbxa9,
335 Romulusbmc,
337 Sabrelite,
339 Sbsaref,
341 Smdkc210,
343 Sonorapassbmc,
345 Stm32vldiscovery,
347 Supermicrox11spibmc,
349 Supermicrox11bmc,
351 Sx1,
353 Sx1V1,
355 Tiogapassbmc,
357 Versatileab,
359 Versatilepb,
361 Vexpressa15,
363 Vexpressa9,
365 Virt,
367 Virt10_0,
369 Virt7_1,
371 Virt7_2,
373 Virt8_0,
375 Virt8_1,
377 Virt8_2,
379 Virt9_0,
381 Virt9_1,
383 Virt9_2,
385 Witherspoonbmc,
387 Xilinxzynqa9,
389 XlnxVersalvirt,
391 Xlnxzcu102,
393 Yosemitev2bmc,
395}
396
397impl ToCommand for MachineTypeAarch64 {
398 fn to_args(&self) -> Vec<String> {
399 let mut cmd = vec![];
400
401 match self {
402 MachineTypeAarch64::Ast1030evb => {
403 cmd.push("ast1030-evb".to_string());
404 }
405 MachineTypeAarch64::Ast2500evb => {
406 cmd.push("ast2500-evb".to_string());
407 }
408 MachineTypeAarch64::Ast2600evb => {
409 cmd.push("ast2600-evb".to_string());
410 }
411 MachineTypeAarch64::Ast2700evb => {
412 cmd.push("ast2700-evb".to_string());
413 }
414 MachineTypeAarch64::Ast2700a0evb => {
415 cmd.push("ast2700a0-evb".to_string());
416 }
417 MachineTypeAarch64::Ast2700a1evb => {
418 cmd.push("ast2700a1-evb".to_string());
419 }
420 MachineTypeAarch64::Bl475eiot01a => {
421 cmd.push("b-l475e-iot01a".to_string());
422 }
423 MachineTypeAarch64::Bletchleybmc => {
424 cmd.push("bletchley-bmc".to_string());
425 }
426 MachineTypeAarch64::Bpim2u => {
427 cmd.push("bpim2u".to_string());
428 }
429 MachineTypeAarch64::Canona1100 => {
430 cmd.push("canon-a1100".to_string());
431 }
432 MachineTypeAarch64::Collie => {
433 cmd.push("collie".to_string());
434 }
435 MachineTypeAarch64::Cubieboard => {
436 cmd.push("cubieboard".to_string());
437 }
438 MachineTypeAarch64::Emcraftsf2 => {
439 cmd.push("emcraft-sf2".to_string());
440 }
441 MachineTypeAarch64::Fby35bmc => {
442 cmd.push("fby35-bmc".to_string());
443 }
444 MachineTypeAarch64::Fby35 => {
445 cmd.push("fby35".to_string());
446 }
447 MachineTypeAarch64::Fp5280g2bmc => {
448 cmd.push("fp5280g2-bmc".to_string());
449 }
450 MachineTypeAarch64::Fujibmc => {
451 cmd.push("fuji-bmc".to_string());
452 }
453 MachineTypeAarch64::G220abmc => {
454 cmd.push("g220a-bmc".to_string());
455 }
456 MachineTypeAarch64::Highbank => {
457 cmd.push("highbank".to_string());
458 }
459 MachineTypeAarch64::Imx25pdk => {
460 cmd.push("imx25-pdk".to_string());
461 }
462 MachineTypeAarch64::Imx8mpevk => {
463 cmd.push("imx8mp-evk".to_string());
464 }
465 MachineTypeAarch64::Integratorcp => {
466 cmd.push("integratorcp".to_string());
467 }
468 MachineTypeAarch64::Kudobmc => {
469 cmd.push("kudo-bmc".to_string());
470 }
471 MachineTypeAarch64::Kzm => {
472 cmd.push("kzm".to_string());
473 }
474 MachineTypeAarch64::Lm3s6965evb => {
475 cmd.push("lm3s6965evb".to_string());
476 }
477 MachineTypeAarch64::Lm3s811evb => {
478 cmd.push("lm3s811evb".to_string());
479 }
480 MachineTypeAarch64::Mcimx6ulevk => {
481 cmd.push("mcimx6ul-evk".to_string());
482 }
483 MachineTypeAarch64::Mcimx7dsabre => {
484 cmd.push("mcimx7d-sabre".to_string());
485 }
486 MachineTypeAarch64::Microbit => {
487 cmd.push("microbit".to_string());
488 }
489 MachineTypeAarch64::Midway => {
490 cmd.push("midway".to_string());
491 }
492 MachineTypeAarch64::Moribmc => {
493 cmd.push("mori-bmc".to_string());
494 }
495 MachineTypeAarch64::Mps2an385 => {
496 cmd.push("mps2-an385".to_string());
497 }
498 MachineTypeAarch64::Mps2an386 => {
499 cmd.push("mps2-an386".to_string());
500 }
501 MachineTypeAarch64::Mps2an500 => {
502 cmd.push("mps2-an500".to_string());
503 }
504 MachineTypeAarch64::Mps2an505 => {
505 cmd.push("mps2-an505".to_string());
506 }
507 MachineTypeAarch64::Mps2an511 => {
508 cmd.push("mps2-an511".to_string());
509 }
510 MachineTypeAarch64::Mps2an521 => {
511 cmd.push("mps2-an521".to_string());
512 }
513 MachineTypeAarch64::Mps3an524 => {
514 cmd.push("mps3-an524".to_string());
515 }
516 MachineTypeAarch64::Mps3an536 => {
517 cmd.push("mps3-an536".to_string());
518 }
519 MachineTypeAarch64::Mps3an547 => {
520 cmd.push("mps3-an547".to_string());
521 }
522 MachineTypeAarch64::Muscaa => {
523 cmd.push("musca-a".to_string());
524 }
525 MachineTypeAarch64::Muscab1 => {
526 cmd.push("musca-b1".to_string());
527 }
528 MachineTypeAarch64::Musicpal => {
529 cmd.push("musicpal".to_string());
530 }
531 MachineTypeAarch64::Netduino2 => {
532 cmd.push("netduino2".to_string());
533 }
534 MachineTypeAarch64::Netduinoplus2 => {
535 cmd.push("netduinoplus2".to_string());
536 }
537 MachineTypeAarch64::None => {
538 cmd.push("none".to_string());
539 }
540 MachineTypeAarch64::Npcm750evb => {
541 cmd.push("npcm750-evb".to_string());
542 }
543 MachineTypeAarch64::Npcm845evb => {
544 cmd.push("npcm845-evb".to_string());
545 }
546 MachineTypeAarch64::Nuri => {
547 cmd.push("nuri".to_string());
548 }
549 MachineTypeAarch64::Olimexstm32h405 => {
550 cmd.push("olimex-stm32-h405".to_string());
551 }
552 MachineTypeAarch64::Orangepipc => {
553 cmd.push("orangepi-pc".to_string());
554 }
555 MachineTypeAarch64::Palmettobmc => {
556 cmd.push("palmetto-bmc".to_string());
557 }
558 MachineTypeAarch64::QcomdcscmV1bmc => {
559 cmd.push("qcom-dc-scm-v1-bmc".to_string());
560 }
561 MachineTypeAarch64::Qcomfireworkbmc => {
562 cmd.push("qcom-firework-bmc".to_string());
563 }
564 MachineTypeAarch64::Quantagbsbmc => {
565 cmd.push("quanta-gbs-bmc".to_string());
566 }
567 MachineTypeAarch64::Quantagsj => {
568 cmd.push("quanta-gsj".to_string());
569 }
570 MachineTypeAarch64::Quantaq71lbmc => {
571 cmd.push("quanta-q71l-bmc".to_string());
572 }
573 MachineTypeAarch64::Rainierbmc => {
574 cmd.push("rainier-bmc".to_string());
575 }
576 MachineTypeAarch64::Raspi0 => {
577 cmd.push("raspi0".to_string());
578 }
579 MachineTypeAarch64::Raspi1ap => {
580 cmd.push("raspi1ap".to_string());
581 }
582 MachineTypeAarch64::Raspi2b => {
583 cmd.push("raspi2b".to_string());
584 }
585 MachineTypeAarch64::Raspi3ap => {
586 cmd.push("raspi3ap".to_string());
587 }
588 MachineTypeAarch64::Raspi3b => {
589 cmd.push("raspi3b".to_string());
590 }
591 MachineTypeAarch64::Raspi4b => {
592 cmd.push("raspi4b".to_string());
593 }
594 MachineTypeAarch64::Realvieweb => {
595 cmd.push("realview-eb".to_string());
596 }
597 MachineTypeAarch64::Realviewebmpcore => {
598 cmd.push("realview-eb-mpcore".to_string());
599 }
600 MachineTypeAarch64::Realviewpba8 => {
601 cmd.push("realview-pb-a8".to_string());
602 }
603 MachineTypeAarch64::Realviewpbxa9 => {
604 cmd.push("realview-pbx-a9".to_string());
605 }
606 MachineTypeAarch64::Romulusbmc => {
607 cmd.push("romulus-bmc".to_string());
608 }
609 MachineTypeAarch64::Sabrelite => {
610 cmd.push("sabrelite".to_string());
611 }
612 MachineTypeAarch64::Sbsaref => {
613 cmd.push("sbsa-ref".to_string());
614 }
615 MachineTypeAarch64::Smdkc210 => {
616 cmd.push("smdkc210".to_string());
617 }
618 MachineTypeAarch64::Sonorapassbmc => {
619 cmd.push("sonorapass-bmc".to_string());
620 }
621 MachineTypeAarch64::Stm32vldiscovery => {
622 cmd.push("stm32vldiscovery".to_string());
623 }
624 MachineTypeAarch64::Supermicrox11spibmc => {
625 cmd.push("supermicro-x11spi-bmc".to_string());
626 }
627 MachineTypeAarch64::Supermicrox11bmc => {
628 cmd.push("supermicrox11-bmc".to_string());
629 }
630 MachineTypeAarch64::Sx1 => {
631 cmd.push("sx1".to_string());
632 }
633 MachineTypeAarch64::Sx1V1 => {
634 cmd.push("sx1-v1".to_string());
635 }
636 MachineTypeAarch64::Tiogapassbmc => {
637 cmd.push("tiogapass-bmc".to_string());
638 }
639 MachineTypeAarch64::Versatileab => {
640 cmd.push("versatileab".to_string());
641 }
642 MachineTypeAarch64::Versatilepb => {
643 cmd.push("versatilepb".to_string());
644 }
645 MachineTypeAarch64::Vexpressa15 => {
646 cmd.push("vexpress-a15".to_string());
647 }
648 MachineTypeAarch64::Vexpressa9 => {
649 cmd.push("vexpress-a9".to_string());
650 }
651 MachineTypeAarch64::Virt => {
652 cmd.push("virt".to_string());
653 }
654 MachineTypeAarch64::Virt10_0 => {
655 cmd.push("virt-10.0".to_string());
656 }
657 MachineTypeAarch64::Virt7_1 => {
658 cmd.push("virt-7.1".to_string());
659 }
660 MachineTypeAarch64::Virt7_2 => {
661 cmd.push("virt-7.2".to_string());
662 }
663 MachineTypeAarch64::Virt8_0 => {
664 cmd.push("virt-8.0".to_string());
665 }
666 MachineTypeAarch64::Virt8_1 => {
667 cmd.push("virt-8.1".to_string());
668 }
669 MachineTypeAarch64::Virt8_2 => {
670 cmd.push("virt-8.2".to_string());
671 }
672 MachineTypeAarch64::Virt9_0 => {
673 cmd.push("virt-9.0".to_string());
674 }
675 MachineTypeAarch64::Virt9_1 => {
676 cmd.push("virt-9.1".to_string());
677 }
678 MachineTypeAarch64::Virt9_2 => {
679 cmd.push("virt-9.2".to_string());
680 }
681 MachineTypeAarch64::Witherspoonbmc => {
682 cmd.push("witherspoon-bmc".to_string());
683 }
684 MachineTypeAarch64::Xilinxzynqa9 => {
685 cmd.push("xilinx-zynq-a9".to_string());
686 }
687 MachineTypeAarch64::XlnxVersalvirt => {
688 cmd.push("xlnx-versal-virt".to_string());
689 }
690 MachineTypeAarch64::Xlnxzcu102 => {
691 cmd.push("xlnx-zcu102".to_string());
692 }
693 MachineTypeAarch64::Yosemitev2bmc => {
694 cmd.push("yosemitev2-bmc".to_string());
695 }
696 }
697 cmd
698 }
699}
700
701impl ToArg for MachineTypeAarch64 {
702 fn to_arg(&self) -> &str {
703 match self {
704 MachineTypeAarch64::Ast1030evb => "ast1030-evb",
705 MachineTypeAarch64::Ast2500evb => "ast2500-evb",
706 MachineTypeAarch64::Ast2600evb => "ast2600-evb",
707 MachineTypeAarch64::Ast2700evb => "ast2700-evb",
708 MachineTypeAarch64::Ast2700a0evb => "ast2700a0-evb",
709 MachineTypeAarch64::Ast2700a1evb => "ast2700a1-evb",
710 MachineTypeAarch64::Bl475eiot01a => "b-l475e-iot01a",
711 MachineTypeAarch64::Bletchleybmc => "bletchley-bmc",
712 MachineTypeAarch64::Bpim2u => "bpim2u",
713 MachineTypeAarch64::Canona1100 => "canon-a1100",
714 MachineTypeAarch64::Collie => "collie",
715 MachineTypeAarch64::Cubieboard => "cubieboard",
716 MachineTypeAarch64::Emcraftsf2 => "emcraft-sf2",
717 MachineTypeAarch64::Fby35bmc => "fby35-bmc",
718 MachineTypeAarch64::Fby35 => "fby35",
719 MachineTypeAarch64::Fp5280g2bmc => "fp5280g2-bmc",
720 MachineTypeAarch64::Fujibmc => "fuji-bmc",
721 MachineTypeAarch64::G220abmc => "g220a-bmc",
722 MachineTypeAarch64::Highbank => "highbank",
723 MachineTypeAarch64::Imx25pdk => "imx25-pdk",
724 MachineTypeAarch64::Imx8mpevk => "imx8mp-evk",
725 MachineTypeAarch64::Integratorcp => "integratorcp",
726 MachineTypeAarch64::Kudobmc => "kudo-bmc",
727 MachineTypeAarch64::Kzm => "kzm",
728 MachineTypeAarch64::Lm3s6965evb => "lm3s6965evb",
729 MachineTypeAarch64::Lm3s811evb => "lm3s811evb",
730 MachineTypeAarch64::Mcimx6ulevk => "mcimx6ul-evk",
731 MachineTypeAarch64::Mcimx7dsabre => "mcimx7d-sabre",
732 MachineTypeAarch64::Microbit => "microbit",
733 MachineTypeAarch64::Midway => "midway",
734 MachineTypeAarch64::Moribmc => "mori-bmc",
735 MachineTypeAarch64::Mps2an385 => "mps2-an385",
736 MachineTypeAarch64::Mps2an386 => "mps2-an386",
737 MachineTypeAarch64::Mps2an500 => "mps2-an500",
738 MachineTypeAarch64::Mps2an505 => "mps2-an505",
739 MachineTypeAarch64::Mps2an511 => "mps2-an511",
740 MachineTypeAarch64::Mps2an521 => "mps2-an521",
741 MachineTypeAarch64::Mps3an524 => "mps3-an524",
742 MachineTypeAarch64::Mps3an536 => "mps3-an536",
743 MachineTypeAarch64::Mps3an547 => "mps3-an547",
744 MachineTypeAarch64::Muscaa => "musca-a",
745 MachineTypeAarch64::Muscab1 => "musca-b1",
746 MachineTypeAarch64::Musicpal => "musicpal",
747 MachineTypeAarch64::Netduino2 => "netduino2",
748 MachineTypeAarch64::Netduinoplus2 => "netduinoplus2",
749 MachineTypeAarch64::None => "none",
750 MachineTypeAarch64::Npcm750evb => "npcm750-evb",
751 MachineTypeAarch64::Npcm845evb => "npcm845-evb",
752 MachineTypeAarch64::Nuri => "nuri",
753 MachineTypeAarch64::Olimexstm32h405 => "olimex-stm32-h405",
754 MachineTypeAarch64::Orangepipc => "orangepi-pc",
755 MachineTypeAarch64::Palmettobmc => "palmetto-bmc",
756 MachineTypeAarch64::QcomdcscmV1bmc => "qcom-dc-scm-v1-bmc",
757 MachineTypeAarch64::Qcomfireworkbmc => "qcom-firework-bmc",
758 MachineTypeAarch64::Quantagbsbmc => "quanta-gbs-bmc",
759 MachineTypeAarch64::Quantagsj => "quanta-gsj",
760 MachineTypeAarch64::Quantaq71lbmc => "quanta-q71l-bmc",
761 MachineTypeAarch64::Rainierbmc => "rainier-bmc",
762 MachineTypeAarch64::Raspi0 => "raspi0",
763 MachineTypeAarch64::Raspi1ap => "raspi1ap",
764 MachineTypeAarch64::Raspi2b => "raspi2b",
765 MachineTypeAarch64::Raspi3ap => "raspi3ap",
766 MachineTypeAarch64::Raspi3b => "raspi3b",
767 MachineTypeAarch64::Raspi4b => "raspi4b",
768 MachineTypeAarch64::Realvieweb => "realview-eb",
769 MachineTypeAarch64::Realviewebmpcore => "realview-eb-mpcore",
770 MachineTypeAarch64::Realviewpba8 => "realview-pb-a8",
771 MachineTypeAarch64::Realviewpbxa9 => "realview-pbx-a9",
772 MachineTypeAarch64::Romulusbmc => "romulus-bmc",
773 MachineTypeAarch64::Sabrelite => "sabrelite",
774 MachineTypeAarch64::Sbsaref => "sbsa-ref",
775 MachineTypeAarch64::Smdkc210 => "smdkc210",
776 MachineTypeAarch64::Sonorapassbmc => "sonorapass-bmc",
777 MachineTypeAarch64::Stm32vldiscovery => "stm32vldiscovery",
778 MachineTypeAarch64::Supermicrox11spibmc => "supermicro-x11spi-bmc",
779 MachineTypeAarch64::Supermicrox11bmc => "supermicrox11-bmc",
780 MachineTypeAarch64::Sx1 => "sx1",
781 MachineTypeAarch64::Sx1V1 => "sx1-v1",
782 MachineTypeAarch64::Tiogapassbmc => "tiogapass-bmc",
783 MachineTypeAarch64::Versatileab => "versatileab",
784 MachineTypeAarch64::Versatilepb => "versatilepb",
785 MachineTypeAarch64::Vexpressa15 => "vexpress-a15",
786 MachineTypeAarch64::Vexpressa9 => "vexpress-a9",
787 MachineTypeAarch64::Virt => "virt",
788 MachineTypeAarch64::Virt10_0 => "virt-10.0",
789 MachineTypeAarch64::Virt7_1 => "virt-7.1",
790 MachineTypeAarch64::Virt7_2 => "virt-7.2",
791 MachineTypeAarch64::Virt8_0 => "virt-8.0",
792 MachineTypeAarch64::Virt8_1 => "virt-8.1",
793 MachineTypeAarch64::Virt8_2 => "virt-8.2",
794 MachineTypeAarch64::Virt9_0 => "virt-9.0",
795 MachineTypeAarch64::Virt9_1 => "virt-9.1",
796 MachineTypeAarch64::Virt9_2 => "virt-9.2",
797 MachineTypeAarch64::Witherspoonbmc => "witherspoon-bmc",
798 MachineTypeAarch64::Xilinxzynqa9 => "xilinx-zynq-a9",
799 MachineTypeAarch64::XlnxVersalvirt => "xlnx-versal-virt",
800 MachineTypeAarch64::Xlnxzcu102 => "xlnx-zcu102",
801 MachineTypeAarch64::Yosemitev2bmc => "yosemitev2-bmc",
802 }
803 }
804}
805
806impl FromStr for MachineTypeAarch64 {
807 type Err = ();
808
809 fn from_str(s: &str) -> Result<Self, Self::Err> {
810 match s {
811 "ast1030-evb" => Ok(MachineTypeAarch64::Ast1030evb),
812 "ast2500-evb" => Ok(MachineTypeAarch64::Ast2500evb),
813 "ast2600-evb" => Ok(MachineTypeAarch64::Ast2600evb),
814 "ast2700-evb" => Ok(MachineTypeAarch64::Ast2700evb),
815 "ast2700a0-evb" => Ok(MachineTypeAarch64::Ast2700a0evb),
816 "ast2700a1-evb" => Ok(MachineTypeAarch64::Ast2700a1evb),
817 "b-l475e-iot01a" => Ok(MachineTypeAarch64::Bl475eiot01a),
818 "bletchley-bmc" => Ok(MachineTypeAarch64::Bletchleybmc),
819 "bpim2u" => Ok(MachineTypeAarch64::Bpim2u),
820 "canon-a1100" => Ok(MachineTypeAarch64::Canona1100),
821 "collie" => Ok(MachineTypeAarch64::Collie),
822 "cubieboard" => Ok(MachineTypeAarch64::Cubieboard),
823 "emcraft-sf2" => Ok(MachineTypeAarch64::Emcraftsf2),
824 "fby35-bmc" => Ok(MachineTypeAarch64::Fby35bmc),
825 "fby35" => Ok(MachineTypeAarch64::Fby35),
826 "fp5280g2-bmc" => Ok(MachineTypeAarch64::Fp5280g2bmc),
827 "fuji-bmc" => Ok(MachineTypeAarch64::Fujibmc),
828 "g220a-bmc" => Ok(MachineTypeAarch64::G220abmc),
829 "highbank" => Ok(MachineTypeAarch64::Highbank),
830 "imx25-pdk" => Ok(MachineTypeAarch64::Imx25pdk),
831 "imx8mp-evk" => Ok(MachineTypeAarch64::Imx8mpevk),
832 "integratorcp" => Ok(MachineTypeAarch64::Integratorcp),
833 "kudo-bmc" => Ok(MachineTypeAarch64::Kudobmc),
834 "kzm" => Ok(MachineTypeAarch64::Kzm),
835 "lm3s6965evb" => Ok(MachineTypeAarch64::Lm3s6965evb),
836 "lm3s811evb" => Ok(MachineTypeAarch64::Lm3s811evb),
837 "mcimx6ul-evk" => Ok(MachineTypeAarch64::Mcimx6ulevk),
838 "mcimx7d-sabre" => Ok(MachineTypeAarch64::Mcimx7dsabre),
839 "microbit" => Ok(MachineTypeAarch64::Microbit),
840 "midway" => Ok(MachineTypeAarch64::Midway),
841 "mori-bmc" => Ok(MachineTypeAarch64::Moribmc),
842 "mps2-an385" => Ok(MachineTypeAarch64::Mps2an385),
843 "mps2-an386" => Ok(MachineTypeAarch64::Mps2an386),
844 "mps2-an500" => Ok(MachineTypeAarch64::Mps2an500),
845 "mps2-an505" => Ok(MachineTypeAarch64::Mps2an505),
846 "mps2-an511" => Ok(MachineTypeAarch64::Mps2an511),
847 "mps2-an521" => Ok(MachineTypeAarch64::Mps2an521),
848 "mps3-an524" => Ok(MachineTypeAarch64::Mps3an524),
849 "mps3-an536" => Ok(MachineTypeAarch64::Mps3an536),
850 "mps3-an547" => Ok(MachineTypeAarch64::Mps3an547),
851 "musca-a" => Ok(MachineTypeAarch64::Muscaa),
852 "musca-b1" => Ok(MachineTypeAarch64::Muscab1),
853 "musicpal" => Ok(MachineTypeAarch64::Musicpal),
854 "netduino2" => Ok(MachineTypeAarch64::Netduino2),
855 "netduinoplus2" => Ok(MachineTypeAarch64::Netduinoplus2),
856 "none" => Ok(MachineTypeAarch64::None),
857 "npcm750-evb" => Ok(MachineTypeAarch64::Npcm750evb),
858 "npcm845-evb" => Ok(MachineTypeAarch64::Npcm845evb),
859 "nuri" => Ok(MachineTypeAarch64::Nuri),
860 "olimex-stm32-h405" => Ok(MachineTypeAarch64::Olimexstm32h405),
861 "orangepi-pc" => Ok(MachineTypeAarch64::Orangepipc),
862 "palmetto-bmc" => Ok(MachineTypeAarch64::Palmettobmc),
863 "qcom-dc-scm-v1-bmc" => Ok(MachineTypeAarch64::QcomdcscmV1bmc),
864 "qcom-firework-bmc" => Ok(MachineTypeAarch64::Qcomfireworkbmc),
865 "quanta-gbs-bmc" => Ok(MachineTypeAarch64::Quantagbsbmc),
866 "quanta-gsj" => Ok(MachineTypeAarch64::Quantagsj),
867 "quanta-q71l-bmc" => Ok(MachineTypeAarch64::Quantaq71lbmc),
868 "rainier-bmc" => Ok(MachineTypeAarch64::Rainierbmc),
869 "raspi0" => Ok(MachineTypeAarch64::Raspi0),
870 "raspi1ap" => Ok(MachineTypeAarch64::Raspi1ap),
871 "raspi2b" => Ok(MachineTypeAarch64::Raspi2b),
872 "raspi3ap" => Ok(MachineTypeAarch64::Raspi3ap),
873 "raspi3b" => Ok(MachineTypeAarch64::Raspi3b),
874 "raspi4b" => Ok(MachineTypeAarch64::Raspi4b),
875 "realview-eb" => Ok(MachineTypeAarch64::Realvieweb),
876 "realview-eb-mpcore" => Ok(MachineTypeAarch64::Realviewebmpcore),
877 "realview-pb-a8" => Ok(MachineTypeAarch64::Realviewpba8),
878 "realview-pbx-a9" => Ok(MachineTypeAarch64::Realviewpbxa9),
879 "romulus-bmc" => Ok(MachineTypeAarch64::Romulusbmc),
880 "sabrelite" => Ok(MachineTypeAarch64::Sabrelite),
881 "sbsa-ref" => Ok(MachineTypeAarch64::Sbsaref),
882 "smdkc210" => Ok(MachineTypeAarch64::Smdkc210),
883 "sonorapass-bmc" => Ok(MachineTypeAarch64::Sonorapassbmc),
884 "stm32vldiscovery" => Ok(MachineTypeAarch64::Stm32vldiscovery),
885 "supermicro-x11spi-bmc" => Ok(MachineTypeAarch64::Supermicrox11spibmc),
886 "supermicrox11-bmc" => Ok(MachineTypeAarch64::Supermicrox11bmc),
887 "sx1" => Ok(MachineTypeAarch64::Sx1),
888 "sx1-v1" => Ok(MachineTypeAarch64::Sx1V1),
889 "tiogapass-bmc" => Ok(MachineTypeAarch64::Tiogapassbmc),
890 "versatileab" => Ok(MachineTypeAarch64::Versatileab),
891 "versatilepb" => Ok(MachineTypeAarch64::Versatilepb),
892 "vexpress-a15" => Ok(MachineTypeAarch64::Vexpressa15),
893 "vexpress-a9" => Ok(MachineTypeAarch64::Vexpressa9),
894 "virt" => Ok(MachineTypeAarch64::Virt),
895 "virt-10.0" => Ok(MachineTypeAarch64::Virt10_0),
896 "virt-7.1" => Ok(MachineTypeAarch64::Virt7_1),
897 "virt-7.2" => Ok(MachineTypeAarch64::Virt7_2),
898 "virt-8.0" => Ok(MachineTypeAarch64::Virt8_0),
899 "virt-8.1" => Ok(MachineTypeAarch64::Virt8_1),
900 "virt-8.2" => Ok(MachineTypeAarch64::Virt8_2),
901 "virt-9.0" => Ok(MachineTypeAarch64::Virt9_0),
902 "virt-9.1" => Ok(MachineTypeAarch64::Virt9_1),
903 "virt-9.2" => Ok(MachineTypeAarch64::Virt9_2),
904 "witherspoon-bmc" => Ok(MachineTypeAarch64::Witherspoonbmc),
905 "xilinx-zynq-a9" => Ok(MachineTypeAarch64::Xilinxzynqa9),
906 "xlnx-versal-virt" => Ok(MachineTypeAarch64::XlnxVersalvirt),
907 "xlnx-zcu102" => Ok(MachineTypeAarch64::Xlnxzcu102),
908 "yosemitev2-bmc" => Ok(MachineTypeAarch64::Yosemitev2bmc),
909 _ => Err(()),
910 }
911 }
912}