RANGE_EXT = 0x80000000, /* Extended */
};
-#define CPUID_INDEX_MASK 0x80000000
+#define CPUID_INDEX_MASK 0xffff0000
#define CPUID_FUNCTION_MASK (~CPUID_INDEX_MASK)
struct cpuid_range {
* Cut off vendor-prefix from CPUID function as we're using it as an
* index into ->funcs.
*/
- func = &range->funcs[f & 0xffff];
+ func = &range->funcs[f & CPUID_FUNCTION_MASK];
if (!func->leafs) {
func->leafs = malloc(sizeof(struct subleaf));
cpuid(range->index, max_func, ebx, ecx, edx);
- idx_func = (max_func & 0xffff) + 1;
+ idx_func = (max_func & CPUID_FUNCTION_MASK) + 1;
range->funcs = malloc(sizeof(struct cpuid_func) * idx_func);
if (!range->funcs)
err(EXIT_FAILURE, NULL);
if (!range)
return NULL;
- func_idx = index & 0xffff;
+ func_idx = index & CPUID_FUNCTION_MASK;
if ((func_idx + 1) > (u32)range->nr)
return NULL;