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