+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- DataHubSubClassCache.h\r
- \r
-Abstract:\r
-\r
- Definitions for Cache sub class data records\r
-\r
-Revision History\r
-\r
---*/\r
-\r
-#ifndef _DATAHUB_SUBCLASS_CACHE_H_\r
-#define _DATAHUB_SUBCLASS_CACHE_H_\r
-\r
-#define EFI_CACHE_SUBCLASS_VERSION 0x00010000\r
-\r
-#define EFI_CACHE_SUBCLASS_GUID \\r
-{ 0x7f0013a7, 0xdc79, 0x4b22, {0x80, 0x99, 0x11, 0xf7, 0x5f, 0xdc, 0x82, 0x9d} }\r
-\r
-typedef EFI_EXP_BASE2_DATA EFI_CACHE_SIZE_DATA;\r
-\r
-typedef EFI_EXP_BASE2_DATA EFI_MAXIMUM_CACHE_SIZE_DATA;\r
-\r
-typedef EFI_EXP_BASE10_DATA EFI_CACHE_SPEED_DATA;\r
-\r
-typedef STRING_REF EFI_CACHE_SOCKET_DATA;\r
-\r
-typedef struct {\r
- UINT32 Other :1;\r
- UINT32 Unknown :1;\r
- UINT32 NonBurst :1;\r
- UINT32 Burst :1;\r
- UINT32 PipelineBurst :1;\r
- //\r
- // Inconsistent between CacheSubclass 0.9 and SMBIOS specifications here:\r
- // In CacheSubclass specification 0.9, the sequence of Asynchronous and Synchronous fileds\r
- // are opposite to SMBIOS specification.\r
- //\r
- UINT32 Asynchronous :1;\r
- UINT32 Synchronous :1;\r
- UINT32 Reserved :25;\r
-} EFI_CACHE_SRAM_TYPE_DATA;\r
-\r
-typedef enum { \r
- EfiCacheErrorOther = 1,\r
- EfiCacheErrorUnknown = 2,\r
- EfiCacheErrorNone = 3,\r
- EfiCacheErrorParity = 4,\r
- EfiCacheErrorSingleBit = 5,\r
- EfiCacheErrorMultiBit = 6\r
-} EFI_CACHE_ERROR_TYPE_DATA;\r
-\r
-typedef enum { \r
- EfiCacheTypeOther = 1,\r
- EfiCacheTypeUnknown = 2,\r
- EfiCacheTypeInstruction = 3,\r
- EfiCacheTypeData = 4,\r
- EfiCacheTypeUnified = 5\r
-} EFI_CACHE_TYPE_DATA;\r
-\r
-typedef enum { \r
- EfiCacheAssociativityOther = 0x01,\r
- EfiCacheAssociativityUnknown = 0x02,\r
- EfiCacheAssociativityDirectMapped = 0x03,\r
- EfiCacheAssociativity2Way = 0x04,\r
- EfiCacheAssociativity4Way = 0x05,\r
- EfiCacheAssociativityFully = 0x06,\r
- EfiCacheAssociativity8Way = 0x07,\r
- EfiCacheAssociativity16Way = 0x08,\r
- EfiCacheAssociativity12Way = 0x09,\r
- EfiCacheAssociativity24Way = 0x0A,\r
- EfiCacheAssociativity32Way = 0x0B,\r
- EfiCacheAssociativity48Way = 0x0C,\r
- EfiCacheAssociativity64Way = 0x0D\r
-} EFI_CACHE_ASSOCIATIVITY_DATA;\r
-\r
-typedef struct { \r
- UINT32 Level :3;\r
- UINT32 Socketed :1;\r
- UINT32 Reserved2 :1;\r
- UINT32 Location :2;\r
- UINT32 Enable :1;\r
- UINT32 OperationalMode :2;\r
- UINT32 Reserved1 :22;\r
-} EFI_CACHE_CONFIGURATION_DATA;\r
-\r
-#define EFI_CACHE_L1 1\r
-#define EFI_CACHE_L2 2\r
-#define EFI_CACHE_L3 3\r
-#define EFI_CACHE_L4 4\r
-#define EFI_CACHE_LMAX EFI_CACHE_L4\r
-\r
-#define EFI_CACHE_SOCKETED 1\r
-#define EFI_CACHE_NOT_SOCKETED 0\r
-\r
-typedef enum {\r
- EfiCacheInternal = 0,\r
- EfiCacheExternal = 1,\r
- EfiCacheReserved = 2,\r
- EfiCacheUnknown = 3\r
-} EFI_CACHE_LOCATION;\r
- \r
-#define EFI_CACHE_ENABLED 1\r
-#define EFI_CACHE_DISABLED 0\r
-\r
-typedef enum {\r
- EfiCacheWriteThrough = 0,\r
- EfiCacheWriteBack = 1,\r
- EfiCacheDynamicMode = 2,\r
- EfiCacheUnknownMode = 3\r
-} EFI_CACHE_OPERATIONAL_MODE;\r
-\r
-\r
-\r
-typedef enum {\r
- CacheSizeRecordType = 1,\r
- MaximumSizeCacheRecordType = 2,\r
- CacheSpeedRecordType = 3,\r
- CacheSocketRecordType = 4,\r
- CacheSramTypeRecordType = 5,\r
- CacheInstalledSramTypeRecordType = 6,\r
- CacheErrorTypeRecordType = 7,\r
- CacheTypeRecordType = 8,\r
- CacheAssociativityRecordType = 9,\r
- CacheConfigRecordType = 10\r
-} EFI_CACHE_VARIABLE_RECORD_TYPE;\r
-\r
-\r
-typedef union {\r
- EFI_CACHE_SIZE_DATA CacheSize;\r
- EFI_MAXIMUM_CACHE_SIZE_DATA MaximumCacheSize;\r
- EFI_CACHE_SPEED_DATA CacheSpeed;\r
- EFI_CACHE_SOCKET_DATA CacheSocket;\r
- EFI_CACHE_SRAM_TYPE_DATA CacheSramType;\r
- EFI_CACHE_SRAM_TYPE_DATA CacheInstalledSramType;\r
- EFI_CACHE_ERROR_TYPE_DATA CacheErrorType;\r
- EFI_CACHE_TYPE_DATA CacheType;\r
- EFI_CACHE_ASSOCIATIVITY_DATA CacheAssociativity;\r
- EFI_CACHE_CONFIGURATION_DATA CacheConfig;\r
- EFI_CACHE_ASSOCIATION_DATA CacheAssociation;\r
-} EFI_CACHE_VARIABLE_RECORD;\r
-\r
-typedef struct {\r
- EFI_SUBCLASS_TYPE1_HEADER DataRecordHeader;\r
- EFI_CACHE_VARIABLE_RECORD VariableRecord; \r
-} EFI_CACHE_DATA_RECORD;\r
-\r
-\r
-#endif\r