@@ -209,6 +209,7 @@ static inline bool x86_feature_test(struct x86_cpuid_bit bit) {
209209#define X86_FEATURE_XSAVE X86_CPUID_BIT(0x1, 2, 26)
210210#define X86_FEATURE_OSXSAVE X86_CPUID_BIT(0x1, 2, 27)
211211#define X86_FEATURE_AVX X86_CPUID_BIT(0x1, 2, 28)
212+ #define X86_FEATURE_F16C X86_CPUID_BIT(0x1, 2, 29)
212213#define X86_FEATURE_RDRAND X86_CPUID_BIT(0x1, 2, 30)
213214#define X86_FEATURE_HYPERVISOR X86_CPUID_BIT(0x1, 2, 31)
214215#define X86_FEATURE_FPU X86_CPUID_BIT(0x1, 3, 0)
@@ -250,16 +251,17 @@ static inline bool x86_feature_test(struct x86_cpuid_bit bit) {
250251#define X86_FEATURE_HWP X86_CPUID_BIT(0x6, 0, 7)
251252#define X86_FEATURE_HWP_NOT X86_CPUID_BIT(0x6, 0, 8)
252253#define X86_FEATURE_HWP_ACT X86_CPUID_BIT(0x6, 0, 9)
253- #define X86_FEATURE_HWP_PREF X86_CPUID_BIT(0x6, 0, 10)
254- #define X86_FEATURE_HWP_EPP X86_CPUID_BIT(0x6, 0, 11)
255- #define X86_FEATURE_HWP_PKG X86_CPUID_BIT(0x6, 0, 12)
254+ #define X86_FEATURE_HWP_EPP X86_CPUID_BIT(0x6, 0, 10)
255+ #define X86_FEATURE_HWP_PKG X86_CPUID_BIT(0x6, 0, 11)
256256#define X86_FEATURE_HDC X86_CPUID_BIT(0x6, 0, 13)
257257#define X86_FEATURE_TURBO_MAX X86_CPUID_BIT(0x6, 0, 14)
258258#define X86_FEATURE_HWP_CAP X86_CPUID_BIT(0x6, 0, 15)
259259#define X86_FEATURE_HWP_PECI X86_CPUID_BIT(0x6, 0, 16)
260260#define X86_FEATURE_HWP_FLEX X86_CPUID_BIT(0x6, 0, 17)
261261#define X86_FEATURE_HWP_FAST X86_CPUID_BIT(0x6, 0, 18)
262- #define X86_FEATURE_HW_FEEDBACK X86_CPUID_BIT(0x6, 2, 0)
262+ #define X86_FEATURE_HW_FEEDBACK X86_CPUID_BIT(0x6, 0, 19)
263+ #define X86_FEATURE_THREAD_DIR X86_CPUID_BIT(0x6, 0, 23)
264+ #define X86_FEATURE_MPERF X86_CPUID_BIT(0x6, 2, 0)
263265#define X86_FEATURE_PERF_BIAS X86_CPUID_BIT(0x6, 2, 3)
264266
265267#define X86_FEATURE_FSGSBASE X86_CPUID_BIT(0x7, 1, 0)
@@ -268,12 +270,16 @@ static inline bool x86_feature_test(struct x86_cpuid_bit bit) {
268270#define X86_FEATURE_BMI1 X86_CPUID_BIT(0x7, 1, 3)
269271#define X86_FEATURE_HLE X86_CPUID_BIT(0x7, 1, 4)
270272#define X86_FEATURE_AVX2 X86_CPUID_BIT(0x7, 1, 5)
273+ #define X86_FEATURE_FPDP X86_CPUID_BIT(0x7, 1, 6)
271274#define X86_FEATURE_SMEP X86_CPUID_BIT(0x7, 1, 7)
272275#define X86_FEATURE_BMI2 X86_CPUID_BIT(0x7, 1, 8)
273276#define X86_FEATURE_ERMS X86_CPUID_BIT(0x7, 1, 9)
274277#define X86_FEATURE_INVPCID X86_CPUID_BIT(0x7, 1, 10)
275278#define X86_FEATURE_RTM X86_CPUID_BIT(0x7, 1, 11)
279+ #define X86_FEATURE_PQM X86_CPUID_BIT(0x7, 1, 12)
280+ #define X86_FEATURE_FPCSDS X86_CPUID_BIT(0x7, 1, 13)
276281#define X86_FEATURE_MPX X86_CPUID_BIT(0x7, 1, 14)
282+ #define X86_FEATURE_PQE X86_CPUID_BIT(0x7, 1, 15)
277283#define X86_FEATURE_AVX512F X86_CPUID_BIT(0x7, 1, 16)
278284#define X86_FEATURE_AVX512DQ X86_CPUID_BIT(0x7, 1, 17)
279285#define X86_FEATURE_RDSEED X86_CPUID_BIT(0x7, 1, 18)
@@ -348,14 +354,17 @@ static inline bool x86_feature_test(struct x86_cpuid_bit bit) {
348354#define X86_FEATURE_KVM_CLOCKSOURCE_STABLE X86_CPUID_BIT(0x40000001, 0, 24)
349355
350356
357+ #define X86_FEATURE_AHF64 X86_CPUID_BIT(0x80000001, 2, 0)
358+ #define X86_FEATURE_LZCNT X86_CPUID_BIT(0x80000001, 2, 5)
359+ #define X86_FEATURE_PREFETCHW X86_CPUID_BIT(0x80000001, 2, 8)
351360#define X86_FEATURE_AMD_TOPO X86_CPUID_BIT(0x80000001, 2, 22)
352361#define X86_FEATURE_SSE4A X86_CPUID_BIT(0x80000001, 3, 6)
353362#define X86_FEATURE_SYSCALL X86_CPUID_BIT(0x80000001, 3, 11)
354363#define X86_FEATURE_NX X86_CPUID_BIT(0x80000001, 3, 20)
355- #define X86_FEATURE_HUGE_PAGE X86_CPUID_BIT(0x80000001, 3, 26)
364+ #define X86_FEATURE_PG1G X86_CPUID_BIT(0x80000001, 3, 26)
356365#define X86_FEATURE_RDTSCP X86_CPUID_BIT(0x80000001, 3, 27)
366+ #define X86_FEATURE_LM X86_CPUID_BIT(0x80000001, 3, 29)
357367#define X86_FEATURE_INVAR_TSC X86_CPUID_BIT(0x80000007, 3, 8)
358- #define X86_FEATURE_CONSTANT_TSC X86_CPUID_BIT(0x80000007, 3, 8)
359368
360369// accessor to read some fields out of a register
361370static inline uint32_t x86_get_vaddr_width (void ) {
0 commit comments