1 /** @file
2 CPUID Definitions.
3 
4 CPUID definitions based on contents of the Intel(R) 64 and IA-32 Architectures
5 Software Developer's Manual, Volume 2A, CPUID instruction.
6 
7 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
8 This program and the accompanying materials
9 are licensed and made available under the terms and conditions of the BSD License
10 which accompanies this distribution.  The full text of the license may be found at
11 http://opensource.org/licenses/bsd-license.php
12 
13 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 WITHOUT 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