]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Framework/Guid/DataHubRecords/DataHubSubClassCache.h
Sync EDKII BaseTools to BaseTools project r1940
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Guid / DataHubRecords / DataHubSubClassCache.h
CommitLineData
3eb9473e 1/*++\r
2\r
3Copyright (c) 2004, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 DataHubSubClassCache.h\r
15 \r
16Abstract:\r
17\r
18 Definitions for Cache sub class data records\r
19\r
20Revision History\r
21\r
22--*/\r
23\r
24#ifndef _DATAHUB_SUBCLASS_CACHE_H_\r
25#define _DATAHUB_SUBCLASS_CACHE_H_\r
26\r
27#define EFI_CACHE_SUBCLASS_VERSION 0x00010000\r
28\r
29#define EFI_CACHE_SUBCLASS_GUID \\r
7ccf38a3 30{ 0x7f0013a7, 0xdc79, 0x4b22, {0x80, 0x99, 0x11, 0xf7, 0x5f, 0xdc, 0x82, 0x9d} }\r
3eb9473e 31\r
32typedef EFI_EXP_BASE2_DATA EFI_CACHE_SIZE_DATA;\r
33\r
34typedef EFI_EXP_BASE2_DATA EFI_MAXIMUM_CACHE_SIZE_DATA;\r
35\r
36typedef EFI_EXP_BASE10_DATA EFI_CACHE_SPEED_DATA;\r
37\r
38typedef STRING_REF EFI_CACHE_SOCKET_DATA;\r
39\r
40typedef struct {\r
41 UINT32 Other :1;\r
42 UINT32 Unknown :1;\r
43 UINT32 NonBurst :1;\r
44 UINT32 Burst :1;\r
45 UINT32 PipelineBurst :1;\r
46 UINT32 Asynchronous :1;\r
47 UINT32 Synchronous :1;\r
48 UINT32 Reserved :25;\r
49} EFI_CACHE_SRAM_TYPE_DATA;\r
50\r
51typedef enum { \r
52 EfiCacheErrorOther = 1,\r
53 EfiCacheErrorUnknown = 2,\r
54 EfiCacheErrorNone = 3,\r
55 EfiCacheErrorParity = 4,\r
56 EfiCacheErrorSingleBit = 5,\r
57 EfiCacheErrorMultiBit = 6\r
58} EFI_CACHE_ERROR_TYPE_DATA;\r
59\r
60typedef enum { \r
61 EfiCacheTypeOther = 1,\r
62 EfiCacheTypeUnknown = 2,\r
63 EfiCacheTypeInstruction = 3,\r
64 EfiCacheTypeData = 4,\r
65 EfiCacheTypeUnified = 5\r
66} EFI_CACHE_TYPE_DATA;\r
67\r
68typedef enum { \r
69 EfiCacheAssociativityOther = 1,\r
70 EfiCacheAssociativityUnknown = 2,\r
71 EfiCacheAssociativityDirectMapped = 3,\r
72 EfiCacheAssociativity2Way = 4,\r
73 EfiCacheAssociativity4Way = 5,\r
74 EfiCacheAssociativityFully = 6,\r
75 EfiCacheAssociativity8Way = 7,\r
2c40a813 76 EfiCacheAssociativity16Way = 8,\r
77 EfiCacheAssociativity24Way = 9\r
3eb9473e 78} EFI_CACHE_ASSOCIATIVITY_DATA;\r
79\r
80typedef struct { \r
81 UINT32 Level :3;\r
82 UINT32 Socketed :1;\r
83 UINT32 Reserved2 :1;\r
84 UINT32 Location :2;\r
85 UINT32 Enable :1;\r
86 UINT32 OperationalMode :2;\r
87 UINT32 Reserved1 :22;\r
88} EFI_CACHE_CONFIGURATION_DATA;\r
89\r
90#define EFI_CACHE_L1 1\r
91#define EFI_CACHE_L2 2\r
92#define EFI_CACHE_L3 3\r
93#define EFI_CACHE_L4 4\r
94#define EFI_CACHE_LMAX EFI_CACHE_L4\r
95\r
96#define EFI_CACHE_SOCKETED 1\r
97#define EFI_CACHE_NOT_SOCKETED 0\r
98\r
99typedef enum {\r
100 EfiCacheInternal = 0,\r
101 EfiCacheExternal = 1,\r
102 EfiCacheReserved = 2,\r
103 EfiCacheUnknown = 3\r
104} EFI_CACHE_LOCATION;\r
105 \r
106#define EFI_CACHE_ENABLED 1\r
107#define EFI_CACHE_DISABLED 0\r
108\r
109typedef enum {\r
110 EfiCacheWriteThrough = 0,\r
111 EfiCacheWriteBack = 1,\r
112 EfiCacheDynamicMode = 2,\r
113 EfiCacheUnknownMode = 3\r
114} EFI_CACHE_OPERATIONAL_MODE;\r
115\r
116\r
117\r
118typedef enum {\r
119 CacheSizeRecordType = 1,\r
120 MaximumSizeCacheRecordType = 2,\r
121 CacheSpeedRecordType = 3,\r
122 CacheSocketRecordType = 4,\r
123 CacheSramTypeRecordType = 5,\r
124 CacheInstalledSramTypeRecordType = 6,\r
125 CacheErrorTypeRecordType = 7,\r
126 CacheTypeRecordType = 8,\r
127 CacheAssociativityRecordType = 9,\r
128 CacheConfigRecordType = 10\r
129} EFI_CACHE_VARIABLE_RECORD_TYPE;\r
130\r
131\r
132typedef union {\r
133 EFI_CACHE_SIZE_DATA CacheSize;\r
134 EFI_MAXIMUM_CACHE_SIZE_DATA MaximumCacheSize;\r
135 EFI_CACHE_SPEED_DATA CacheSpeed;\r
136 EFI_CACHE_SOCKET_DATA CacheSocket;\r
137 EFI_CACHE_SRAM_TYPE_DATA CacheSramType;\r
138 EFI_CACHE_SRAM_TYPE_DATA CacheInstalledSramType;\r
139 EFI_CACHE_ERROR_TYPE_DATA CacheErrorType;\r
140 EFI_CACHE_TYPE_DATA CacheType;\r
141 EFI_CACHE_ASSOCIATIVITY_DATA CacheAssociativity;\r
142 EFI_CACHE_CONFIGURATION_DATA CacheConfig;\r
143 EFI_CACHE_ASSOCIATION_DATA CacheAssociation;\r
144} EFI_CACHE_VARIABLE_RECORD;\r
145\r
146typedef struct {\r
147 EFI_SUBCLASS_TYPE1_HEADER DataRecordHeader;\r
148 EFI_CACHE_VARIABLE_RECORD VariableRecord; \r
149} EFI_CACHE_DATA_RECORD;\r
150\r
151\r
152#endif\r