diff --git a/libcpuid/check-consistency.py b/libcpuid/check-consistency.py index b0d6ac5..6766cd4 100755 --- a/libcpuid/check-consistency.py +++ b/libcpuid/check-consistency.py @@ -60,7 +60,7 @@ for fn in glob.glob("%s/*.c" % sys.argv[1]): line = 1 nfeat = 0 for s in f.readlines(): - if rexp.match(s) and "CPU_FEATURE_LEVEL_" not in s: + if rexp.match(s) and "FEATURE_LEVEL_" not in s: nfeat += 1 res = rexp.findall(s) assert len(res) == 1, "Too many matches" diff --git a/libcpuid/cpuid_main.c b/libcpuid/cpuid_main.c index 9e7b15d..199c30d 100644 --- a/libcpuid/cpuid_main.c +++ b/libcpuid/cpuid_main.c @@ -1805,16 +1805,16 @@ const char* cpu_feature_level_str(cpu_feature_level_t level) { const struct { cpu_feature_level_t level; const char* name; } matchtable[] = { - { FEATURE_LEVEL_UNKNOWN, "unknown" }, + { FEATURE_LEVEL_UNKNOWN, "unknown" }, /* x86 */ - { CPU_FEATURE_LEVEL_I386, "i386" }, - { CPU_FEATURE_LEVEL_I486, "i486" }, - { CPU_FEATURE_LEVEL_I586, "i586" }, - { CPU_FEATURE_LEVEL_I686, "i686" }, - { CPU_FEATURE_LEVEL_X86_64_V1, "x86-64-v1" }, - { CPU_FEATURE_LEVEL_X86_64_V2, "x86-64-v2" }, - { CPU_FEATURE_LEVEL_X86_64_V3, "x86-64-v3" }, - { CPU_FEATURE_LEVEL_X86_64_V4, "x86-64-v4" }, + { FEATURE_LEVEL_I386, "i386" }, + { FEATURE_LEVEL_I486, "i486" }, + { FEATURE_LEVEL_I586, "i586" }, + { FEATURE_LEVEL_I686, "i686" }, + { FEATURE_LEVEL_X86_64_V1, "x86-64-v1" }, + { FEATURE_LEVEL_X86_64_V2, "x86-64-v2" }, + { FEATURE_LEVEL_X86_64_V3, "x86-64-v3" }, + { FEATURE_LEVEL_X86_64_V4, "x86-64-v4" }, /* ARM */ { FEATURE_LEVEL_ARM_V1, "ARMv1" }, { FEATURE_LEVEL_ARM_V2, "ARMv2" }, @@ -1851,7 +1851,7 @@ const char* cpu_feature_level_str(cpu_feature_level_t level) { FEATURE_LEVEL_ARM_V9_4_A, "ARMv9.4-A" }, }; unsigned i, n = COUNT_OF(matchtable); - if (n != (NUM_CPU_FEATURE_LEVELS - FEATURE_LEVEL_ARM_V1) + (CPU_FEATURE_LEVEL_X86_64_V4 - CPU_FEATURE_LEVEL_I386) + 2) { + if (n != (NUM_FEATURE_LEVELS - FEATURE_LEVEL_ARM_V1) + (FEATURE_LEVEL_X86_64_V4 - FEATURE_LEVEL_I386) + 2) { warnf("Warning: incomplete library, feature level matchtable size differs from the actual number of levels.\n"); } for (i = 0; i < n; i++) diff --git a/libcpuid/libcpuid.h b/libcpuid/libcpuid.h index b1c4240..2e5bab6 100644 --- a/libcpuid/libcpuid.h +++ b/libcpuid/libcpuid.h @@ -188,18 +188,18 @@ typedef enum { #define NUM_CPU_ARCHITECTURES NUM_CPU_ARCHITECTURES /** - * @brief CPU architecture + * @brief CPU feature level */ typedef enum { /* x86: https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels */ - CPU_FEATURE_LEVEL_I386, /*!< i386 */ - CPU_FEATURE_LEVEL_I486, /*!< i486 */ - CPU_FEATURE_LEVEL_I586, /*!< i586 */ - CPU_FEATURE_LEVEL_I686, /*!< i686 */ - CPU_FEATURE_LEVEL_X86_64_V1, /*!< x86-64-v1 */ - CPU_FEATURE_LEVEL_X86_64_V2, /*!< x86-64-v2 */ - CPU_FEATURE_LEVEL_X86_64_V3, /*!< x86-64-v3 */ - CPU_FEATURE_LEVEL_X86_64_V4, /*!< x86-64-v4 */ + FEATURE_LEVEL_I386, /*!< i386 */ + FEATURE_LEVEL_I486, /*!< i486 */ + FEATURE_LEVEL_I586, /*!< i586 */ + FEATURE_LEVEL_I686, /*!< i686 */ + FEATURE_LEVEL_X86_64_V1, /*!< x86-64-v1 */ + FEATURE_LEVEL_X86_64_V2, /*!< x86-64-v2 */ + FEATURE_LEVEL_X86_64_V3, /*!< x86-64-v3 */ + FEATURE_LEVEL_X86_64_V4, /*!< x86-64-v4 */ /* ARM: https://en.wikipedia.org/wiki/ARM_architecture_family#Cores */ FEATURE_LEVEL_ARM_V1 = 100, /*!< ARMv1 */ @@ -236,10 +236,10 @@ typedef enum { FEATURE_LEVEL_ARM_V9_3_A, /*!< ARMv9.3-A */ FEATURE_LEVEL_ARM_V9_4_A, /*!< ARMv9.4-A */ - NUM_CPU_FEATURE_LEVELS, /*!< Valid feature level ids: 0..NUM_CPU_FEATURE_LEVELS - 1 */ + NUM_FEATURE_LEVELS, /*!< Valid feature level ids: 0..NUM_FEATURE_LEVELS - 1 */ FEATURE_LEVEL_UNKNOWN = -1, } cpu_feature_level_t; -#define NUM_CPU_FEATURE_LEVELS NUM_CPU_FEATURE_LEVELS +#define NUM_FEATURE_LEVELS NUM_FEATURE_LEVELS /** * @brief CPU purpose diff --git a/libcpuid/libcpuid_util.c b/libcpuid/libcpuid_util.c index 5d2d366..fd55ee6 100644 --- a/libcpuid/libcpuid_util.c +++ b/libcpuid/libcpuid_util.c @@ -424,11 +424,11 @@ void decode_architecture_version_x86(struct cpu_id_t* data) const struct { const int family; const cpu_feature_level_t feature_level; } architecture_matchtable_ia_32[] = { - { 3, CPU_FEATURE_LEVEL_I386 }, - { 4, CPU_FEATURE_LEVEL_I486 }, - { 5, CPU_FEATURE_LEVEL_I586 }, - { 6, CPU_FEATURE_LEVEL_I686 }, - { 15, CPU_FEATURE_LEVEL_I686 }, // Intel Pentium 4, AMD K8 + { 3, FEATURE_LEVEL_I386 }, + { 4, FEATURE_LEVEL_I486 }, + { 5, FEATURE_LEVEL_I586 }, + { 6, FEATURE_LEVEL_I686 }, + { 15, FEATURE_LEVEL_I686 }, // Intel Pentium 4, AMD K8 }; const cpu_feature_t architecture_x86_64_v1[] = { @@ -477,10 +477,10 @@ void decode_architecture_version_x86(struct cpu_id_t* data) const struct { const cpu_feature_t* features_array; const cpu_feature_level_t feature_level; } architecture_matchtable_x86_64[] = { - { architecture_x86_64_v1, CPU_FEATURE_LEVEL_X86_64_V1 }, - { architecture_x86_64_v2, CPU_FEATURE_LEVEL_X86_64_V2 }, - { architecture_x86_64_v3, CPU_FEATURE_LEVEL_X86_64_V3 }, - { architecture_x86_64_v4, CPU_FEATURE_LEVEL_X86_64_V4 }, + { architecture_x86_64_v1, FEATURE_LEVEL_X86_64_V1 }, + { architecture_x86_64_v2, FEATURE_LEVEL_X86_64_V2 }, + { architecture_x86_64_v3, FEATURE_LEVEL_X86_64_V3 }, + { architecture_x86_64_v4, FEATURE_LEVEL_X86_64_V4 }, }; if (!data->flags[CPU_FEATURE_LM]) { diff --git a/libcpuid/recog_arm.c b/libcpuid/recog_arm.c index deb1e48..365efdd 100644 --- a/libcpuid/recog_arm.c +++ b/libcpuid/recog_arm.c @@ -53,7 +53,7 @@ struct arm_arch_feature_t { }; struct arm_arch_extension_t { - struct arm_arch_feature_t present[NUM_CPU_FEATURE_LEVELS], total[NUM_CPU_FEATURE_LEVELS]; + struct arm_arch_feature_t present[NUM_FEATURE_LEVELS], total[NUM_FEATURE_LEVELS]; }; struct arm_id_part {