ApertureOS
Main Page
Modules
Data Structures
Files
File List
Globals
cpuid.h
Go to the documentation of this file.
1
#ifndef _CPUID_H_
2
#define _CPUID_H_
3
4
#include "
types.h
"
5
6
typedef
enum
7
{
8
CPUID_FEAT_ECX_SSE3
= 1 << 0,
9
CPUID_FEAT_ECX_PCLMUL
= 1 << 1,
10
CPUID_FEAT_ECX_DTES64
= 1 << 2,
11
CPUID_FEAT_ECX_MONITOR
= 1 << 3,
12
CPUID_FEAT_ECX_DS_CPL
= 1 << 4,
13
CPUID_FEAT_ECX_VMX
= 1 << 5,
14
CPUID_FEAT_ECX_SMX
= 1 << 6,
15
CPUID_FEAT_ECX_EST
= 1 << 7,
16
CPUID_FEAT_ECX_TM2
= 1 << 8,
17
CPUID_FEAT_ECX_SSSE3
= 1 << 9,
18
CPUID_FEAT_ECX_CID
= 1 << 10,
19
CPUID_FEAT_ECX_FMA
= 1 << 12,
20
CPUID_FEAT_ECX_CX16
= 1 << 13,
21
CPUID_FEAT_ECX_ETPRD
= 1 << 14,
22
CPUID_FEAT_ECX_PDCM
= 1 << 15,
23
CPUID_FEAT_ECX_DCA
= 1 << 18,
24
CPUID_FEAT_ECX_SSE4_1
= 1 << 19,
25
CPUID_FEAT_ECX_SSE4_2
= 1 << 20,
26
CPUID_FEAT_ECX_x2APIC
= 1 << 21,
27
CPUID_FEAT_ECX_MOVBE
= 1 << 22,
28
CPUID_FEAT_ECX_POPCNT
= 1 << 23,
29
CPUID_FEAT_ECX_AES
= 1 << 25,
30
CPUID_FEAT_ECX_XSAVE
= 1 << 26,
31
CPUID_FEAT_ECX_OSXSAVE
= 1 << 27,
32
CPUID_FEAT_ECX_AVX
= 1 << 28,
33
34
CPUID_FEAT_EDX_FPU
= 1 << 0,
35
CPUID_FEAT_EDX_VME
= 1 << 1,
36
CPUID_FEAT_EDX_DE
= 1 << 2,
37
CPUID_FEAT_EDX_PSE
= 1 << 3,
38
CPUID_FEAT_EDX_TSC
= 1 << 4,
39
CPUID_FEAT_EDX_MSR
= 1 << 5,
40
CPUID_FEAT_EDX_PAE
= 1 << 6,
41
CPUID_FEAT_EDX_MCE
= 1 << 7,
42
CPUID_FEAT_EDX_CX8
= 1 << 8,
43
CPUID_FEAT_EDX_APIC
= 1 << 9,
44
CPUID_FEAT_EDX_SEP
= 1 << 11,
45
CPUID_FEAT_EDX_MTRR
= 1 << 12,
46
CPUID_FEAT_EDX_PGE
= 1 << 13,
47
CPUID_FEAT_EDX_MCA
= 1 << 14,
48
CPUID_FEAT_EDX_CMOV
= 1 << 15,
49
CPUID_FEAT_EDX_PAT
= 1 << 16,
50
CPUID_FEAT_EDX_PSE36
= 1 << 17,
51
CPUID_FEAT_EDX_PSN
= 1 << 18,
52
CPUID_FEAT_EDX_CLF
= 1 << 19,
53
CPUID_FEAT_EDX_DTES
= 1 << 21,
54
CPUID_FEAT_EDX_ACPI
= 1 << 22,
55
CPUID_FEAT_EDX_MMX
= 1 << 23,
56
CPUID_FEAT_EDX_FXSR
= 1 << 24,
57
CPUID_FEAT_EDX_SSE
= 1 << 25,
58
CPUID_FEAT_EDX_SSE2
= 1 << 26,
59
CPUID_FEAT_EDX_SS
= 1 << 27,
60
CPUID_FEAT_EDX_HTT
= 1 << 28,
61
CPUID_FEAT_EDX_TM1
= 1 << 29,
62
CPUID_FEAT_EDX_IA64
= 1 << 30,
63
CPUID_FEAT_EDX_PBE
= 1 << 31
64
}
CPUID_FEAT
;
65
66
#define CPUID_ECX 0
67
#define CPUID_EDX 1
68
69
uint8_t
CPUID_FeatureIsAvailable
(uint8_t cpuid_register,
CPUID_FEAT
feature);
70
71
#endif
/* end of include guard: _CPUID_H_ */
CPUID_FEAT_EDX_PSE36
Definition:
cpuid.h:50
CPUID_FEAT_EDX_MCA
Definition:
cpuid.h:47
CPUID_FEAT_EDX_SSE2
Definition:
cpuid.h:58
CPUID_FEAT_ECX_OSXSAVE
Definition:
cpuid.h:31
types.h
CPUID_FEAT_EDX_SEP
Definition:
cpuid.h:44
CPUID_FEAT_EDX_SS
Definition:
cpuid.h:59
CPUID_FEAT_EDX_TM1
Definition:
cpuid.h:61
CPUID_FEAT_EDX_MTRR
Definition:
cpuid.h:45
CPUID_FEAT_ECX_SSE4_2
Definition:
cpuid.h:25
CPUID_FEAT_EDX_PBE
Definition:
cpuid.h:63
CPUID_FEAT_ECX_DS_CPL
Definition:
cpuid.h:12
CPUID_FEAT_EDX_DTES
Definition:
cpuid.h:53
CPUID_FEAT_ECX_XSAVE
Definition:
cpuid.h:30
CPUID_FEAT_EDX_APIC
Definition:
cpuid.h:43
CPUID_FEAT_ECX_SSE3
Definition:
cpuid.h:8
CPUID_FEAT_EDX_PAE
Definition:
cpuid.h:40
CPUID_FEAT_EDX_MSR
Definition:
cpuid.h:39
CPUID_FEAT_EDX_CMOV
Definition:
cpuid.h:48
CPUID_FEAT_EDX_MCE
Definition:
cpuid.h:41
CPUID_FEAT_ECX_AVX
Definition:
cpuid.h:32
CPUID_FEAT_EDX_SSE
Definition:
cpuid.h:57
CPUID_FEAT_ECX_CID
Definition:
cpuid.h:18
CPUID_FEAT_ECX_MOVBE
Definition:
cpuid.h:27
CPUID_FEAT_EDX_TSC
Definition:
cpuid.h:38
CPUID_FEAT_EDX_IA64
Definition:
cpuid.h:62
CPUID_FEAT_ECX_MONITOR
Definition:
cpuid.h:11
CPUID_FEAT_EDX_ACPI
Definition:
cpuid.h:54
CPUID_FEAT_EDX_MMX
Definition:
cpuid.h:55
CPUID_FEAT_ECX_SSSE3
Definition:
cpuid.h:17
CPUID_FEAT_ECX_EST
Definition:
cpuid.h:15
CPUID_FEAT_EDX_FPU
Definition:
cpuid.h:34
CPUID_FEAT_EDX_PSE
Definition:
cpuid.h:37
CPUID_FeatureIsAvailable
uint8_t CPUID_FeatureIsAvailable(uint8_t cpuid_register, CPUID_FEAT feature)
Definition:
cpuid.c:5
CPUID_FEAT
CPUID_FEAT
Definition:
cpuid.h:6
CPUID_FEAT_ECX_FMA
Definition:
cpuid.h:19
CPUID_FEAT_ECX_CX16
Definition:
cpuid.h:20
CPUID_FEAT_EDX_CX8
Definition:
cpuid.h:42
CPUID_FEAT_ECX_AES
Definition:
cpuid.h:29
CPUID_FEAT_EDX_HTT
Definition:
cpuid.h:60
CPUID_FEAT_ECX_SSE4_1
Definition:
cpuid.h:24
CPUID_FEAT_ECX_ETPRD
Definition:
cpuid.h:21
CPUID_FEAT_EDX_DE
Definition:
cpuid.h:36
CPUID_FEAT_ECX_TM2
Definition:
cpuid.h:16
CPUID_FEAT_EDX_VME
Definition:
cpuid.h:35
CPUID_FEAT_ECX_PCLMUL
Definition:
cpuid.h:9
CPUID_FEAT_ECX_PDCM
Definition:
cpuid.h:22
CPUID_FEAT_EDX_FXSR
Definition:
cpuid.h:56
CPUID_FEAT_EDX_CLF
Definition:
cpuid.h:52
CPUID_FEAT_ECX_POPCNT
Definition:
cpuid.h:28
CPUID_FEAT_ECX_x2APIC
Definition:
cpuid.h:26
CPUID_FEAT_EDX_PAT
Definition:
cpuid.h:49
CPUID_FEAT_ECX_DCA
Definition:
cpuid.h:23
CPUID_FEAT_ECX_SMX
Definition:
cpuid.h:14
CPUID_FEAT_EDX_PSN
Definition:
cpuid.h:51
CPUID_FEAT_ECX_DTES64
Definition:
cpuid.h:10
CPUID_FEAT_EDX_PGE
Definition:
cpuid.h:46
CPUID_FEAT_ECX_VMX
Definition:
cpuid.h:13
Generated by
1.8.9.1