summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/AMD64/CPUID.h
blob: 9b9c3a1cce058954a294b8d79518cafc38c970f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/* -------------------------------------------

	Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.

	File: CPUID.h
	Purpose: CPUID flags.

	Revision History:

	30/01/24: Added file (amlel)

------------------------------------------- */

#pragma once

#include <NewKit/Defines.h>

EXTERN_C
{
#include <cpuid.h>
}

namespace Kernel
{

	enum
	{
		kCPUFeatureSSE3		  = 1 << 0,
		kCPUFeaturePCLMUL	  = 1 << 1,
		kCPUFeatureDTES64	  = 1 << 2,
		kCPUFeatureMONITOR	  = 1 << 3,
		kCPUFeatureDS_CPL	  = 1 << 4,
		kCPUFeatureVMX		  = 1 << 5,
		kCPUFeatureSMX		  = 1 << 6,
		kCPUFeatureEST		  = 1 << 7,
		kCPUFeatureTM2		  = 1 << 8,
		kCPUFeatureSSSE3	  = 1 << 9,
		kCPUFeatureCID		  = 1 << 10,
		kCPUFeatureSDBG		  = 1 << 11,
		kCPUFeatureFMA		  = 1 << 12,
		kCPUFeatureCX16		  = 1 << 13,
		kCPUFeatureXTPR		  = 1 << 14,
		kCPUFeaturePDCM		  = 1 << 15,
		kCPUFeaturePCID		  = 1 << 17,
		kCPUFeatureDCA		  = 1 << 18,
		kCPUFeatureSSE4_1	  = 1 << 19,
		kCPUFeatureSSE4_2	  = 1 << 20,
		kCPUFeatureX2APIC	  = 1 << 21,
		kCPUFeatureMOVBE	  = 1 << 22,
		kCPUFeaturePOP3C	  = 1 << 23,
		kCPUFeatureECXTSC	  = 1 << 24,
		kCPUFeatureAES		  = 1 << 25,
		kCPUFeatureXSAVE	  = 1 << 26,
		kCPUFeatureOSXSAVE	  = 1 << 27,
		kCPUFeatureAVX		  = 1 << 28,
		kCPUFeatureF16C		  = 1 << 29,
		kCPUFeatureRDRAND	  = 1 << 30,
		kCPUFeatureHYPERVISOR = 1 << 31,
		kCPUFeatureFPU		  = 1 << 0,
		kCPUFeatureVME		  = 1 << 1,
		kCPUFeatureDE		  = 1 << 2,
		kCPUFeaturePSE		  = 1 << 3,
		kCPUFeatureEDXTSC	  = 1 << 4,
		kCPUFeatureMSR		  = 1 << 5,
		kCPUFeaturePAE		  = 1 << 6,
		kCPUFeatureMCE		  = 1 << 7,
		kCPUFeatureCX8		  = 1 << 8,
		kCPUFeatureAPIC		  = 1 << 9,
		kCPUFeatureSEP		  = 1 << 11,
		kCPUFeatureMTRR		  = 1 << 12,
		kCPUFeaturePGE		  = 1 << 13,
		kCPUFeatureMCA		  = 1 << 14,
		kCPUFeatureCMOV		  = 1 << 15,
		kCPUFeaturePAT		  = 1 << 16,
		kCPUFeaturePSE36	  = 1 << 17,
		kCPUFeaturePSN		  = 1 << 18,
		kCPUFeatureCLFLUSH	  = 1 << 19,
		kCPUFeatureDS		  = 1 << 21,
		kCPUFeatureACPI		  = 1 << 22,
		kCPUFeatureMMX		  = 1 << 23,
		kCPUFeatureFXSR		  = 1 << 24,
		kCPUFeatureSSE		  = 1 << 25,
		kCPUFeatureSSE2		  = 1 << 26,
		kCPUFeatureSS		  = 1 << 27,
		kCPUFeatureHTT		  = 1 << 28,
		kCPUFeatureTM		  = 1 << 29,
		kCPUFeatureIA64		  = 1 << 30,
		kCPUFeaturePBE		  = 1 << 31
	};

	typedef Int64 CPUID;
} // namespace Kernel