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
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"

View file

@ -1807,14 +1807,14 @@ const char* cpu_feature_level_str(cpu_feature_level_t level)
matchtable[] = {
{ 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++)

View file

@ -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

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; }
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]) {

View file

@ -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 {