Blame src/perfctr-2.7.x/usr.lib/x86_cpuinfo.h

Packit 577717
/* $Id: x86_cpuinfo.h,v 1.1 2004/05/22 20:59:58 mikpe Exp $
Packit 577717
 * Copyright (C) 2004  Mikael Pettersson
Packit 577717
 */
Packit 577717
Packit 577717
struct cpuinfo {
Packit 577717
    unsigned int vendor;
Packit 577717
    unsigned int signature;	/* cpuid[1].eax */
Packit 577717
    unsigned int features;	/* cpuid[1].edx */
Packit 577717
};
Packit 577717
Packit 577717
#define X86_VENDOR_UNKNOWN	0
Packit 577717
#define X86_VENDOR_INTEL	1
Packit 577717
#define X86_VENDOR_AMD		2
Packit 577717
#define X86_VENDOR_CYRIX	3
Packit 577717
#define X86_VENDOR_CENTAUR	4
Packit 577717
Packit 577717
#define X86_FEATURE_TSC		4
Packit 577717
#define X86_FEATURE_MSR		5
Packit 577717
#define X86_FEATURE_MMX		23
Packit 577717
Packit 577717
#define cpu_type(cpuinfo)	(((cpuinfo)->signature >> 12) & 3)
Packit 577717
#define cpu_family(cpuinfo)	(((cpuinfo)->signature >> 8) & 0xF)
Packit 577717
#define cpu_model(cpuinfo)	(((cpuinfo)->signature >> 4) & 0xF)
Packit 577717
#define cpu_stepping(cpuinfo)	((cpuinfo)->signature & 0xF)
Packit 577717
Packit 577717
#define cpu_has(cpuinfo, bit)	((cpuinfo)->features & (1<<(bit)))
Packit 577717
Packit 577717
extern void identify_cpu(struct cpuinfo*);