58 lines
1.8 KiB
C
58 lines
1.8 KiB
C
|
/****************************************************************************
|
||
|
*
|
||
|
* Module Title : CPUIdLib.h
|
||
|
*
|
||
|
* Description : CPU specific definitions.
|
||
|
*
|
||
|
****************************************************************************/
|
||
|
#ifndef __INC_CPUIDLIB_H
|
||
|
#define __INC_CPUIDLIB_H
|
||
|
|
||
|
/****************************************************************************
|
||
|
* Typedefs
|
||
|
****************************************************************************/
|
||
|
typedef enum PROCTYPE
|
||
|
{
|
||
|
X86 = 0, /* 486, Pentium plain, or any other x86 compatible */
|
||
|
PMMX = 1, /* Pentium with MMX */
|
||
|
PPRO = 2, /* Pentium Pro */
|
||
|
PII = 3, /* Pentium II */
|
||
|
C6X86 = 4,
|
||
|
C6X86MX = 5,
|
||
|
AMDK63D = 6,
|
||
|
AMDK6 = 7,
|
||
|
AMDK5 = 8,
|
||
|
MACG3 = 9,
|
||
|
MAC68K = 10,
|
||
|
XMM = 11, /* SIMD instructions */
|
||
|
WMT = 12, /* Willamette Processor */
|
||
|
SpecialProc = -1 /* Will NEVER be returned by CPUID, function dependent meaning */
|
||
|
} PROCTYPE;
|
||
|
|
||
|
/****************************************************************************
|
||
|
* Exports
|
||
|
****************************************************************************/
|
||
|
|
||
|
/****************************************************************************
|
||
|
*
|
||
|
* ROUTINE : findCPUId
|
||
|
*
|
||
|
* INPUTS : None
|
||
|
*
|
||
|
* OUTPUTS : None.
|
||
|
*
|
||
|
* RETURNS : PROCTYPE: processor type.
|
||
|
*
|
||
|
* FUNCTION : Returns type of CPU in your system.
|
||
|
*
|
||
|
* SPECIAL NOTES : None.
|
||
|
*
|
||
|
****************************************************************************/
|
||
|
#ifdef __cplusplus /* this ifdef only works correctly for Microsoft visual C compilers */
|
||
|
extern "C" PROCTYPE findCPUId ( void );
|
||
|
#else
|
||
|
extern PROCTYPE findCPUId ( void );
|
||
|
#endif
|
||
|
|
||
|
#endif
|