Cpuid.h revision 4de216c01641fe4362cabfa0687378a973490832
1/** @file
2CPUID Definitions.
3
4CPUID definitions based on contents of the Intel(R) 64 and IA-32 Architectures
5Software Developer's Manual, Volume 2A, CPUID instruction.
6
7Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
8This program and the accompanying materials
9are licensed and made available under the terms and conditions of the BSD License
10which accompanies this distribution.  The full text of the license may be found at
11http://opensource.org/licenses/bsd-license.php
12
13THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15
16**/
17
18#ifndef __CPUID_H__
19#define __CPUID_H__
20
21//
22// Definitions for CPUID instruction
23//
24#define CPUID_SIGNATURE                         0x0
25
26#define CPUID_VERSION_INFO                      0x1
27
28#define CPUID_CACHE_INFO                        0x2
29
30#define CPUID_SERIAL_NUMBER                     0x3
31
32#define CPUID_CACHE_PARAMS                      0x4
33
34#define CPUID_MONITOR_MWAIT                     0x5
35
36#define CPUID_EXTENDED_TOPOLOGY                 0xB
37#define   CPUID_EXTENDED_TOPOLOGY_LEVEL_TYPE_INVALID  0x0
38#define   CPUID_EXTENDED_TOPOLOGY_LEVEL_TYPE_SMT      0x1
39#define   CPUID_EXTENDED_TOPOLOGY_LEVEL_TYPE_CORE     0x2
40
41#define CPUID_EXTENDED_FUNCTION                 0x80000000
42
43#define CPUID_EXTENDED_CPU_SIG                  0x80000001
44
45#define CPUID_BRAND_STRING1                     0x80000002
46
47#define CPUID_BRAND_STRING2                     0x80000003
48
49#define CPUID_BRAND_STRING3                     0x80000004
50
51#define CPUID_VIR_PHY_ADDRESS_SIZE              0x80000008
52
53#endif
54