1use crate::to_command::{ToArg, ToCommand};
2pub enum CPUFlags {
3 X3dnow,
5 X3dnowext,
7 X3dnowprefetch,
9 Abm,
11 Ace2,
13 Ace2en,
15 Acpi,
17 Adx,
19 Aes,
21 Amdnossb,
23 Amdpsfd,
25 Amdssbd,
27 Amdstibp,
29 Amxbf16,
31 Amxcomplex,
33 Amxfp16,
35 Amxint8,
37 Amxtile,
39 Apic,
41 Arat,
43 Archcapabilities,
45 Archlbr,
47 Autoibrs,
49 Avic,
51 Avx,
53 Avxifma,
55 Avxneconvert,
57 AvxVnni,
59 AvxVnniint16,
61 AvxVnniint8,
63 Avx10,
65 Avx10128,
67 Avx10256,
69 Avx10512,
71 Avx2,
73 Avx5124fmaps,
75 Avx5124vnniw,
77 Avx512bf16,
79 Avx512fp16,
81 Avx512Vp2intersect,
83 Avx512Vpopcntdq,
85 Avx512bitalg,
87 Avx512bw,
89 Avx512cd,
91 Avx512dq,
93 Avx512er,
95 Avx512f,
97 Avx512ifma,
99 Avx512pf,
101 Avx512vbmi,
103 Avx512vbmi2,
105 Avx512vl,
107 Avx512vnni,
109 Bhictrl,
111 Bhino,
113 Bmi1,
115 Bmi2,
117 Buslockdetect,
119 Cid,
121 Cldemote,
123 Clflush,
125 Clflushopt,
127 Clwb,
129 Clzero,
131 Cmov,
133 Cmplegacy,
135 Cmpccxadd,
137 Corecapability,
139 Cr8legacy,
141 Cx16,
143 Cx8,
145 Dca,
147 Ddpdu,
149 De,
151 Decodeassists,
153 Ds,
155 Dscpl,
157 Dtes64,
159 Eraps,
161 Erms,
163 Est,
165 Extapic,
167 F16c,
169 Fbclear,
171 Fbsdpno,
173 Fdpexcptnonly,
175 Flushl1d,
177 Flushbyasid,
179 Fma,
181 Fma4,
183 Fpu,
185 Fred,
187 Fsgsbase,
189 Fsrc,
191 Fsrm,
193 Fsrs,
195 Fullwidthwrite,
197 Fxsr,
199 Fxsropt,
201 Fzrm,
203 Gdsno,
205 Gfni,
207 Hle,
209 Ht,
211 Hypervisor,
213 Ia64,
215 Ibpb,
217 Ibpbbrtype,
219 Ibrs,
221 Ibrsall,
223 Ibs,
225 Intelpsfd,
227 Intelpt,
229 Intelptlip,
231 Invpcid,
233 Invtsc,
235 Ipredctrl,
237 Kvmasyncpf,
239 Kvmasyncpfint,
241 KvmasyncpfVmexit,
243 Kvmhintdedicated,
245 Kvmmmu,
247 Kvmmsiextdestid,
249 Kvmnopiodelay,
251 Kvmpollcontrol,
253 Kvmpveoi,
255 Kvmpvipi,
257 Kvmpvschedyield,
259 Kvmpvtlbflush,
261 Kvmpvunhalt,
263 Kvmstealtime,
265 Kvmclock,
267 Kvmclockstablebit,
269 La57,
271 Lahflm,
273 Lam,
275 Lbrv,
277 Lfencealwaysserializing,
279 Lkgs,
281 Lm,
283 Lwp,
285 Mca,
287 Mcdtno,
289 Mce,
291 Mdclear,
293 Mdsno,
295 Misalignsse,
297 Mmx,
299 Mmxext,
301 Monitor,
303 Movbe,
305 Movdir64b,
307 Movdiri,
309 Mpx,
311 Msr,
313 Mtrr,
315 Nonesteddatabp,
317 Nodeidmsr,
319 Npt,
321 Nripsave,
323 Nullselclrbase,
325 Nx,
327 Osvw,
329 Overflowrecov,
331 Pae,
333 Pat,
335 Pausefilter,
337 Pbe,
339 Pbrsbno,
341 Pcid,
343 Pclmulqdq,
345 Pcommit,
347 Pdcm,
349 Pdpe1gb,
351 Perfctrcore,
353 Perfctrnb,
355 PerfmonV2,
357 Pfthreshold,
359 Pge,
361 Phe,
363 Pheen,
365 Pks,
367 Pku,
369 Pmm,
371 Pmmen,
373 Pn,
375 Pni,
377 Popcnt,
379 Prefetchiti,
381 Pschangemcno,
383 Psdpno,
385 Pse,
387 Pse36,
389 Rdctlno,
391 Rdpid,
393 Rdrand,
395 Rdseed,
397 Rdtscp,
399 Rfdsclear,
401 Rfdsno,
403 Rrsbactrl,
405 Rsba,
407 Rtm,
409 Sbdrssdpno,
411 Sbpb,
413 Sep,
415 Serialize,
417 Sgx,
419 Sgxaexnotify,
421 Sgxdebug,
423 Sgxedeccssa,
425 Sgxexinfo,
427 Sgxkss,
429 Sgxmode64,
431 Sgxprovisionkey,
433 Sgxtokenkey,
435 Sgx1,
437 Sgx2,
439 Sgxlc,
441 Shani,
443 Sha512,
445 Skinit,
447 Skipl1dflVmentry,
449 Sm3,
451 Sm4,
453 Smap,
455 Smep,
457 Smx,
459 Specctrl,
461 Splitlockdetect,
463 Srsono,
465 Srsouserkernelno,
467 Ss,
469 Ssbno,
471 Ssbd,
473 Sse,
475 Sse2,
477 Sse4_1,
479 Sse4_2,
481 Sse4a,
483 Ssse3,
485 Stibp,
487 Stibpalwayson,
489 Succor,
491 Svm,
493 Svmlock,
495 Svmeaddrchk,
497 Syscall,
499 Taano,
501 Tbm,
503 Tce,
505 Tm,
507 Tm2,
509 Topoext,
511 Tsc,
513 Tscadjust,
515 Tscdeadline,
517 Tscscale,
519 Tsxctrl,
521 Tsxldtrk,
523 Umip,
525 VVmsavevmload,
527 Vaes,
529 Vgif,
531 Virtssbd,
533 Vmcbclean,
535 Vme,
537 Vmx,
539 Vmxactivityhlt,
541 Vmxactivityshutdown,
543 Vmxactivitywaitsipi,
545 Vmxanyerrcode,
547 Vmxapicvregister,
549 VmxapicvVid,
551 Vmxapicvx2apic,
553 Vmxapicvxapic,
555 Vmxcr3loadnoexit,
557 Vmxcr3storenoexit,
559 Vmxcr8loadexit,
561 Vmxcr8storeexit,
563 Vmxdescexit,
565 Vmxenableuserwaitpause,
567 Vmxenclsexit,
569 Vmxentryia32emode,
571 Vmxentryloadbndcfgs,
573 Vmxentryloadefer,
575 Vmxentryloadfred,
577 Vmxentryloadpat,
579 Vmxentryloadperfglobalctrl,
581 Vmxentryloadpkrs,
583 Vmxentryloadrtitctl,
585 Vmxentrynoloaddebugctl,
587 Vmxept,
589 Vmxept1gb,
591 Vmxept2mb,
593 Vmxeptadvancedexitinfo,
595 Vmxeptexeconly,
597 Vmxeptad,
599 Vmxeptpswitching,
601 Vmxexitackintr,
603 Vmxexitclearbndcfgs,
605 Vmxexitclearrtitctl,
607 Vmxexitloadefer,
609 Vmxexitloadpat,
611 Vmxexitloadperfglobalctrl,
613 Vmxexitloadpkrs,
615 Vmxexitnosavedebugctl,
617 Vmxexitsaveefer,
619 Vmxexitsavepat,
621 Vmxexitsavepreemptiontimer,
623 Vmxexitsecondaryctls,
625 Vmxflexpriority,
627 Vmxhltexit,
629 Vmxinsouts,
631 Vmxintrexit,
633 Vmxinvept,
635 Vmxinveptallcontext,
637 Vmxinveptsinglecontext,
639 Vmxinveptsinglecontextnoglobals,
641 Vmxinvlpgexit,
643 Vmxinvpcidexit,
645 Vmxinvvpid,
647 Vmxinvvpidallcontext,
649 Vmxinvvpidsingleaddr,
651 Vmxiobitmap,
653 Vmxioexit,
655 Vmxmonitorexit,
657 Vmxmovdrexit,
659 Vmxmsrbitmap,
661 Vmxmtf,
663 Vmxmwaitexit,
665 Vmxnestedexception,
667 Vmxnmiexit,
669 Vmxpagewalk4,
671 Vmxpagewalk5,
673 Vmxpauseexit,
675 Vmxple,
677 Vmxpml,
679 Vmxpostedintr,
681 Vmxpreemptiontimer,
683 Vmxrdpmcexit,
685 Vmxrdrandexit,
687 Vmxrdseedexit,
689 Vmxrdtscexit,
691 Vmxrdtscpexit,
693 Vmxsecondaryctls,
695 VmxshadowVmcs,
697 Vmxstorelma,
699 Vmxtruectls,
701 Vmxtscoffset,
703 Vmxtscscaling,
705 Vmxunrestrictedguest,
707 VmxVintrpending,
709 VmxVmfunc,
711 VmxVmwritevmexitfields,
713 VmxVnmi,
715 VmxVnmipending,
717 VmxVpid,
719 Vmxwbinvdexit,
721 Vmxxsaves,
723 Vmxzeroleninject,
725 Vnmi,
727 Vpclmulqdq,
729 Waitpkg,
731 Wbnoinvd,
733 Wdt,
735 Wrmsrns,
737 X2apic,
739 Xcrypt,
741 Xcrypten,
743 Xfd,
745 Xgetbv1,
747 Xop,
749 Xsave,
751 Xsavec,
753 Xsaveerptr,
755 Xsaveopt,
757 Xsaves,
759 Xstore,
761 Xstoreen,
763 Xtpr,
765 Zerofcsfds,
767}
768impl ToCommand for CPUFlags {
769 fn to_command(&self) -> Vec<String> {
770 let mut cmd = vec![];
771
772 match self {
773 CPUFlags::X3dnow => cmd.push("3dnow".to_string()),
774 CPUFlags::X3dnowext => cmd.push("3dnowext".to_string()),
775 CPUFlags::X3dnowprefetch => cmd.push("3dnowprefetch".to_string()),
776 CPUFlags::Abm => cmd.push("abm".to_string()),
777 CPUFlags::Ace2 => cmd.push("ace2".to_string()),
778 CPUFlags::Ace2en => cmd.push("ace2-en".to_string()),
779 CPUFlags::Acpi => cmd.push("acpi".to_string()),
780 CPUFlags::Adx => cmd.push("adx".to_string()),
781 CPUFlags::Aes => cmd.push("aes".to_string()),
782 CPUFlags::Amdnossb => cmd.push("amd-no-ssb".to_string()),
783 CPUFlags::Amdpsfd => cmd.push("amd-psfd".to_string()),
784 CPUFlags::Amdssbd => cmd.push("amd-ssbd".to_string()),
785 CPUFlags::Amdstibp => cmd.push("amd-stibp".to_string()),
786 CPUFlags::Amxbf16 => cmd.push("amx-bf16".to_string()),
787 CPUFlags::Amxcomplex => cmd.push("amx-complex".to_string()),
788 CPUFlags::Amxfp16 => cmd.push("amx-fp16".to_string()),
789 CPUFlags::Amxint8 => cmd.push("amx-int8".to_string()),
790 CPUFlags::Amxtile => cmd.push("amx-tile".to_string()),
791 CPUFlags::Apic => cmd.push("apic".to_string()),
792 CPUFlags::Arat => cmd.push("arat".to_string()),
793 CPUFlags::Archcapabilities => cmd.push("arch-capabilities".to_string()),
794 CPUFlags::Archlbr => cmd.push("arch-lbr".to_string()),
795 CPUFlags::Autoibrs => cmd.push("auto-ibrs".to_string()),
796 CPUFlags::Avic => cmd.push("avic".to_string()),
797 CPUFlags::Avx => cmd.push("avx".to_string()),
798 CPUFlags::Avxifma => cmd.push("avx-ifma".to_string()),
799 CPUFlags::Avxneconvert => cmd.push("avx-ne-convert".to_string()),
800 CPUFlags::AvxVnni => cmd.push("avx-vnni".to_string()),
801 CPUFlags::AvxVnniint16 => cmd.push("avx-vnni-int16".to_string()),
802 CPUFlags::AvxVnniint8 => cmd.push("avx-vnni-int8".to_string()),
803 CPUFlags::Avx10 => cmd.push("avx10".to_string()),
804 CPUFlags::Avx10128 => cmd.push("avx10-128".to_string()),
805 CPUFlags::Avx10256 => cmd.push("avx10-256".to_string()),
806 CPUFlags::Avx10512 => cmd.push("avx10-512".to_string()),
807 CPUFlags::Avx2 => cmd.push("avx2".to_string()),
808 CPUFlags::Avx5124fmaps => cmd.push("avx512-4fmaps".to_string()),
809 CPUFlags::Avx5124vnniw => cmd.push("avx512-4vnniw".to_string()),
810 CPUFlags::Avx512bf16 => cmd.push("avx512-bf16".to_string()),
811 CPUFlags::Avx512fp16 => cmd.push("avx512-fp16".to_string()),
812 CPUFlags::Avx512Vp2intersect => cmd.push("avx512-vp2intersect".to_string()),
813 CPUFlags::Avx512Vpopcntdq => cmd.push("avx512-vpopcntdq".to_string()),
814 CPUFlags::Avx512bitalg => cmd.push("avx512bitalg".to_string()),
815 CPUFlags::Avx512bw => cmd.push("avx512bw".to_string()),
816 CPUFlags::Avx512cd => cmd.push("avx512cd".to_string()),
817 CPUFlags::Avx512dq => cmd.push("avx512dq".to_string()),
818 CPUFlags::Avx512er => cmd.push("avx512er".to_string()),
819 CPUFlags::Avx512f => cmd.push("avx512f".to_string()),
820 CPUFlags::Avx512ifma => cmd.push("avx512ifma".to_string()),
821 CPUFlags::Avx512pf => cmd.push("avx512pf".to_string()),
822 CPUFlags::Avx512vbmi => cmd.push("avx512vbmi".to_string()),
823 CPUFlags::Avx512vbmi2 => cmd.push("avx512vbmi2".to_string()),
824 CPUFlags::Avx512vl => cmd.push("avx512vl".to_string()),
825 CPUFlags::Avx512vnni => cmd.push("avx512vnni".to_string()),
826 CPUFlags::Bhictrl => cmd.push("bhi-ctrl".to_string()),
827 CPUFlags::Bhino => cmd.push("bhi-no".to_string()),
828 CPUFlags::Bmi1 => cmd.push("bmi1".to_string()),
829 CPUFlags::Bmi2 => cmd.push("bmi2".to_string()),
830 CPUFlags::Buslockdetect => cmd.push("bus-lock-detect".to_string()),
831 CPUFlags::Cid => cmd.push("cid".to_string()),
832 CPUFlags::Cldemote => cmd.push("cldemote".to_string()),
833 CPUFlags::Clflush => cmd.push("clflush".to_string()),
834 CPUFlags::Clflushopt => cmd.push("clflushopt".to_string()),
835 CPUFlags::Clwb => cmd.push("clwb".to_string()),
836 CPUFlags::Clzero => cmd.push("clzero".to_string()),
837 CPUFlags::Cmov => cmd.push("cmov".to_string()),
838 CPUFlags::Cmplegacy => cmd.push("cmp-legacy".to_string()),
839 CPUFlags::Cmpccxadd => cmd.push("cmpccxadd".to_string()),
840 CPUFlags::Corecapability => cmd.push("core-capability".to_string()),
841 CPUFlags::Cr8legacy => cmd.push("cr8legacy".to_string()),
842 CPUFlags::Cx16 => cmd.push("cx16".to_string()),
843 CPUFlags::Cx8 => cmd.push("cx8".to_string()),
844 CPUFlags::Dca => cmd.push("dca".to_string()),
845 CPUFlags::Ddpdu => cmd.push("ddpd-u".to_string()),
846 CPUFlags::De => cmd.push("de".to_string()),
847 CPUFlags::Decodeassists => cmd.push("decodeassists".to_string()),
848 CPUFlags::Ds => cmd.push("ds".to_string()),
849 CPUFlags::Dscpl => cmd.push("ds-cpl".to_string()),
850 CPUFlags::Dtes64 => cmd.push("dtes64".to_string()),
851 CPUFlags::Eraps => cmd.push("eraps".to_string()),
852 CPUFlags::Erms => cmd.push("erms".to_string()),
853 CPUFlags::Est => cmd.push("est".to_string()),
854 CPUFlags::Extapic => cmd.push("extapic".to_string()),
855 CPUFlags::F16c => cmd.push("f16c".to_string()),
856 CPUFlags::Fbclear => cmd.push("fb-clear".to_string()),
857 CPUFlags::Fbsdpno => cmd.push("fbsdp-no".to_string()),
858 CPUFlags::Fdpexcptnonly => cmd.push("fdp-excptn-only".to_string()),
859 CPUFlags::Flushl1d => cmd.push("flush-l1d".to_string()),
860 CPUFlags::Flushbyasid => cmd.push("flushbyasid".to_string()),
861 CPUFlags::Fma => cmd.push("fma".to_string()),
862 CPUFlags::Fma4 => cmd.push("fma4".to_string()),
863 CPUFlags::Fpu => cmd.push("fpu".to_string()),
864 CPUFlags::Fred => cmd.push("fred".to_string()),
865 CPUFlags::Fsgsbase => cmd.push("fsgsbase".to_string()),
866 CPUFlags::Fsrc => cmd.push("fsrc".to_string()),
867 CPUFlags::Fsrm => cmd.push("fsrm".to_string()),
868 CPUFlags::Fsrs => cmd.push("fsrs".to_string()),
869 CPUFlags::Fullwidthwrite => cmd.push("full-width-write".to_string()),
870 CPUFlags::Fxsr => cmd.push("fxsr".to_string()),
871 CPUFlags::Fxsropt => cmd.push("fxsr-opt".to_string()),
872 CPUFlags::Fzrm => cmd.push("fzrm".to_string()),
873 CPUFlags::Gdsno => cmd.push("gds-no".to_string()),
874 CPUFlags::Gfni => cmd.push("gfni".to_string()),
875 CPUFlags::Hle => cmd.push("hle".to_string()),
876 CPUFlags::Ht => cmd.push("ht".to_string()),
877 CPUFlags::Hypervisor => cmd.push("hypervisor".to_string()),
878 CPUFlags::Ia64 => cmd.push("ia64".to_string()),
879 CPUFlags::Ibpb => cmd.push("ibpb".to_string()),
880 CPUFlags::Ibpbbrtype => cmd.push("ibpb-brtype".to_string()),
881 CPUFlags::Ibrs => cmd.push("ibrs".to_string()),
882 CPUFlags::Ibrsall => cmd.push("ibrs-all".to_string()),
883 CPUFlags::Ibs => cmd.push("ibs".to_string()),
884 CPUFlags::Intelpsfd => cmd.push("intel-psfd".to_string()),
885 CPUFlags::Intelpt => cmd.push("intel-pt".to_string()),
886 CPUFlags::Intelptlip => cmd.push("intel-pt-lip".to_string()),
887 CPUFlags::Invpcid => cmd.push("invpcid".to_string()),
888 CPUFlags::Invtsc => cmd.push("invtsc".to_string()),
889 CPUFlags::Ipredctrl => cmd.push("ipred-ctrl".to_string()),
890 CPUFlags::Kvmasyncpf => cmd.push("kvm-asyncpf".to_string()),
891 CPUFlags::Kvmasyncpfint => cmd.push("kvm-asyncpf-int".to_string()),
892 CPUFlags::KvmasyncpfVmexit => cmd.push("kvm-asyncpf-vmexit".to_string()),
893 CPUFlags::Kvmhintdedicated => cmd.push("kvm-hint-dedicated".to_string()),
894 CPUFlags::Kvmmmu => cmd.push("kvm-mmu".to_string()),
895 CPUFlags::Kvmmsiextdestid => cmd.push("kvm-msi-ext-dest-id".to_string()),
896 CPUFlags::Kvmnopiodelay => cmd.push("kvm-nopiodelay".to_string()),
897 CPUFlags::Kvmpollcontrol => cmd.push("kvm-poll-control".to_string()),
898 CPUFlags::Kvmpveoi => cmd.push("kvm-pv-eoi".to_string()),
899 CPUFlags::Kvmpvipi => cmd.push("kvm-pv-ipi".to_string()),
900 CPUFlags::Kvmpvschedyield => cmd.push("kvm-pv-sched-yield".to_string()),
901 CPUFlags::Kvmpvtlbflush => cmd.push("kvm-pv-tlb-flush".to_string()),
902 CPUFlags::Kvmpvunhalt => cmd.push("kvm-pv-unhalt".to_string()),
903 CPUFlags::Kvmstealtime => cmd.push("kvm-steal-time".to_string()),
904 CPUFlags::Kvmclock => cmd.push("kvmclock".to_string()),
905 CPUFlags::Kvmclockstablebit => cmd.push("kvmclock-stable-bit".to_string()),
906 CPUFlags::La57 => cmd.push("la57".to_string()),
907 CPUFlags::Lahflm => cmd.push("lahf-lm".to_string()),
908 CPUFlags::Lam => cmd.push("lam".to_string()),
909 CPUFlags::Lbrv => cmd.push("lbrv".to_string()),
910 CPUFlags::Lfencealwaysserializing => cmd.push("lfence-always-serializing".to_string()),
911 CPUFlags::Lkgs => cmd.push("lkgs".to_string()),
912 CPUFlags::Lm => cmd.push("lm".to_string()),
913 CPUFlags::Lwp => cmd.push("lwp".to_string()),
914 CPUFlags::Mca => cmd.push("mca".to_string()),
915 CPUFlags::Mcdtno => cmd.push("mcdt-no".to_string()),
916 CPUFlags::Mce => cmd.push("mce".to_string()),
917 CPUFlags::Mdclear => cmd.push("md-clear".to_string()),
918 CPUFlags::Mdsno => cmd.push("mds-no".to_string()),
919 CPUFlags::Misalignsse => cmd.push("misalignsse".to_string()),
920 CPUFlags::Mmx => cmd.push("mmx".to_string()),
921 CPUFlags::Mmxext => cmd.push("mmxext".to_string()),
922 CPUFlags::Monitor => cmd.push("monitor".to_string()),
923 CPUFlags::Movbe => cmd.push("movbe".to_string()),
924 CPUFlags::Movdir64b => cmd.push("movdir64b".to_string()),
925 CPUFlags::Movdiri => cmd.push("movdiri".to_string()),
926 CPUFlags::Mpx => cmd.push("mpx".to_string()),
927 CPUFlags::Msr => cmd.push("msr".to_string()),
928 CPUFlags::Mtrr => cmd.push("mtrr".to_string()),
929 CPUFlags::Nonesteddatabp => cmd.push("no-nested-data-bp".to_string()),
930 CPUFlags::Nodeidmsr => cmd.push("nodeid-msr".to_string()),
931 CPUFlags::Npt => cmd.push("npt".to_string()),
932 CPUFlags::Nripsave => cmd.push("nrip-save".to_string()),
933 CPUFlags::Nullselclrbase => cmd.push("null-sel-clr-base".to_string()),
934 CPUFlags::Nx => cmd.push("nx".to_string()),
935 CPUFlags::Osvw => cmd.push("osvw".to_string()),
936 CPUFlags::Overflowrecov => cmd.push("overflow-recov".to_string()),
937 CPUFlags::Pae => cmd.push("pae".to_string()),
938 CPUFlags::Pat => cmd.push("pat".to_string()),
939 CPUFlags::Pausefilter => cmd.push("pause-filter".to_string()),
940 CPUFlags::Pbe => cmd.push("pbe".to_string()),
941 CPUFlags::Pbrsbno => cmd.push("pbrsb-no".to_string()),
942 CPUFlags::Pcid => cmd.push("pcid".to_string()),
943 CPUFlags::Pclmulqdq => cmd.push("pclmulqdq".to_string()),
944 CPUFlags::Pcommit => cmd.push("pcommit".to_string()),
945 CPUFlags::Pdcm => cmd.push("pdcm".to_string()),
946 CPUFlags::Pdpe1gb => cmd.push("pdpe1gb".to_string()),
947 CPUFlags::Perfctrcore => cmd.push("perfctr-core".to_string()),
948 CPUFlags::Perfctrnb => cmd.push("perfctr-nb".to_string()),
949 CPUFlags::PerfmonV2 => cmd.push("perfmon-v2".to_string()),
950 CPUFlags::Pfthreshold => cmd.push("pfthreshold".to_string()),
951 CPUFlags::Pge => cmd.push("pge".to_string()),
952 CPUFlags::Phe => cmd.push("phe".to_string()),
953 CPUFlags::Pheen => cmd.push("phe-en".to_string()),
954 CPUFlags::Pks => cmd.push("pks".to_string()),
955 CPUFlags::Pku => cmd.push("pku".to_string()),
956 CPUFlags::Pmm => cmd.push("pmm".to_string()),
957 CPUFlags::Pmmen => cmd.push("pmm-en".to_string()),
958 CPUFlags::Pn => cmd.push("pn".to_string()),
959 CPUFlags::Pni => cmd.push("pni".to_string()),
960 CPUFlags::Popcnt => cmd.push("popcnt".to_string()),
961 CPUFlags::Prefetchiti => cmd.push("prefetchiti".to_string()),
962 CPUFlags::Pschangemcno => cmd.push("pschange-mc-no".to_string()),
963 CPUFlags::Psdpno => cmd.push("psdp-no".to_string()),
964 CPUFlags::Pse => cmd.push("pse".to_string()),
965 CPUFlags::Pse36 => cmd.push("pse36".to_string()),
966 CPUFlags::Rdctlno => cmd.push("rdctl-no".to_string()),
967 CPUFlags::Rdpid => cmd.push("rdpid".to_string()),
968 CPUFlags::Rdrand => cmd.push("rdrand".to_string()),
969 CPUFlags::Rdseed => cmd.push("rdseed".to_string()),
970 CPUFlags::Rdtscp => cmd.push("rdtscp".to_string()),
971 CPUFlags::Rfdsclear => cmd.push("rfds-clear".to_string()),
972 CPUFlags::Rfdsno => cmd.push("rfds-no".to_string()),
973 CPUFlags::Rrsbactrl => cmd.push("rrsba-ctrl".to_string()),
974 CPUFlags::Rsba => cmd.push("rsba".to_string()),
975 CPUFlags::Rtm => cmd.push("rtm".to_string()),
976 CPUFlags::Sbdrssdpno => cmd.push("sbdr-ssdp-no".to_string()),
977 CPUFlags::Sbpb => cmd.push("sbpb".to_string()),
978 CPUFlags::Sep => cmd.push("sep".to_string()),
979 CPUFlags::Serialize => cmd.push("serialize".to_string()),
980 CPUFlags::Sgx => cmd.push("sgx".to_string()),
981 CPUFlags::Sgxaexnotify => cmd.push("sgx-aex-notify".to_string()),
982 CPUFlags::Sgxdebug => cmd.push("sgx-debug".to_string()),
983 CPUFlags::Sgxedeccssa => cmd.push("sgx-edeccssa".to_string()),
984 CPUFlags::Sgxexinfo => cmd.push("sgx-exinfo".to_string()),
985 CPUFlags::Sgxkss => cmd.push("sgx-kss".to_string()),
986 CPUFlags::Sgxmode64 => cmd.push("sgx-mode64".to_string()),
987 CPUFlags::Sgxprovisionkey => cmd.push("sgx-provisionkey".to_string()),
988 CPUFlags::Sgxtokenkey => cmd.push("sgx-tokenkey".to_string()),
989 CPUFlags::Sgx1 => cmd.push("sgx1".to_string()),
990 CPUFlags::Sgx2 => cmd.push("sgx2".to_string()),
991 CPUFlags::Sgxlc => cmd.push("sgxlc".to_string()),
992 CPUFlags::Shani => cmd.push("sha-ni".to_string()),
993 CPUFlags::Sha512 => cmd.push("sha512".to_string()),
994 CPUFlags::Skinit => cmd.push("skinit".to_string()),
995 CPUFlags::Skipl1dflVmentry => cmd.push("skip-l1dfl-vmentry".to_string()),
996 CPUFlags::Sm3 => cmd.push("sm3".to_string()),
997 CPUFlags::Sm4 => cmd.push("sm4".to_string()),
998 CPUFlags::Smap => cmd.push("smap".to_string()),
999 CPUFlags::Smep => cmd.push("smep".to_string()),
1000 CPUFlags::Smx => cmd.push("smx".to_string()),
1001 CPUFlags::Specctrl => cmd.push("spec-ctrl".to_string()),
1002 CPUFlags::Splitlockdetect => cmd.push("split-lock-detect".to_string()),
1003 CPUFlags::Srsono => cmd.push("srso-no".to_string()),
1004 CPUFlags::Srsouserkernelno => cmd.push("srso-user-kernel-no".to_string()),
1005 CPUFlags::Ss => cmd.push("ss".to_string()),
1006 CPUFlags::Ssbno => cmd.push("ssb-no".to_string()),
1007 CPUFlags::Ssbd => cmd.push("ssbd".to_string()),
1008 CPUFlags::Sse => cmd.push("sse".to_string()),
1009 CPUFlags::Sse2 => cmd.push("sse2".to_string()),
1010 CPUFlags::Sse4_1 => cmd.push("sse4.1".to_string()),
1011 CPUFlags::Sse4_2 => cmd.push("sse4.2".to_string()),
1012 CPUFlags::Sse4a => cmd.push("sse4a".to_string()),
1013 CPUFlags::Ssse3 => cmd.push("ssse3".to_string()),
1014 CPUFlags::Stibp => cmd.push("stibp".to_string()),
1015 CPUFlags::Stibpalwayson => cmd.push("stibp-always-on".to_string()),
1016 CPUFlags::Succor => cmd.push("succor".to_string()),
1017 CPUFlags::Svm => cmd.push("svm".to_string()),
1018 CPUFlags::Svmlock => cmd.push("svm-lock".to_string()),
1019 CPUFlags::Svmeaddrchk => cmd.push("svme-addr-chk".to_string()),
1020 CPUFlags::Syscall => cmd.push("syscall".to_string()),
1021 CPUFlags::Taano => cmd.push("taa-no".to_string()),
1022 CPUFlags::Tbm => cmd.push("tbm".to_string()),
1023 CPUFlags::Tce => cmd.push("tce".to_string()),
1024 CPUFlags::Tm => cmd.push("tm".to_string()),
1025 CPUFlags::Tm2 => cmd.push("tm2".to_string()),
1026 CPUFlags::Topoext => cmd.push("topoext".to_string()),
1027 CPUFlags::Tsc => cmd.push("tsc".to_string()),
1028 CPUFlags::Tscadjust => cmd.push("tsc-adjust".to_string()),
1029 CPUFlags::Tscdeadline => cmd.push("tsc-deadline".to_string()),
1030 CPUFlags::Tscscale => cmd.push("tsc-scale".to_string()),
1031 CPUFlags::Tsxctrl => cmd.push("tsx-ctrl".to_string()),
1032 CPUFlags::Tsxldtrk => cmd.push("tsx-ldtrk".to_string()),
1033 CPUFlags::Umip => cmd.push("umip".to_string()),
1034 CPUFlags::VVmsavevmload => cmd.push("v-vmsave-vmload".to_string()),
1035 CPUFlags::Vaes => cmd.push("vaes".to_string()),
1036 CPUFlags::Vgif => cmd.push("vgif".to_string()),
1037 CPUFlags::Virtssbd => cmd.push("virt-ssbd".to_string()),
1038 CPUFlags::Vmcbclean => cmd.push("vmcb-clean".to_string()),
1039 CPUFlags::Vme => cmd.push("vme".to_string()),
1040 CPUFlags::Vmx => cmd.push("vmx".to_string()),
1041 CPUFlags::Vmxactivityhlt => cmd.push("vmx-activity-hlt".to_string()),
1042 CPUFlags::Vmxactivityshutdown => cmd.push("vmx-activity-shutdown".to_string()),
1043 CPUFlags::Vmxactivitywaitsipi => cmd.push("vmx-activity-wait-sipi".to_string()),
1044 CPUFlags::Vmxanyerrcode => cmd.push("vmx-any-errcode".to_string()),
1045 CPUFlags::Vmxapicvregister => cmd.push("vmx-apicv-register".to_string()),
1046 CPUFlags::VmxapicvVid => cmd.push("vmx-apicv-vid".to_string()),
1047 CPUFlags::Vmxapicvx2apic => cmd.push("vmx-apicv-x2apic".to_string()),
1048 CPUFlags::Vmxapicvxapic => cmd.push("vmx-apicv-xapic".to_string()),
1049 CPUFlags::Vmxcr3loadnoexit => cmd.push("vmx-cr3-load-noexit".to_string()),
1050 CPUFlags::Vmxcr3storenoexit => cmd.push("vmx-cr3-store-noexit".to_string()),
1051 CPUFlags::Vmxcr8loadexit => cmd.push("vmx-cr8-load-exit".to_string()),
1052 CPUFlags::Vmxcr8storeexit => cmd.push("vmx-cr8-store-exit".to_string()),
1053 CPUFlags::Vmxdescexit => cmd.push("vmx-desc-exit".to_string()),
1054 CPUFlags::Vmxenableuserwaitpause => cmd.push("vmx-enable-user-wait-pause".to_string()),
1055 CPUFlags::Vmxenclsexit => cmd.push("vmx-encls-exit".to_string()),
1056 CPUFlags::Vmxentryia32emode => cmd.push("vmx-entry-ia32e-mode".to_string()),
1057 CPUFlags::Vmxentryloadbndcfgs => cmd.push("vmx-entry-load-bndcfgs".to_string()),
1058 CPUFlags::Vmxentryloadefer => cmd.push("vmx-entry-load-efer".to_string()),
1059 CPUFlags::Vmxentryloadfred => cmd.push("vmx-entry-load-fred".to_string()),
1060 CPUFlags::Vmxentryloadpat => cmd.push("vmx-entry-load-pat".to_string()),
1061 CPUFlags::Vmxentryloadperfglobalctrl => {
1062 cmd.push("vmx-entry-load-perf-global-ctrl".to_string())
1063 }
1064 CPUFlags::Vmxentryloadpkrs => cmd.push("vmx-entry-load-pkrs".to_string()),
1065 CPUFlags::Vmxentryloadrtitctl => cmd.push("vmx-entry-load-rtit-ctl".to_string()),
1066 CPUFlags::Vmxentrynoloaddebugctl => cmd.push("vmx-entry-noload-debugctl".to_string()),
1067 CPUFlags::Vmxept => cmd.push("vmx-ept".to_string()),
1068 CPUFlags::Vmxept1gb => cmd.push("vmx-ept-1gb".to_string()),
1069 CPUFlags::Vmxept2mb => cmd.push("vmx-ept-2mb".to_string()),
1070 CPUFlags::Vmxeptadvancedexitinfo => cmd.push("vmx-ept-advanced-exitinfo".to_string()),
1071 CPUFlags::Vmxeptexeconly => cmd.push("vmx-ept-execonly".to_string()),
1072 CPUFlags::Vmxeptad => cmd.push("vmx-eptad".to_string()),
1073 CPUFlags::Vmxeptpswitching => cmd.push("vmx-eptp-switching".to_string()),
1074 CPUFlags::Vmxexitackintr => cmd.push("vmx-exit-ack-intr".to_string()),
1075 CPUFlags::Vmxexitclearbndcfgs => cmd.push("vmx-exit-clear-bndcfgs".to_string()),
1076 CPUFlags::Vmxexitclearrtitctl => cmd.push("vmx-exit-clear-rtit-ctl".to_string()),
1077 CPUFlags::Vmxexitloadefer => cmd.push("vmx-exit-load-efer".to_string()),
1078 CPUFlags::Vmxexitloadpat => cmd.push("vmx-exit-load-pat".to_string()),
1079 CPUFlags::Vmxexitloadperfglobalctrl => {
1080 cmd.push("vmx-exit-load-perf-global-ctrl".to_string())
1081 }
1082 CPUFlags::Vmxexitloadpkrs => cmd.push("vmx-exit-load-pkrs".to_string()),
1083 CPUFlags::Vmxexitnosavedebugctl => cmd.push("vmx-exit-nosave-debugctl".to_string()),
1084 CPUFlags::Vmxexitsaveefer => cmd.push("vmx-exit-save-efer".to_string()),
1085 CPUFlags::Vmxexitsavepat => cmd.push("vmx-exit-save-pat".to_string()),
1086 CPUFlags::Vmxexitsavepreemptiontimer => {
1087 cmd.push("vmx-exit-save-preemption-timer".to_string())
1088 }
1089 CPUFlags::Vmxexitsecondaryctls => cmd.push("vmx-exit-secondary-ctls".to_string()),
1090 CPUFlags::Vmxflexpriority => cmd.push("vmx-flexpriority".to_string()),
1091 CPUFlags::Vmxhltexit => cmd.push("vmx-hlt-exit".to_string()),
1092 CPUFlags::Vmxinsouts => cmd.push("vmx-ins-outs".to_string()),
1093 CPUFlags::Vmxintrexit => cmd.push("vmx-intr-exit".to_string()),
1094 CPUFlags::Vmxinvept => cmd.push("vmx-invept".to_string()),
1095 CPUFlags::Vmxinveptallcontext => cmd.push("vmx-invept-all-context".to_string()),
1096 CPUFlags::Vmxinveptsinglecontext => cmd.push("vmx-invept-single-context".to_string()),
1097 CPUFlags::Vmxinveptsinglecontextnoglobals => {
1098 cmd.push("vmx-invept-single-context-noglobals".to_string())
1099 }
1100 CPUFlags::Vmxinvlpgexit => cmd.push("vmx-invlpg-exit".to_string()),
1101 CPUFlags::Vmxinvpcidexit => cmd.push("vmx-invpcid-exit".to_string()),
1102 CPUFlags::Vmxinvvpid => cmd.push("vmx-invvpid".to_string()),
1103 CPUFlags::Vmxinvvpidallcontext => cmd.push("vmx-invvpid-all-context".to_string()),
1104 CPUFlags::Vmxinvvpidsingleaddr => cmd.push("vmx-invvpid-single-addr".to_string()),
1105 CPUFlags::Vmxiobitmap => cmd.push("vmx-io-bitmap".to_string()),
1106 CPUFlags::Vmxioexit => cmd.push("vmx-io-exit".to_string()),
1107 CPUFlags::Vmxmonitorexit => cmd.push("vmx-monitor-exit".to_string()),
1108 CPUFlags::Vmxmovdrexit => cmd.push("vmx-movdr-exit".to_string()),
1109 CPUFlags::Vmxmsrbitmap => cmd.push("vmx-msr-bitmap".to_string()),
1110 CPUFlags::Vmxmtf => cmd.push("vmx-mtf".to_string()),
1111 CPUFlags::Vmxmwaitexit => cmd.push("vmx-mwait-exit".to_string()),
1112 CPUFlags::Vmxnestedexception => cmd.push("vmx-nested-exception".to_string()),
1113 CPUFlags::Vmxnmiexit => cmd.push("vmx-nmi-exit".to_string()),
1114 CPUFlags::Vmxpagewalk4 => cmd.push("vmx-page-walk-4".to_string()),
1115 CPUFlags::Vmxpagewalk5 => cmd.push("vmx-page-walk-5".to_string()),
1116 CPUFlags::Vmxpauseexit => cmd.push("vmx-pause-exit".to_string()),
1117 CPUFlags::Vmxple => cmd.push("vmx-ple".to_string()),
1118 CPUFlags::Vmxpml => cmd.push("vmx-pml".to_string()),
1119 CPUFlags::Vmxpostedintr => cmd.push("vmx-posted-intr".to_string()),
1120 CPUFlags::Vmxpreemptiontimer => cmd.push("vmx-preemption-timer".to_string()),
1121 CPUFlags::Vmxrdpmcexit => cmd.push("vmx-rdpmc-exit".to_string()),
1122 CPUFlags::Vmxrdrandexit => cmd.push("vmx-rdrand-exit".to_string()),
1123 CPUFlags::Vmxrdseedexit => cmd.push("vmx-rdseed-exit".to_string()),
1124 CPUFlags::Vmxrdtscexit => cmd.push("vmx-rdtsc-exit".to_string()),
1125 CPUFlags::Vmxrdtscpexit => cmd.push("vmx-rdtscp-exit".to_string()),
1126 CPUFlags::Vmxsecondaryctls => cmd.push("vmx-secondary-ctls".to_string()),
1127 CPUFlags::VmxshadowVmcs => cmd.push("vmx-shadow-vmcs".to_string()),
1128 CPUFlags::Vmxstorelma => cmd.push("vmx-store-lma".to_string()),
1129 CPUFlags::Vmxtruectls => cmd.push("vmx-true-ctls".to_string()),
1130 CPUFlags::Vmxtscoffset => cmd.push("vmx-tsc-offset".to_string()),
1131 CPUFlags::Vmxtscscaling => cmd.push("vmx-tsc-scaling".to_string()),
1132 CPUFlags::Vmxunrestrictedguest => cmd.push("vmx-unrestricted-guest".to_string()),
1133 CPUFlags::VmxVintrpending => cmd.push("vmx-vintr-pending".to_string()),
1134 CPUFlags::VmxVmfunc => cmd.push("vmx-vmfunc".to_string()),
1135 CPUFlags::VmxVmwritevmexitfields => cmd.push("vmx-vmwrite-vmexit-fields".to_string()),
1136 CPUFlags::VmxVnmi => cmd.push("vmx-vnmi".to_string()),
1137 CPUFlags::VmxVnmipending => cmd.push("vmx-vnmi-pending".to_string()),
1138 CPUFlags::VmxVpid => cmd.push("vmx-vpid".to_string()),
1139 CPUFlags::Vmxwbinvdexit => cmd.push("vmx-wbinvd-exit".to_string()),
1140 CPUFlags::Vmxxsaves => cmd.push("vmx-xsaves".to_string()),
1141 CPUFlags::Vmxzeroleninject => cmd.push("vmx-zero-len-inject".to_string()),
1142 CPUFlags::Vnmi => cmd.push("vnmi".to_string()),
1143 CPUFlags::Vpclmulqdq => cmd.push("vpclmulqdq".to_string()),
1144 CPUFlags::Waitpkg => cmd.push("waitpkg".to_string()),
1145 CPUFlags::Wbnoinvd => cmd.push("wbnoinvd".to_string()),
1146 CPUFlags::Wdt => cmd.push("wdt".to_string()),
1147 CPUFlags::Wrmsrns => cmd.push("wrmsrns".to_string()),
1148 CPUFlags::X2apic => cmd.push("x2apic".to_string()),
1149 CPUFlags::Xcrypt => cmd.push("xcrypt".to_string()),
1150 CPUFlags::Xcrypten => cmd.push("xcrypt-en".to_string()),
1151 CPUFlags::Xfd => cmd.push("xfd".to_string()),
1152 CPUFlags::Xgetbv1 => cmd.push("xgetbv1".to_string()),
1153 CPUFlags::Xop => cmd.push("xop".to_string()),
1154 CPUFlags::Xsave => cmd.push("xsave".to_string()),
1155 CPUFlags::Xsavec => cmd.push("xsavec".to_string()),
1156 CPUFlags::Xsaveerptr => cmd.push("xsaveerptr".to_string()),
1157 CPUFlags::Xsaveopt => cmd.push("xsaveopt".to_string()),
1158 CPUFlags::Xsaves => cmd.push("xsaves".to_string()),
1159 CPUFlags::Xstore => cmd.push("xstore".to_string()),
1160 CPUFlags::Xstoreen => cmd.push("xstore-en".to_string()),
1161 CPUFlags::Xtpr => cmd.push("xtpr".to_string()),
1162 CPUFlags::Zerofcsfds => cmd.push("zero-fcs-fds".to_string()),
1163 }
1164 cmd
1165 }
1166}
1167
1168impl ToArg for CPUFlags {
1169 fn to_arg(&self) -> &str {
1170 match self {
1171 CPUFlags::X3dnow => "3dnow",
1172 CPUFlags::X3dnowext => "3dnowext",
1173 CPUFlags::X3dnowprefetch => "3dnowprefetch",
1174 CPUFlags::Abm => "abm",
1175 CPUFlags::Ace2 => "ace2",
1176 CPUFlags::Ace2en => "ace2-en",
1177 CPUFlags::Acpi => "acpi",
1178 CPUFlags::Adx => "adx",
1179 CPUFlags::Aes => "aes",
1180 CPUFlags::Amdnossb => "amd-no-ssb",
1181 CPUFlags::Amdpsfd => "amd-psfd",
1182 CPUFlags::Amdssbd => "amd-ssbd",
1183 CPUFlags::Amdstibp => "amd-stibp",
1184 CPUFlags::Amxbf16 => "amx-bf16",
1185 CPUFlags::Amxcomplex => "amx-complex",
1186 CPUFlags::Amxfp16 => "amx-fp16",
1187 CPUFlags::Amxint8 => "amx-int8",
1188 CPUFlags::Amxtile => "amx-tile",
1189 CPUFlags::Apic => "apic",
1190 CPUFlags::Arat => "arat",
1191 CPUFlags::Archcapabilities => "arch-capabilities",
1192 CPUFlags::Archlbr => "arch-lbr",
1193 CPUFlags::Autoibrs => "auto-ibrs",
1194 CPUFlags::Avic => "avic",
1195 CPUFlags::Avx => "avx",
1196 CPUFlags::Avxifma => "avx-ifma",
1197 CPUFlags::Avxneconvert => "avx-ne-convert",
1198 CPUFlags::AvxVnni => "avx-vnni",
1199 CPUFlags::AvxVnniint16 => "avx-vnni-int16",
1200 CPUFlags::AvxVnniint8 => "avx-vnni-int8",
1201 CPUFlags::Avx10 => "avx10",
1202 CPUFlags::Avx10128 => "avx10-128",
1203 CPUFlags::Avx10256 => "avx10-256",
1204 CPUFlags::Avx10512 => "avx10-512",
1205 CPUFlags::Avx2 => "avx2",
1206 CPUFlags::Avx5124fmaps => "avx512-4fmaps",
1207 CPUFlags::Avx5124vnniw => "avx512-4vnniw",
1208 CPUFlags::Avx512bf16 => "avx512-bf16",
1209 CPUFlags::Avx512fp16 => "avx512-fp16",
1210 CPUFlags::Avx512Vp2intersect => "avx512-vp2intersect",
1211 CPUFlags::Avx512Vpopcntdq => "avx512-vpopcntdq",
1212 CPUFlags::Avx512bitalg => "avx512bitalg",
1213 CPUFlags::Avx512bw => "avx512bw",
1214 CPUFlags::Avx512cd => "avx512cd",
1215 CPUFlags::Avx512dq => "avx512dq",
1216 CPUFlags::Avx512er => "avx512er",
1217 CPUFlags::Avx512f => "avx512f",
1218 CPUFlags::Avx512ifma => "avx512ifma",
1219 CPUFlags::Avx512pf => "avx512pf",
1220 CPUFlags::Avx512vbmi => "avx512vbmi",
1221 CPUFlags::Avx512vbmi2 => "avx512vbmi2",
1222 CPUFlags::Avx512vl => "avx512vl",
1223 CPUFlags::Avx512vnni => "avx512vnni",
1224 CPUFlags::Bhictrl => "bhi-ctrl",
1225 CPUFlags::Bhino => "bhi-no",
1226 CPUFlags::Bmi1 => "bmi1",
1227 CPUFlags::Bmi2 => "bmi2",
1228 CPUFlags::Buslockdetect => "bus-lock-detect",
1229 CPUFlags::Cid => "cid",
1230 CPUFlags::Cldemote => "cldemote",
1231 CPUFlags::Clflush => "clflush",
1232 CPUFlags::Clflushopt => "clflushopt",
1233 CPUFlags::Clwb => "clwb",
1234 CPUFlags::Clzero => "clzero",
1235 CPUFlags::Cmov => "cmov",
1236 CPUFlags::Cmplegacy => "cmp-legacy",
1237 CPUFlags::Cmpccxadd => "cmpccxadd",
1238 CPUFlags::Corecapability => "core-capability",
1239 CPUFlags::Cr8legacy => "cr8legacy",
1240 CPUFlags::Cx16 => "cx16",
1241 CPUFlags::Cx8 => "cx8",
1242 CPUFlags::Dca => "dca",
1243 CPUFlags::Ddpdu => "ddpd-u",
1244 CPUFlags::De => "de",
1245 CPUFlags::Decodeassists => "decodeassists",
1246 CPUFlags::Ds => "ds",
1247 CPUFlags::Dscpl => "ds-cpl",
1248 CPUFlags::Dtes64 => "dtes64",
1249 CPUFlags::Eraps => "eraps",
1250 CPUFlags::Erms => "erms",
1251 CPUFlags::Est => "est",
1252 CPUFlags::Extapic => "extapic",
1253 CPUFlags::F16c => "f16c",
1254 CPUFlags::Fbclear => "fb-clear",
1255 CPUFlags::Fbsdpno => "fbsdp-no",
1256 CPUFlags::Fdpexcptnonly => "fdp-excptn-only",
1257 CPUFlags::Flushl1d => "flush-l1d",
1258 CPUFlags::Flushbyasid => "flushbyasid",
1259 CPUFlags::Fma => "fma",
1260 CPUFlags::Fma4 => "fma4",
1261 CPUFlags::Fpu => "fpu",
1262 CPUFlags::Fred => "fred",
1263 CPUFlags::Fsgsbase => "fsgsbase",
1264 CPUFlags::Fsrc => "fsrc",
1265 CPUFlags::Fsrm => "fsrm",
1266 CPUFlags::Fsrs => "fsrs",
1267 CPUFlags::Fullwidthwrite => "full-width-write",
1268 CPUFlags::Fxsr => "fxsr",
1269 CPUFlags::Fxsropt => "fxsr-opt",
1270 CPUFlags::Fzrm => "fzrm",
1271 CPUFlags::Gdsno => "gds-no",
1272 CPUFlags::Gfni => "gfni",
1273 CPUFlags::Hle => "hle",
1274 CPUFlags::Ht => "ht",
1275 CPUFlags::Hypervisor => "hypervisor",
1276 CPUFlags::Ia64 => "ia64",
1277 CPUFlags::Ibpb => "ibpb",
1278 CPUFlags::Ibpbbrtype => "ibpb-brtype",
1279 CPUFlags::Ibrs => "ibrs",
1280 CPUFlags::Ibrsall => "ibrs-all",
1281 CPUFlags::Ibs => "ibs",
1282 CPUFlags::Intelpsfd => "intel-psfd",
1283 CPUFlags::Intelpt => "intel-pt",
1284 CPUFlags::Intelptlip => "intel-pt-lip",
1285 CPUFlags::Invpcid => "invpcid",
1286 CPUFlags::Invtsc => "invtsc",
1287 CPUFlags::Ipredctrl => "ipred-ctrl",
1288 CPUFlags::Kvmasyncpf => "kvm-asyncpf",
1289 CPUFlags::Kvmasyncpfint => "kvm-asyncpf-int",
1290 CPUFlags::KvmasyncpfVmexit => "kvm-asyncpf-vmexit",
1291 CPUFlags::Kvmhintdedicated => "kvm-hint-dedicated",
1292 CPUFlags::Kvmmmu => "kvm-mmu",
1293 CPUFlags::Kvmmsiextdestid => "kvm-msi-ext-dest-id",
1294 CPUFlags::Kvmnopiodelay => "kvm-nopiodelay",
1295 CPUFlags::Kvmpollcontrol => "kvm-poll-control",
1296 CPUFlags::Kvmpveoi => "kvm-pv-eoi",
1297 CPUFlags::Kvmpvipi => "kvm-pv-ipi",
1298 CPUFlags::Kvmpvschedyield => "kvm-pv-sched-yield",
1299 CPUFlags::Kvmpvtlbflush => "kvm-pv-tlb-flush",
1300 CPUFlags::Kvmpvunhalt => "kvm-pv-unhalt",
1301 CPUFlags::Kvmstealtime => "kvm-steal-time",
1302 CPUFlags::Kvmclock => "kvmclock",
1303 CPUFlags::Kvmclockstablebit => "kvmclock-stable-bit",
1304 CPUFlags::La57 => "la57",
1305 CPUFlags::Lahflm => "lahf-lm",
1306 CPUFlags::Lam => "lam",
1307 CPUFlags::Lbrv => "lbrv",
1308 CPUFlags::Lfencealwaysserializing => "lfence-always-serializing",
1309 CPUFlags::Lkgs => "lkgs",
1310 CPUFlags::Lm => "lm",
1311 CPUFlags::Lwp => "lwp",
1312 CPUFlags::Mca => "mca",
1313 CPUFlags::Mcdtno => "mcdt-no",
1314 CPUFlags::Mce => "mce",
1315 CPUFlags::Mdclear => "md-clear",
1316 CPUFlags::Mdsno => "mds-no",
1317 CPUFlags::Misalignsse => "misalignsse",
1318 CPUFlags::Mmx => "mmx",
1319 CPUFlags::Mmxext => "mmxext",
1320 CPUFlags::Monitor => "monitor",
1321 CPUFlags::Movbe => "movbe",
1322 CPUFlags::Movdir64b => "movdir64b",
1323 CPUFlags::Movdiri => "movdiri",
1324 CPUFlags::Mpx => "mpx",
1325 CPUFlags::Msr => "msr",
1326 CPUFlags::Mtrr => "mtrr",
1327 CPUFlags::Nonesteddatabp => "no-nested-data-bp",
1328 CPUFlags::Nodeidmsr => "nodeid-msr",
1329 CPUFlags::Npt => "npt",
1330 CPUFlags::Nripsave => "nrip-save",
1331 CPUFlags::Nullselclrbase => "null-sel-clr-base",
1332 CPUFlags::Nx => "nx",
1333 CPUFlags::Osvw => "osvw",
1334 CPUFlags::Overflowrecov => "overflow-recov",
1335 CPUFlags::Pae => "pae",
1336 CPUFlags::Pat => "pat",
1337 CPUFlags::Pausefilter => "pause-filter",
1338 CPUFlags::Pbe => "pbe",
1339 CPUFlags::Pbrsbno => "pbrsb-no",
1340 CPUFlags::Pcid => "pcid",
1341 CPUFlags::Pclmulqdq => "pclmulqdq",
1342 CPUFlags::Pcommit => "pcommit",
1343 CPUFlags::Pdcm => "pdcm",
1344 CPUFlags::Pdpe1gb => "pdpe1gb",
1345 CPUFlags::Perfctrcore => "perfctr-core",
1346 CPUFlags::Perfctrnb => "perfctr-nb",
1347 CPUFlags::PerfmonV2 => "perfmon-v2",
1348 CPUFlags::Pfthreshold => "pfthreshold",
1349 CPUFlags::Pge => "pge",
1350 CPUFlags::Phe => "phe",
1351 CPUFlags::Pheen => "phe-en",
1352 CPUFlags::Pks => "pks",
1353 CPUFlags::Pku => "pku",
1354 CPUFlags::Pmm => "pmm",
1355 CPUFlags::Pmmen => "pmm-en",
1356 CPUFlags::Pn => "pn",
1357 CPUFlags::Pni => "pni",
1358 CPUFlags::Popcnt => "popcnt",
1359 CPUFlags::Prefetchiti => "prefetchiti",
1360 CPUFlags::Pschangemcno => "pschange-mc-no",
1361 CPUFlags::Psdpno => "psdp-no",
1362 CPUFlags::Pse => "pse",
1363 CPUFlags::Pse36 => "pse36",
1364 CPUFlags::Rdctlno => "rdctl-no",
1365 CPUFlags::Rdpid => "rdpid",
1366 CPUFlags::Rdrand => "rdrand",
1367 CPUFlags::Rdseed => "rdseed",
1368 CPUFlags::Rdtscp => "rdtscp",
1369 CPUFlags::Rfdsclear => "rfds-clear",
1370 CPUFlags::Rfdsno => "rfds-no",
1371 CPUFlags::Rrsbactrl => "rrsba-ctrl",
1372 CPUFlags::Rsba => "rsba",
1373 CPUFlags::Rtm => "rtm",
1374 CPUFlags::Sbdrssdpno => "sbdr-ssdp-no",
1375 CPUFlags::Sbpb => "sbpb",
1376 CPUFlags::Sep => "sep",
1377 CPUFlags::Serialize => "serialize",
1378 CPUFlags::Sgx => "sgx",
1379 CPUFlags::Sgxaexnotify => "sgx-aex-notify",
1380 CPUFlags::Sgxdebug => "sgx-debug",
1381 CPUFlags::Sgxedeccssa => "sgx-edeccssa",
1382 CPUFlags::Sgxexinfo => "sgx-exinfo",
1383 CPUFlags::Sgxkss => "sgx-kss",
1384 CPUFlags::Sgxmode64 => "sgx-mode64",
1385 CPUFlags::Sgxprovisionkey => "sgx-provisionkey",
1386 CPUFlags::Sgxtokenkey => "sgx-tokenkey",
1387 CPUFlags::Sgx1 => "sgx1",
1388 CPUFlags::Sgx2 => "sgx2",
1389 CPUFlags::Sgxlc => "sgxlc",
1390 CPUFlags::Shani => "sha-ni",
1391 CPUFlags::Sha512 => "sha512",
1392 CPUFlags::Skinit => "skinit",
1393 CPUFlags::Skipl1dflVmentry => "skip-l1dfl-vmentry",
1394 CPUFlags::Sm3 => "sm3",
1395 CPUFlags::Sm4 => "sm4",
1396 CPUFlags::Smap => "smap",
1397 CPUFlags::Smep => "smep",
1398 CPUFlags::Smx => "smx",
1399 CPUFlags::Specctrl => "spec-ctrl",
1400 CPUFlags::Splitlockdetect => "split-lock-detect",
1401 CPUFlags::Srsono => "srso-no",
1402 CPUFlags::Srsouserkernelno => "srso-user-kernel-no",
1403 CPUFlags::Ss => "ss",
1404 CPUFlags::Ssbno => "ssb-no",
1405 CPUFlags::Ssbd => "ssbd",
1406 CPUFlags::Sse => "sse",
1407 CPUFlags::Sse2 => "sse2",
1408 CPUFlags::Sse4_1 => "sse4.1",
1409 CPUFlags::Sse4_2 => "sse4.2",
1410 CPUFlags::Sse4a => "sse4a",
1411 CPUFlags::Ssse3 => "ssse3",
1412 CPUFlags::Stibp => "stibp",
1413 CPUFlags::Stibpalwayson => "stibp-always-on",
1414 CPUFlags::Succor => "succor",
1415 CPUFlags::Svm => "svm",
1416 CPUFlags::Svmlock => "svm-lock",
1417 CPUFlags::Svmeaddrchk => "svme-addr-chk",
1418 CPUFlags::Syscall => "syscall",
1419 CPUFlags::Taano => "taa-no",
1420 CPUFlags::Tbm => "tbm",
1421 CPUFlags::Tce => "tce",
1422 CPUFlags::Tm => "tm",
1423 CPUFlags::Tm2 => "tm2",
1424 CPUFlags::Topoext => "topoext",
1425 CPUFlags::Tsc => "tsc",
1426 CPUFlags::Tscadjust => "tsc-adjust",
1427 CPUFlags::Tscdeadline => "tsc-deadline",
1428 CPUFlags::Tscscale => "tsc-scale",
1429 CPUFlags::Tsxctrl => "tsx-ctrl",
1430 CPUFlags::Tsxldtrk => "tsx-ldtrk",
1431 CPUFlags::Umip => "umip",
1432 CPUFlags::VVmsavevmload => "v-vmsave-vmload",
1433 CPUFlags::Vaes => "vaes",
1434 CPUFlags::Vgif => "vgif",
1435 CPUFlags::Virtssbd => "virt-ssbd",
1436 CPUFlags::Vmcbclean => "vmcb-clean",
1437 CPUFlags::Vme => "vme",
1438 CPUFlags::Vmx => "vmx",
1439 CPUFlags::Vmxactivityhlt => "vmx-activity-hlt",
1440 CPUFlags::Vmxactivityshutdown => "vmx-activity-shutdown",
1441 CPUFlags::Vmxactivitywaitsipi => "vmx-activity-wait-sipi",
1442 CPUFlags::Vmxanyerrcode => "vmx-any-errcode",
1443 CPUFlags::Vmxapicvregister => "vmx-apicv-register",
1444 CPUFlags::VmxapicvVid => "vmx-apicv-vid",
1445 CPUFlags::Vmxapicvx2apic => "vmx-apicv-x2apic",
1446 CPUFlags::Vmxapicvxapic => "vmx-apicv-xapic",
1447 CPUFlags::Vmxcr3loadnoexit => "vmx-cr3-load-noexit",
1448 CPUFlags::Vmxcr3storenoexit => "vmx-cr3-store-noexit",
1449 CPUFlags::Vmxcr8loadexit => "vmx-cr8-load-exit",
1450 CPUFlags::Vmxcr8storeexit => "vmx-cr8-store-exit",
1451 CPUFlags::Vmxdescexit => "vmx-desc-exit",
1452 CPUFlags::Vmxenableuserwaitpause => "vmx-enable-user-wait-pause",
1453 CPUFlags::Vmxenclsexit => "vmx-encls-exit",
1454 CPUFlags::Vmxentryia32emode => "vmx-entry-ia32e-mode",
1455 CPUFlags::Vmxentryloadbndcfgs => "vmx-entry-load-bndcfgs",
1456 CPUFlags::Vmxentryloadefer => "vmx-entry-load-efer",
1457 CPUFlags::Vmxentryloadfred => "vmx-entry-load-fred",
1458 CPUFlags::Vmxentryloadpat => "vmx-entry-load-pat",
1459 CPUFlags::Vmxentryloadperfglobalctrl => "vmx-entry-load-perf-global-ctrl",
1460 CPUFlags::Vmxentryloadpkrs => "vmx-entry-load-pkrs",
1461 CPUFlags::Vmxentryloadrtitctl => "vmx-entry-load-rtit-ctl",
1462 CPUFlags::Vmxentrynoloaddebugctl => "vmx-entry-noload-debugctl",
1463 CPUFlags::Vmxept => "vmx-ept",
1464 CPUFlags::Vmxept1gb => "vmx-ept-1gb",
1465 CPUFlags::Vmxept2mb => "vmx-ept-2mb",
1466 CPUFlags::Vmxeptadvancedexitinfo => "vmx-ept-advanced-exitinfo",
1467 CPUFlags::Vmxeptexeconly => "vmx-ept-execonly",
1468 CPUFlags::Vmxeptad => "vmx-eptad",
1469 CPUFlags::Vmxeptpswitching => "vmx-eptp-switching",
1470 CPUFlags::Vmxexitackintr => "vmx-exit-ack-intr",
1471 CPUFlags::Vmxexitclearbndcfgs => "vmx-exit-clear-bndcfgs",
1472 CPUFlags::Vmxexitclearrtitctl => "vmx-exit-clear-rtit-ctl",
1473 CPUFlags::Vmxexitloadefer => "vmx-exit-load-efer",
1474 CPUFlags::Vmxexitloadpat => "vmx-exit-load-pat",
1475 CPUFlags::Vmxexitloadperfglobalctrl => "vmx-exit-load-perf-global-ctrl",
1476 CPUFlags::Vmxexitloadpkrs => "vmx-exit-load-pkrs",
1477 CPUFlags::Vmxexitnosavedebugctl => "vmx-exit-nosave-debugctl",
1478 CPUFlags::Vmxexitsaveefer => "vmx-exit-save-efer",
1479 CPUFlags::Vmxexitsavepat => "vmx-exit-save-pat",
1480 CPUFlags::Vmxexitsavepreemptiontimer => "vmx-exit-save-preemption-timer",
1481 CPUFlags::Vmxexitsecondaryctls => "vmx-exit-secondary-ctls",
1482 CPUFlags::Vmxflexpriority => "vmx-flexpriority",
1483 CPUFlags::Vmxhltexit => "vmx-hlt-exit",
1484 CPUFlags::Vmxinsouts => "vmx-ins-outs",
1485 CPUFlags::Vmxintrexit => "vmx-intr-exit",
1486 CPUFlags::Vmxinvept => "vmx-invept",
1487 CPUFlags::Vmxinveptallcontext => "vmx-invept-all-context",
1488 CPUFlags::Vmxinveptsinglecontext => "vmx-invept-single-context",
1489 CPUFlags::Vmxinveptsinglecontextnoglobals => "vmx-invept-single-context-noglobals",
1490 CPUFlags::Vmxinvlpgexit => "vmx-invlpg-exit",
1491 CPUFlags::Vmxinvpcidexit => "vmx-invpcid-exit",
1492 CPUFlags::Vmxinvvpid => "vmx-invvpid",
1493 CPUFlags::Vmxinvvpidallcontext => "vmx-invvpid-all-context",
1494 CPUFlags::Vmxinvvpidsingleaddr => "vmx-invvpid-single-addr",
1495 CPUFlags::Vmxiobitmap => "vmx-io-bitmap",
1496 CPUFlags::Vmxioexit => "vmx-io-exit",
1497 CPUFlags::Vmxmonitorexit => "vmx-monitor-exit",
1498 CPUFlags::Vmxmovdrexit => "vmx-movdr-exit",
1499 CPUFlags::Vmxmsrbitmap => "vmx-msr-bitmap",
1500 CPUFlags::Vmxmtf => "vmx-mtf",
1501 CPUFlags::Vmxmwaitexit => "vmx-mwait-exit",
1502 CPUFlags::Vmxnestedexception => "vmx-nested-exception",
1503 CPUFlags::Vmxnmiexit => "vmx-nmi-exit",
1504 CPUFlags::Vmxpagewalk4 => "vmx-page-walk-4",
1505 CPUFlags::Vmxpagewalk5 => "vmx-page-walk-5",
1506 CPUFlags::Vmxpauseexit => "vmx-pause-exit",
1507 CPUFlags::Vmxple => "vmx-ple",
1508 CPUFlags::Vmxpml => "vmx-pml",
1509 CPUFlags::Vmxpostedintr => "vmx-posted-intr",
1510 CPUFlags::Vmxpreemptiontimer => "vmx-preemption-timer",
1511 CPUFlags::Vmxrdpmcexit => "vmx-rdpmc-exit",
1512 CPUFlags::Vmxrdrandexit => "vmx-rdrand-exit",
1513 CPUFlags::Vmxrdseedexit => "vmx-rdseed-exit",
1514 CPUFlags::Vmxrdtscexit => "vmx-rdtsc-exit",
1515 CPUFlags::Vmxrdtscpexit => "vmx-rdtscp-exit",
1516 CPUFlags::Vmxsecondaryctls => "vmx-secondary-ctls",
1517 CPUFlags::VmxshadowVmcs => "vmx-shadow-vmcs",
1518 CPUFlags::Vmxstorelma => "vmx-store-lma",
1519 CPUFlags::Vmxtruectls => "vmx-true-ctls",
1520 CPUFlags::Vmxtscoffset => "vmx-tsc-offset",
1521 CPUFlags::Vmxtscscaling => "vmx-tsc-scaling",
1522 CPUFlags::Vmxunrestrictedguest => "vmx-unrestricted-guest",
1523 CPUFlags::VmxVintrpending => "vmx-vintr-pending",
1524 CPUFlags::VmxVmfunc => "vmx-vmfunc",
1525 CPUFlags::VmxVmwritevmexitfields => "vmx-vmwrite-vmexit-fields",
1526 CPUFlags::VmxVnmi => "vmx-vnmi",
1527 CPUFlags::VmxVnmipending => "vmx-vnmi-pending",
1528 CPUFlags::VmxVpid => "vmx-vpid",
1529 CPUFlags::Vmxwbinvdexit => "vmx-wbinvd-exit",
1530 CPUFlags::Vmxxsaves => "vmx-xsaves",
1531 CPUFlags::Vmxzeroleninject => "vmx-zero-len-inject",
1532 CPUFlags::Vnmi => "vnmi",
1533 CPUFlags::Vpclmulqdq => "vpclmulqdq",
1534 CPUFlags::Waitpkg => "waitpkg",
1535 CPUFlags::Wbnoinvd => "wbnoinvd",
1536 CPUFlags::Wdt => "wdt",
1537 CPUFlags::Wrmsrns => "wrmsrns",
1538 CPUFlags::X2apic => "x2apic",
1539 CPUFlags::Xcrypt => "xcrypt",
1540 CPUFlags::Xcrypten => "xcrypt-en",
1541 CPUFlags::Xfd => "xfd",
1542 CPUFlags::Xgetbv1 => "xgetbv1",
1543 CPUFlags::Xop => "xop",
1544 CPUFlags::Xsave => "xsave",
1545 CPUFlags::Xsavec => "xsavec",
1546 CPUFlags::Xsaveerptr => "xsaveerptr",
1547 CPUFlags::Xsaveopt => "xsaveopt",
1548 CPUFlags::Xsaves => "xsaves",
1549 CPUFlags::Xstore => "xstore",
1550 CPUFlags::Xstoreen => "xstore-en",
1551 CPUFlags::Xtpr => "xtpr",
1552 CPUFlags::Zerofcsfds => "zero-fcs-fds",
1553 }
1554 }
1555}