1
0
Fork 0
mirror of https://github.com/anrieff/libcpuid synced 2025-02-02 20:14:07 +00:00

Remove CPU_ prefix from x86 cpu_feature_level_t enum options

This makes the option names of cpu_feature_level_t consistent
and it also makes it easier to list options of the cpu_feature_t
enum just by their prefix (because it now doesn't collide with
the prefix of cpu_feature_level_t options).
This commit is contained in:
Pavol Žáčik 2024-07-23 17:35:45 +02:00 committed by The Tumultuous Unicorn Of Darkness
parent 6b87429dc5
commit 6c87edab5a
5 changed files with 32 additions and 32 deletions

View file

@ -60,7 +60,7 @@ for fn in glob.glob("%s/*.c" % sys.argv[1]):
line = 1 line = 1
nfeat = 0 nfeat = 0
for s in f.readlines(): 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 nfeat += 1
res = rexp.findall(s) res = rexp.findall(s)
assert len(res) == 1, "Too many matches" assert len(res) == 1, "Too many matches"

View file

@ -1807,14 +1807,14 @@ const char* cpu_feature_level_str(cpu_feature_level_t level)
matchtable[] = { matchtable[] = {
{ FEATURE_LEVEL_UNKNOWN, "unknown" }, { FEATURE_LEVEL_UNKNOWN, "unknown" },
/* x86 */ /* x86 */
{ CPU_FEATURE_LEVEL_I386, "i386" }, { FEATURE_LEVEL_I386, "i386" },
{ CPU_FEATURE_LEVEL_I486, "i486" }, { FEATURE_LEVEL_I486, "i486" },
{ CPU_FEATURE_LEVEL_I586, "i586" }, { FEATURE_LEVEL_I586, "i586" },
{ CPU_FEATURE_LEVEL_I686, "i686" }, { FEATURE_LEVEL_I686, "i686" },
{ CPU_FEATURE_LEVEL_X86_64_V1, "x86-64-v1" }, { FEATURE_LEVEL_X86_64_V1, "x86-64-v1" },
{ CPU_FEATURE_LEVEL_X86_64_V2, "x86-64-v2" }, { FEATURE_LEVEL_X86_64_V2, "x86-64-v2" },
{ CPU_FEATURE_LEVEL_X86_64_V3, "x86-64-v3" }, { FEATURE_LEVEL_X86_64_V3, "x86-64-v3" },
{ CPU_FEATURE_LEVEL_X86_64_V4, "x86-64-v4" }, { FEATURE_LEVEL_X86_64_V4, "x86-64-v4" },
/* ARM */ /* ARM */
{ FEATURE_LEVEL_ARM_V1, "ARMv1" }, { FEATURE_LEVEL_ARM_V1, "ARMv1" },
{ FEATURE_LEVEL_ARM_V2, "ARMv2" }, { 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" }, { FEATURE_LEVEL_ARM_V9_4_A, "ARMv9.4-A" },
}; };
unsigned i, n = COUNT_OF(matchtable); 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"); warnf("Warning: incomplete library, feature level matchtable size differs from the actual number of levels.\n");
} }
for (i = 0; i < n; i++) for (i = 0; i < n; i++)

View file

@ -188,18 +188,18 @@ typedef enum {
#define NUM_CPU_ARCHITECTURES NUM_CPU_ARCHITECTURES #define NUM_CPU_ARCHITECTURES NUM_CPU_ARCHITECTURES
/** /**
* @brief CPU architecture * @brief CPU feature level
*/ */
typedef enum { typedef enum {
/* x86: https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels */ /* x86: https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels */
CPU_FEATURE_LEVEL_I386, /*!< i386 */ FEATURE_LEVEL_I386, /*!< i386 */
CPU_FEATURE_LEVEL_I486, /*!< i486 */ FEATURE_LEVEL_I486, /*!< i486 */
CPU_FEATURE_LEVEL_I586, /*!< i586 */ FEATURE_LEVEL_I586, /*!< i586 */
CPU_FEATURE_LEVEL_I686, /*!< i686 */ FEATURE_LEVEL_I686, /*!< i686 */
CPU_FEATURE_LEVEL_X86_64_V1, /*!< x86-64-v1 */ FEATURE_LEVEL_X86_64_V1, /*!< x86-64-v1 */
CPU_FEATURE_LEVEL_X86_64_V2, /*!< x86-64-v2 */ FEATURE_LEVEL_X86_64_V2, /*!< x86-64-v2 */
CPU_FEATURE_LEVEL_X86_64_V3, /*!< x86-64-v3 */ FEATURE_LEVEL_X86_64_V3, /*!< x86-64-v3 */
CPU_FEATURE_LEVEL_X86_64_V4, /*!< x86-64-v4 */ FEATURE_LEVEL_X86_64_V4, /*!< x86-64-v4 */
/* ARM: https://en.wikipedia.org/wiki/ARM_architecture_family#Cores */ /* ARM: https://en.wikipedia.org/wiki/ARM_architecture_family#Cores */
FEATURE_LEVEL_ARM_V1 = 100, /*!< ARMv1 */ 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_3_A, /*!< ARMv9.3-A */
FEATURE_LEVEL_ARM_V9_4_A, /*!< ARMv9.4-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, FEATURE_LEVEL_UNKNOWN = -1,
} cpu_feature_level_t; } cpu_feature_level_t;
#define NUM_CPU_FEATURE_LEVELS NUM_CPU_FEATURE_LEVELS #define NUM_FEATURE_LEVELS NUM_FEATURE_LEVELS
/** /**
* @brief CPU purpose * @brief CPU purpose

View file

@ -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; } const struct { const int family; const cpu_feature_level_t feature_level; }
architecture_matchtable_ia_32[] = { architecture_matchtable_ia_32[] = {
{ 3, CPU_FEATURE_LEVEL_I386 }, { 3, FEATURE_LEVEL_I386 },
{ 4, CPU_FEATURE_LEVEL_I486 }, { 4, FEATURE_LEVEL_I486 },
{ 5, CPU_FEATURE_LEVEL_I586 }, { 5, FEATURE_LEVEL_I586 },
{ 6, CPU_FEATURE_LEVEL_I686 }, { 6, FEATURE_LEVEL_I686 },
{ 15, CPU_FEATURE_LEVEL_I686 }, // Intel Pentium 4, AMD K8 { 15, FEATURE_LEVEL_I686 }, // Intel Pentium 4, AMD K8
}; };
const cpu_feature_t architecture_x86_64_v1[] = { 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; } const struct { const cpu_feature_t* features_array; const cpu_feature_level_t feature_level; }
architecture_matchtable_x86_64[] = { architecture_matchtable_x86_64[] = {
{ architecture_x86_64_v1, CPU_FEATURE_LEVEL_X86_64_V1 }, { architecture_x86_64_v1, FEATURE_LEVEL_X86_64_V1 },
{ architecture_x86_64_v2, CPU_FEATURE_LEVEL_X86_64_V2 }, { architecture_x86_64_v2, FEATURE_LEVEL_X86_64_V2 },
{ architecture_x86_64_v3, CPU_FEATURE_LEVEL_X86_64_V3 }, { architecture_x86_64_v3, FEATURE_LEVEL_X86_64_V3 },
{ architecture_x86_64_v4, CPU_FEATURE_LEVEL_X86_64_V4 }, { architecture_x86_64_v4, FEATURE_LEVEL_X86_64_V4 },
}; };
if (!data->flags[CPU_FEATURE_LM]) { if (!data->flags[CPU_FEATURE_LM]) {

View file

@ -53,7 +53,7 @@ struct arm_arch_feature_t {
}; };
struct arm_arch_extension_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 { struct arm_id_part {