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*);
|