Skip to content

Commit 2f146e9

Browse files
committed
introduce X86_FEATURES for linux glibc/musl
Closes #2929
1 parent dc3084a commit 2f146e9

File tree

3 files changed

+725
-0
lines changed

3 files changed

+725
-0
lines changed

libc-test/build.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3117,6 +3117,12 @@ fn test_linux(target: &str) {
31173117
return true;
31183118
}
31193119
}
3120+
if musl || gnu {
3121+
if name.starts_with("X86_FEATURE_")
3122+
{
3123+
return true;
3124+
}
3125+
}
31203126
match name {
31213127
// These constants are not available if gnu headers have been included
31223128
// and can therefore not be tested here

src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs

Lines changed: 359 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -801,6 +801,365 @@ pub const REG_TRAPNO: ::c_int = 20;
801801
pub const REG_OLDMASK: ::c_int = 21;
802802
pub const REG_CR2: ::c_int = 22;
803803

804+
// getauxval bits flags
805+
pub const X86_FEATURE_FPU: ::c_ulong = 0;
806+
pub const X86_FEATURE_VME: ::c_ulong = 1;
807+
pub const X86_FEATURE_DE: ::c_ulong = 2;
808+
pub const X86_FEATURE_PSE: ::c_ulong = 3;
809+
pub const X86_FEATURE_TSC: ::c_ulong = 4;
810+
pub const X86_FEATURE_MSR: ::c_ulong = 5;
811+
pub const X86_FEATURE_PAE: ::c_ulong = 6;
812+
pub const X86_FEATURE_MCE: ::c_ulong = 7;
813+
pub const X86_FEATURE_CX8: ::c_ulong = 8;
814+
pub const X86_FEATURE_APIC: ::c_ulong = 9;
815+
pub const X86_FEATURE_SEP: ::c_ulong = 11;
816+
pub const X86_FEATURE_MTRR: ::c_ulong = 12;
817+
pub const X86_FEATURE_PGE: ::c_ulong = 13;
818+
pub const X86_FEATURE_MCA: ::c_ulong = 14;
819+
pub const X86_FEATURE_CMOV: ::c_ulong = 15;
820+
pub const X86_FEATURE_PAT: ::c_ulong = 16;
821+
pub const X86_FEATURE_PSE36: ::c_ulong = 17;
822+
pub const X86_FEATURE_PN: ::c_ulong = 18;
823+
pub const X86_FEATURE_CLFLUSH: ::c_ulong = 19;
824+
pub const X86_FEATURE_DS: ::c_ulong = 21;
825+
pub const X86_FEATURE_ACPI: ::c_ulong = 22;
826+
pub const X86_FEATURE_MMX: ::c_ulong = 23;
827+
pub const X86_FEATURE_FXSR: ::c_ulong = 24;
828+
pub const X86_FEATURE_XMM: ::c_ulong = 25;
829+
pub const X86_FEATURE_XMM2: ::c_ulong = 26;
830+
pub const X86_FEATURE_SELF_NOOP: ::c_ulong = 27;
831+
pub const X86_FEATURE_SELF_HT: ::c_ulong = 28;
832+
pub const X86_FEATURE_SELF_ACC: ::c_ulong = 29;
833+
pub const X86_FEATURE_SELF_IA64: ::c_ulong = 30;
834+
pub const X86_FEATURE_SELF_PBE: ::c_ulong = 31;
835+
836+
pub const X86_FEATURE_SYSCALL: ::c_ulong = 32 + 11;
837+
pub const X86_FEATURE_MP: ::c_ulong = 32 + 19;
838+
pub const X86_FEATURE_NX: ::c_ulong = 32 + 20;
839+
pub const X86_FEATURE_MMEXT: ::c_ulong = 32 + 22;
840+
pub const X86_FEATURE_FXSR_OPT: ::c_ulong = 32 + 25;
841+
pub const X86_FEATURE_GBPAGES: ::c_ulong = 32 + 26;
842+
pub const X86_FEATURE_RDTSCP: ::c_ulong = 32 + 27;
843+
pub const X86_FEATURE_LM: ::c_ulong = 32 + 29;
844+
pub const X86_FEATURE_3DNOWEXT: ::c_ulong = 32 + 30;
845+
pub const X86_FEATURE_3DNOW: ::c_ulong = 32 + 31;
846+
847+
pub const X86_FEATURE_RECOVERY: ::c_ulong = 64 + 0;
848+
pub const X86_FEATURE_LONGRUN: ::c_ulong = 64 + 1;
849+
pub const X86_FEATURE_LRTI: ::c_ulong = 64 + 3;
850+
851+
pub const X86_FEATURE_CMXX: ::c_ulong = 96 + 0;
852+
pub const X86_FEATURE_K8_MTRR: ::c_ulong = 96 + 1;
853+
pub const X86_FEATURE_CYRIX_ARR: ::c_ulong = 96 + 2;
854+
pub const X86_FEATURE_CENTAUR_MCR: ::c_ulong = 96 + 3;
855+
856+
pub const X86_FEATURE_K8: ::c_ulong = 96 + 4;
857+
pub const X86_FEATURE_P3: ::c_ulong = 96 + 6;
858+
pub const X86_FEATURE_P4: ::c_ulong = 96 + 7;
859+
pub const X86_FEATURE_CONSTANT_TSC: ::c_ulong = 96 + 8;
860+
pub const X86_FEATURE_UP: ::c_ulong = 96 + 9;
861+
pub const X86_FEATURE_ART: ::c_ulong = 96 + 10;
862+
pub const X86_FEATURE_ARCH_PERFMON: ::c_ulong = 96 + 11;
863+
pub const X86_FEATURE_PEBS: ::c_ulong = 96 + 12;
864+
pub const X86_FEATURE_BTS: ::c_ulong = 96 + 13;
865+
pub const X86_FEATURE_SYSCALL32: ::c_ulong = 96 + 14;
866+
pub const X86_FEATURE_SYSENTER32: ::c_ulong = 96 + 15;
867+
pub const X86_FEATURE_REP_GOOD: ::c_ulong = 96 + 16;
868+
pub const X86_FEATURE_LFENCE_RDTSC: ::c_ulong = 96 + 18;
869+
pub const X86_FEATURE_ACC_POWER: ::c_ulong = 96 + 19;
870+
pub const X86_FEATURE_NOPL: ::c_ulong = 96 + 20;
871+
pub const X86_FEATURE_ALWAYS: ::c_ulong = 96 + 21;
872+
pub const X86_FEATURE_XTOPOLOGY: ::c_ulong = 96 + 22;
873+
pub const X86_FEATURE_TSC_RELIABLE: ::c_ulong = 96 + 23;
874+
pub const X86_FEATURE_NONSTOP_TSC: ::c_ulong = 96 + 24;
875+
pub const X86_FEATURE_CPUID: ::c_ulong = 96 + 25;
876+
pub const X86_FEATURE_EXTD_APICID: ::c_ulong = 96 + 26;
877+
pub const X86_FEATURE_AMD_DCM: ::c_ulong = 96 + 27;
878+
pub const X86_FEATURE_APERFMPERF: ::c_ulong = 96 + 28;
879+
pub const X86_FEATURE_RAPL: ::c_ulong = 96 + 29;
880+
pub const X86_FEATURE_NONSTOP_TSC_S3: ::c_ulong = 96 + 30;
881+
pub const X86_FEATURE_TSC_KNOWN_FREQ: ::c_ulong = 96 + 31;
882+
883+
pub const X86_FEATURE_XMM3: ::c_ulong = 128 + 0;
884+
pub const X86_FEATURE_PCLMULQDQ: ::c_ulong = 128 + 1;
885+
pub const X86_FEATURE_DTES64: ::c_ulong = 128 + 2;
886+
pub const X86_FEATURE_MWAIT: ::c_ulong = 128 + 3;
887+
pub const X86_FEATURE_DSPCL: ::c_ulong = 128 + 4;
888+
pub const X86_FEATURE_VMX: ::c_ulong = 128 + 5;
889+
pub const X86_FEATURE_SMX: ::c_ulong = 128 + 6;
890+
pub const X86_FEATURE_EST: ::c_ulong = 128 + 7;
891+
pub const X86_FEATURE_TM2: ::c_ulong = 128 + 8;
892+
pub const X86_FEATURE_SSSE3: ::c_ulong = 128 + 9;
893+
pub const X86_FEATURE_CID: ::c_ulong = 128 + 10;
894+
pub const X86_FEATURE_SDBG: ::c_ulong = 128 + 11;
895+
pub const X86_FEATURE_FMA: ::c_ulong = 128 + 12;
896+
pub const X86_FEATURE_CX16: ::c_ulong = 128 + 13;
897+
pub const X86_FEATURE_XTPR: ::c_ulong = 128 + 14;
898+
pub const X86_FEATURE_PDCM: ::c_ulong = 128 + 15;
899+
pub const X86_FEATURE_PCDI: ::c_ulong = 128 + 17;
900+
pub const X86_FEATURE_DCA: ::c_ulong = 128 + 18;
901+
pub const X86_FEATURE_XMM4_1: ::c_ulong = 128 + 19;
902+
pub const X86_FEATURE_XMM4_2: ::c_ulong = 128 + 20;
903+
pub const X86_FEATURE_X2APIC: ::c_ulong = 128 + 21;
904+
pub const X86_FEATURE_MOVBE: ::c_ulong = 128 + 22;
905+
pub const X86_FEATURE_POPCNT: ::c_ulong = 128 + 23;
906+
pub const X86_FEATURE_TSC_DEADLINE_TIMER: ::c_ulong = 128 + 24;
907+
pub const X86_FEATURE_AES: ::c_ulong = 128 + 25;
908+
pub const X86_FEATURE_XSAVE: ::c_ulong = 128 + 26;
909+
pub const X86_FEATURE_OSXSAVE: ::c_ulong = 128 + 27;
910+
pub const X86_FEATURE_AVX: ::c_ulong = 128 + 28;
911+
pub const X86_FEATURE_F16C: ::c_ulong = 128 + 29;
912+
pub const X86_FEATURE_RDRAND: ::c_ulong = 128 + 30;
913+
pub const X86_FEATURE_HYPERVISOR: ::c_ulong = 128 + 31;
914+
915+
pub const X86_FEATURE_XSTORE: ::c_ulong = 160 + 2;
916+
pub const X86_FEATURE_XSTORE_EN: ::c_ulong = 160 + 3;
917+
pub const X86_FEATURE_XCRYPT: ::c_ulong = 160 + 6;
918+
pub const X86_FEATURE_XCRYPT_EN: ::c_ulong = 160 + 7;
919+
pub const X86_FEATURE_ACE2: ::c_ulong = 160 + 8;
920+
pub const X86_FEATURE_ACE2_EN: ::c_ulong = 160 + 9;
921+
pub const X86_FEATURE_PHE: ::c_ulong = 160 + 10;
922+
pub const X86_FEATURE_PHE_EN: ::c_ulong = 160 + 11;
923+
pub const X86_FEATURE_PMM: ::c_ulong = 160 + 12;
924+
pub const X86_FEATURE_PMM_EN: ::c_ulong = 160 + 13;
925+
926+
pub const X86_FEATURE_LAHF_LM: ::c_ulong = 160 + 0;
927+
pub const X86_FEATURE_CMP_LEGACY: ::c_ulong = 160 + 1;
928+
pub const X86_FEATURE_SVM: ::c_ulong = 160 + 2;
929+
pub const X86_FEATURE_EXTAPIC: ::c_ulong = 160 + 3;
930+
pub const X86_FEATURE_CRB_LEGACY: ::c_ulong = 160 + 4;
931+
pub const X86_FEATURE_ABM: ::c_ulong = 160 + 5;
932+
pub const X86_FEATURE_SSE4A: ::c_ulong = 160 + 6;
933+
pub const X86_FEATURE_MISALIGNSSE: ::c_ulong = 160 + 7;
934+
pub const X86_FEATURE_3DNOWPREFETCH: ::c_ulong = 160 + 8;
935+
pub const X86_FEATURE_OSVW: ::c_ulong = 160 + 9;
936+
pub const X86_FEATURE_IBS: ::c_ulong = 160 + 10;
937+
pub const X86_FEATURE_XOP: ::c_ulong = 160 + 11;
938+
pub const X86_FEATURE_SKINIT: ::c_ulong = 160 + 12;
939+
pub const X86_FEATURE_WDT: ::c_ulong = 160 + 13;
940+
pub const X86_FEATURE_LWP: ::c_ulong = 160 + 15;
941+
pub const X86_FEATURE_FMA4: ::c_ulong = 160 + 16;
942+
pub const X86_FEATURE_TCE: ::c_ulong = 160 + 17;
943+
pub const X86_FEATURE_NODEID_MSR: ::c_ulong = 160 + 19;
944+
pub const X86_FEATURE_TBM: ::c_ulong = 160 + 21;
945+
pub const X86_FEATURE_TOPOEXT: ::c_ulong = 160 + 22;
946+
pub const X86_FEATURE_PERFCTR_CORE: ::c_ulong = 160 + 23;
947+
pub const X86_FEATURE_PERFCTR_NB: ::c_ulong = 160 + 24;
948+
pub const X86_FEATURE_BPEXT: ::c_ulong = 160 + 26;
949+
pub const X86_FEATURE_PTSC: ::c_ulong = 160 + 27;
950+
pub const X86_FEATURE_PERFCTR_LLC: ::c_ulong = 160 + 28;
951+
pub const X86_FEATURE_MWAITX: ::c_ulong = 160 + 29;
952+
953+
pub const X86_FEATURE_RING3WAIT: ::c_ulong = 224 + 0;
954+
pub const X86_FEATURE_CPUID_FAULT: ::c_ulong = 224 + 1;
955+
pub const X86_FEATURE_CPB: ::c_ulong = 224 + 2;
956+
pub const X86_FEATURE_EPB: ::c_ulong = 224 + 3;
957+
pub const X86_FEATURE_CAT_L3: ::c_ulong = 224 + 4;
958+
pub const X86_FEATURE_CAT_L2: ::c_ulong = 224 + 5;
959+
pub const X86_FEATURE_CDP_L3: ::c_ulong = 224 + 6;
960+
pub const X86_FEATURE_INVPCID_SINGLE: ::c_ulong = 224 + 7;
961+
pub const X86_FEATURE_HW_STATE: ::c_ulong = 224 + 8;
962+
pub const X86_FEATURE_PROC_FEEDBACK: ::c_ulong = 224 + 9;
963+
pub const X86_FEATURE_XCOMPACTED: ::c_ulong = 224 + 10;
964+
pub const X86_FEATURE_PTI: ::c_ulong = 224 + 11;
965+
pub const X86_FEATURE_KERNEL_IBRS: ::c_ulong = 224 + 12;
966+
pub const X86_FEATURE_RSB_VMEXIT: ::c_ulong = 224 + 13;
967+
pub const X86_FEATURE_INTEL_PPIN: ::c_ulong = 224 + 14;
968+
pub const X86_FEATURE_CDP_L2: ::c_ulong = 224 + 15;
969+
pub const X86_FEATURE_MSR_SPEC_STRL: ::c_ulong = 224 + 16;
970+
pub const X86_FEATURE_SSBD: ::c_ulong = 224 + 17;
971+
pub const X86_FEATURE_MBA: ::c_ulong = 224 + 18;
972+
pub const X86_FEATURE_RSB_CTXSW: ::c_ulong = 224 + 19;
973+
pub const X86_FEATURE_PERFMON_V2: ::c_ulong = 224 + 20;
974+
pub const X86_FEATURE_USE_IBPB: ::c_ulong = 224 + 21;
975+
pub const X86_FEATURE_USE_IBRS_FW: ::c_ulong = 224 + 22;
976+
pub const X86_FEATURE_SPEC_STORE_BYPASS_DISABLE: ::c_ulong = 224 + 23;
977+
pub const X86_FEATURE_LS_CFG_SSBD: ::c_ulong = 224 + 24;
978+
pub const X86_FEATURE_IBRS: ::c_ulong = 224 + 25;
979+
pub const X86_FEATURE_IBPB: ::c_ulong = 224 + 26;
980+
pub const X86_FEATURE_STIPB: ::c_ulong = 224 + 27;
981+
pub const X86_FEATURE_ZEN: ::c_ulong = 224 + 28;
982+
pub const X86_FEATURE_L1TF_PTEINV: ::c_ulong = 224 + 29;
983+
pub const X86_FEATURE_IBRS_ENHANCED: ::c_ulong = 224 + 30;
984+
pub const X86_FEATURE_MSR_IA32_FEAT_CTL: ::c_ulong = 224 + 31;
985+
986+
pub const X86_FEATURE_TPR_SHADOW: ::c_ulong = 256 + 0;
987+
pub const X86_FEATURE_VNMI: ::c_ulong = 256 + 1;
988+
pub const X86_FEATURE_FLEXPRIORITY: ::c_ulong = 256 + 2;
989+
pub const X86_FEATURE_EPT: ::c_ulong = 256 + 3;
990+
pub const X86_FEATURE_VPID: ::c_ulong = 256 + 4;
991+
pub const X86_FEATURE_VMMCALL: ::c_ulong = 256 + 15;
992+
pub const X86_FEATURE_XENPV: ::c_ulong = 256 + 16;
993+
pub const X86_FEATURE_EPT_AD: ::c_ulong = 256 + 17;
994+
pub const X86_FEATURE_VMCALL: ::c_ulong = 256 + 18;
995+
pub const X86_FEATURE_VMW_VMMCALL: ::c_ulong = 256 + 19;
996+
pub const X86_FEATURE_PVUNLOCK: ::c_ulong = 256 + 20;
997+
pub const X86_FEATURE_VCPUPREEMPT: ::c_ulong = 256 + 21;
998+
pub const X86_FEATURE_TDX_GUEST: ::c_ulong = 256 + 22;
999+
1000+
pub const X86_FEATURE_FSGSBASET: ::c_ulong = 288 + 0;
1001+
pub const X86_FEATURE_TSC_ADJUST: ::c_ulong = 288 + 1;
1002+
pub const X86_FEATURE_SGX: ::c_ulong = 288 + 2;
1003+
pub const X86_FEATURE_BMI1: ::c_ulong = 288 + 3;
1004+
pub const X86_FEATURE_HLE: ::c_ulong = 288 + 4;
1005+
pub const X86_FEATURE_AVX2: ::c_ulong = 288 + 5;
1006+
pub const X86_FEATURE_FDP_EXCPTN_ONLY: ::c_ulong = 288 + 6;
1007+
pub const X86_FEATURE_SMEP: ::c_ulong = 288 + 7;
1008+
pub const X86_FEATURE_BMI2: ::c_ulong = 288 + 8;
1009+
pub const X86_FEATURE_ERMS: ::c_ulong = 288 + 9;
1010+
pub const X86_FEATURE_INVPCID: ::c_ulong = 288 + 10;
1011+
pub const X86_FEATURE_RTM: ::c_ulong = 288 + 11;
1012+
pub const X86_FEATURE_CQM: ::c_ulong = 288 + 12;
1013+
pub const X86_FEATURE_ZERO_FCS_FDS: ::c_ulong = 288 + 13;
1014+
pub const X86_FEATURE_MPX: ::c_ulong = 288 + 14;
1015+
pub const X86_FEATURE_RDT_A: ::c_ulong = 288 + 15;
1016+
pub const X86_FEATURE_AVX512F: ::c_ulong = 288 + 16;
1017+
pub const X86_FEATURE_AVX512DQ: ::c_ulong = 288 + 17;
1018+
pub const X86_FEATURE_RDSEED: ::c_ulong = 288 + 18;
1019+
pub const X86_FEATURE_ADX: ::c_ulong = 288 + 19;
1020+
pub const X86_FEATURE_SMAP: ::c_ulong = 288 + 20;
1021+
pub const X86_FEATURE_AVX512IFMA: ::c_ulong = 288 + 21;
1022+
pub const X86_FEATURE_CFLUSHOPT: ::c_ulong = 288 + 23;
1023+
pub const X86_FEATURE_CLWB: ::c_ulong = 288 + 24;
1024+
pub const X86_FEATURE_INTEL_PT: ::c_ulong = 288 + 25;
1025+
pub const X86_FEATURE_AVX512PF: ::c_ulong = 288 + 26;
1026+
pub const X86_FEATURE_AVX512ER: ::c_ulong = 288 + 27;
1027+
pub const X86_FEATURE_AVX512CD: ::c_ulong = 288 + 28;
1028+
pub const X86_FEATURE_SHA_NI: ::c_ulong = 288 + 29;
1029+
pub const X86_FEATURE_AVX512BW: ::c_ulong = 288 + 30;
1030+
pub const X86_FEATURE_AVX512VL: ::c_ulong = 288 + 31;
1031+
1032+
pub const X86_FEATURE_XSAVEOPT: ::c_ulong = 320 + 0;
1033+
pub const X86_FEATURE_XSAVEC: ::c_ulong = 320 + 1;
1034+
pub const X86_FEATURE_XGETVB1: ::c_ulong = 320 + 2;
1035+
pub const X86_FEATURE_XSAVES: ::c_ulong = 320 + 3;
1036+
pub const X86_FEATURE_XFD: ::c_ulong = 320 + 4;
1037+
1038+
pub const X86_FEATURE_COM_LLC: ::c_ulong = 352 + 0;
1039+
pub const X86_FEATURE_COM_OCCUP_LLC: ::c_ulong = 352 + 1;
1040+
pub const X86_FEATURE_COM_MBM_TOTAL: ::c_ulong = 352 + 2;
1041+
pub const X86_FEATURE_COM_MBM_LOCAL: ::c_ulong = 352 + 3;
1042+
pub const X86_FEATURE_FENCE_SWAPGS_USER: ::c_ulong = 352 + 4;
1043+
pub const X86_FEATURE_FENCE_SWAPGS_KERNEL: ::c_ulong = 352 + 5;
1044+
pub const X86_FEATURE_SPLIT_LOCK_DETECT: ::c_ulong = 352 + 6;
1045+
pub const X86_FEATURE_PER_THREAD_MBA: ::c_ulong = 352 + 7;
1046+
pub const X86_FEATURE_SGX1: ::c_ulong = 352 + 8;
1047+
pub const X86_FEATURE_SGX2: ::c_ulong = 352 + 9;
1048+
pub const X86_FEATURE_ENTRY_IBPB: ::c_ulong = 352 + 10;
1049+
pub const X86_FEATURE_RRSBA_CTRL: ::c_ulong = 352 + 11;
1050+
pub const X86_FEATURE_RETPOLINE: ::c_ulong = 352 + 12;
1051+
pub const X86_FEATURE_RETPOLINE_LFENCE: ::c_ulong = 352 + 13;
1052+
pub const X86_FEATURE_RETHUNK: ::c_ulong = 352 + 14;
1053+
pub const X86_FEATURE_UNRET: ::c_ulong = 352 + 15;
1054+
pub const X86_FEATURE_USE_IBPB_FW: ::c_ulong = 352 + 16;
1055+
pub const X86_FEATURE_RSB_VMEXIT_LITE: ::c_ulong = 352 + 17;
1056+
1057+
pub const X86_FEATURE_AVX_VNNI: ::c_ulong = 384 + 4;
1058+
pub const X86_FEATURE_AVX512_BF16: ::c_ulong = 384 + 5;
1059+
1060+
pub const X86_FEATURE_CLZERO: ::c_ulong = 416 + 0;
1061+
pub const X86_FEATURE_IRPERF: ::c_ulong = 416 + 1;
1062+
pub const X86_FEATURE_XSAVEERPTR: ::c_ulong = 416 + 2;
1063+
pub const X86_FEATURE_RDPRU: ::c_ulong = 416 + 4;
1064+
pub const X86_FEATURE_WBNOINVD: ::c_ulong = 416 + 9;
1065+
pub const X86_FEATURE_AMD_IBPB: ::c_ulong = 416 + 12;
1066+
pub const X86_FEATURE_AMD_IBRS: ::c_ulong = 416 + 14;
1067+
pub const X86_FEATURE_AMD_STIPB: ::c_ulong = 416 + 15;
1068+
pub const X86_FEATURE_AMD_STIPB_ALWAYS_ON: ::c_ulong = 416 + 17;
1069+
pub const X86_FEATURE_AMD_PPIN: ::c_ulong = 416 + 23;
1070+
pub const X86_FEATURE_AMD_SSBD: ::c_ulong = 416 + 24;
1071+
pub const X86_FEATURE_VIRT_SSBD: ::c_ulong = 416 + 25;
1072+
pub const X86_FEATURE_AMD_SSB_NO: ::c_ulong = 416 + 26;
1073+
pub const X86_FEATURE_CPPC: ::c_ulong = 416 + 27;
1074+
pub const X86_FEATURE_BTC_NO: ::c_ulong = 416 + 29;
1075+
pub const X86_FEATURE_BRS: ::c_ulong = 416 + 31;
1076+
1077+
pub const X86_FEATURE_DTHERM: ::c_ulong = 448 + 0;
1078+
pub const X86_FEATURE_IDA: ::c_ulong = 448 + 1;
1079+
pub const X86_FEATURE_ARAT: ::c_ulong = 448 + 2;
1080+
pub const X86_FEATURE_PLN: ::c_ulong = 448 + 4;
1081+
pub const X86_FEATURE_PTS: ::c_ulong = 448 + 6;
1082+
pub const X86_FEATURE_HWP: ::c_ulong = 448 + 7;
1083+
pub const X86_FEATURE_HWP_NOTIFY: ::c_ulong = 448 + 8;
1084+
pub const X86_FEATURE_HWP_ACT_WINDOW: ::c_ulong = 448 + 9;
1085+
pub const X86_FEATURE_HWP_EPP: ::c_ulong = 448 + 10;
1086+
pub const X86_FEATURE_HWP_PKG_REQ: ::c_ulong = 448 + 11;
1087+
pub const X86_FEATURE_HFI: ::c_ulong = 448 + 19;
1088+
1089+
pub const X86_FEATURE_NPT: ::c_ulong = 480 + 0;
1090+
pub const X86_FEATURE_LBRV: ::c_ulong = 480 + 1;
1091+
pub const X86_FEATURE_SVML: ::c_ulong = 480 + 2;
1092+
pub const X86_FEATURE_NRIPS: ::c_ulong = 480 + 3;
1093+
pub const X86_FEATURE_TSCRATEMSR: ::c_ulong = 480 + 4;
1094+
pub const X86_FEATURE_VMCBCLEAN: ::c_ulong = 480 + 5;
1095+
pub const X86_FEATURE_FLUSHBYASID: ::c_ulong = 480 + 6;
1096+
pub const X86_FEATURE_DECODEASSISTS: ::c_ulong = 480 + 7;
1097+
pub const X86_FEATURE_PAUSEFILTER: ::c_ulong = 480 + 10;
1098+
pub const X86_FEATURE_PFTTHREASHOLD: ::c_ulong = 480 + 12;
1099+
pub const X86_FEATURE_AVIC: ::c_ulong = 480 + 13;
1100+
pub const X86_FEATURE_V_VMSAVE_VMONLOAD: ::c_ulong = 480 + 15;
1101+
pub const X86_FEATURE_VGIF: ::c_ulong = 480 + 16;
1102+
pub const X86_FEATURE_X2AVIC: ::c_ulong = 480 + 18;
1103+
pub const X86_FEATURE_V_SPEC_CTRL: ::c_ulong = 480 + 20;
1104+
pub const X86_FEATURE_SVME_ADDR_CHK: ::c_ulong = 480 + 22;
1105+
1106+
pub const X86_FEATURE_AVX512VBMIK: ::c_ulong = 512 + 1;
1107+
pub const X86_FEATURE_UMIP: ::c_ulong = 512 + 2;
1108+
pub const X86_FEATURE_PKU: ::c_ulong = 512 + 3;
1109+
pub const X86_FEATURE_OSPKE: ::c_ulong = 512 + 4;
1110+
pub const X86_FEATURE_WAITPKG: ::c_ulong = 512 + 5;
1111+
pub const X86_FEATURE_AVX512_VBMI2: ::c_ulong = 512 + 6;
1112+
pub const X86_FEATURE_GFNI: ::c_ulong = 512 + 8;
1113+
pub const X86_FEATURE_VAES: ::c_ulong = 512 + 9;
1114+
pub const X86_FEATURE_VPCLMULQDQ: ::c_ulong = 512 + 10;
1115+
pub const X86_FEATURE_AVX512_VNNI: ::c_ulong = 512 + 11;
1116+
pub const X86_FEATURE_AVX512_BITALG: ::c_ulong = 512 + 12;
1117+
pub const X86_FEATURE_TME: ::c_ulong = 512 + 13;
1118+
pub const X86_FEATURE_AVX512_VPOPCNTDQ: ::c_ulong = 512 + 14;
1119+
pub const X86_FEATURE_LA57: ::c_ulong = 512 + 16;
1120+
pub const X86_FEATURE_RDPID: ::c_ulong = 512 + 22;
1121+
pub const X86_FEATURE_BUS_LOCK_DETECT: ::c_ulong = 512 + 24;
1122+
pub const X86_FEATURE_CLDEMOTE: ::c_ulong = 512 + 25;
1123+
pub const X86_FEATURE_MOVDIRI: ::c_ulong = 512 + 27;
1124+
pub const X86_FEATURE_MOVDIR64B: ::c_ulong = 512 + 28;
1125+
pub const X86_FEATURE_ENQCMD: ::c_ulong = 512 + 29;
1126+
pub const X86_FEATURE_SGX_LC: ::c_ulong = 512 + 30;
1127+
1128+
pub const X86_FEATURE_OVERFLOW_RECOV: ::c_ulong = 544 + 0;
1129+
pub const X86_FEATURE_SUCCOR: ::c_ulong = 544 + 1;
1130+
pub const X86_FEATURE_SMCA: ::c_ulong = 544 + 3;
1131+
1132+
pub const X86_FEATURE_AVX512_4VNNIW: ::c_ulong = 576 + 2;
1133+
pub const X86_FEATURE_AVX512_4FMAPS: ::c_ulong = 576 + 3;
1134+
pub const X86_FEATURE_FSRM: ::c_ulong = 576 + 4;
1135+
pub const X86_FEATURE_AVX512_VP2INTERSECT: ::c_ulong = 576 + 8;
1136+
pub const X86_FEATURE_SRBDS_CTRL: ::c_ulong = 576 + 9;
1137+
pub const X86_FEATURE_MD_CLEAR: ::c_ulong = 576 + 10;
1138+
pub const X86_FEATURE_RTM_ALWAYS_ABORT: ::c_ulong = 576 + 11;
1139+
pub const X86_FEATURE_TSX_FORCE_ABORT: ::c_ulong = 576 + 13;
1140+
pub const X86_FEATURE_SERIALIZE: ::c_ulong = 576 + 14;
1141+
pub const X86_FEATURE_HYBRID_CPU: ::c_ulong = 576 + 15;
1142+
pub const X86_FEATURE_TSXLDTRK: ::c_ulong = 576 + 16;
1143+
pub const X86_FEATURE_PCONFIG: ::c_ulong = 576 + 18;
1144+
pub const X86_FEATURE_ARCH_LBR: ::c_ulong = 576 + 19;
1145+
pub const X86_FEATURE_IBT: ::c_ulong = 576 + 20;
1146+
pub const X86_FEATURE_AMX_BF16: ::c_ulong = 576 + 22;
1147+
pub const X86_FEATURE_AVX512_FP16: ::c_ulong = 576 + 23;
1148+
pub const X86_FEATURE_AMX_TILE: ::c_ulong = 576 + 24;
1149+
pub const X86_FEATURE_AMX_INT8: ::c_ulong = 576 + 25;
1150+
pub const X86_FEATURE_SPEC_CTRL: ::c_ulong = 576 + 26;
1151+
pub const X86_FEATURE_INTEL_STIBP: ::c_ulong = 576 + 27;
1152+
pub const X86_FEATURE_FLUSH_L1D: ::c_ulong = 576 + 28;
1153+
pub const X86_FEATURE_ARCH_CAPABILITIES: ::c_ulong = 576 + 29;
1154+
pub const X86_FEATURE_CORE_CAPABILITIES: ::c_ulong = 576 + 30;
1155+
pub const X86_FEATURE_SPEC_CTRL_SSBD: ::c_ulong = 576 + 31;
1156+
1157+
pub const X86_FEATURE_SME: ::c_ulong = 608 + 0;
1158+
pub const X86_FEATURE_SEV: ::c_ulong = 608 + 1;
1159+
pub const X86_FEATURE_VM_PAGE_FLUSH: ::c_ulong = 608 + 2;
1160+
pub const X86_FEATURE_SEV_ES: ::c_ulong = 608 + 3;
1161+
pub const X86_FEATURE_V_TSC_AUX: ::c_ulong = 608 + 9;
1162+
pub const X86_FEATURE_SME_COHERENT: ::c_ulong = 608 + 10;
8041163
pub const SECCOMP_SET_MODE_STRICT: ::c_uint = 0;
8051164
pub const SECCOMP_SET_MODE_FILTER: ::c_uint = 1;
8061165
pub const SECCOMP_GET_ACTION_AVAIL: ::c_uint = 2;

0 commit comments

Comments
 (0)