diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /Include/CacheSubClass.h | |
download | zprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz |
Diffstat (limited to 'Include/CacheSubClass.h')
-rw-r--r-- | Include/CacheSubClass.h | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/Include/CacheSubClass.h b/Include/CacheSubClass.h new file mode 100644 index 0000000..cfa5475 --- /dev/null +++ b/Include/CacheSubClass.h @@ -0,0 +1,192 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2005, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 6145-F Northbelt Pkwy, Norcross, GA 30071 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** + +//********************************************************************** +// $Header: /Alaska/BIN/Core/Include/CacheSubClass.h 2 6/29/10 2:05a Felixp $ +// +// $Revision: 2 $ +// +// $Date: 6/29/10 2:05a $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Core/Include/CacheSubClass.h $ +// +// 2 6/29/10 2:05a Felixp +// EFI_CACHE_ASSOCIATIVITY_DATA enum is extended with 32, 48, and 64 way +// values. +// +// 1 10/10/05 4:45p Markw +// +// 1 10/10/05 4:25p Markw +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: CacheSubClass.h +// +// Description: CacheSubClass definitions. +// +//<AMI_FHDR_END> +//********************************************************************** + +#ifndef __CACHE_SUBCLASS_H__ +#define __CACHE_SUBCLASS_H__ + +#include <efi.h> +#include <DataHubSubClass.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define EFI_CACHE_SUBCLASS_GUID \ + {0x7f0013a7,0xdc79,0x4b22,0x80,0x99,0x11,0xf7,0x5f,0xdc,0x82,0x9d} +#define EFI_CACHE_CLASS EFI_DATA_CLASS_DATA +#define EFI_CACHE_SUBCLASS_VERSION 0x00010000 + +//Size +#define EFI_CACHE_SIZE_RECORD_NUMBER 0x00000001 +typedef EFI_EXP_BASE2_DATA EFI_CACHE_SIZE_DATA; + +//Maximum Size +#define EFI_MAXIMUM_CACHE_SIZE_RECORD_NUMBER 0x00000002 +typedef EFI_EXP_BASE2_DATA EFI_MAXIMUM_CACHE_SIZE_DATA; + +//Speed +#define EFI_CACHE_SPEED_RECORD_NUMBER 0x00000003 +typedef EFI_EXP_BASE10_DATA EFI_CACHE_SPEED_DATA; + +//Socket +#define EFI_CACHE_SOCKET_RECORD_NUMBER 0x00000004 +typedef STRING_REF EFI_CACHE_SOCKET_DATA; + +//SRAM Type Supported +#define EFI_CACHE_SRAM_SUPPORT_RECORD_NUMBER 0x00000005 +typedef struct { + UINT16 Other :1; + UINT16 Unknown :1; + UINT16 NonBurst :1; + UINT16 Burst :1; + UINT16 PipelineBurst:1; + UINT16 Asynchronous :1; + UINT16 Synchronous :1; + UINT16 Reserved :9; +} EFI_CACHE_SRAM_TYPE_DATA; + +//SRAM Type Installed +#define EFI_CACHE_SRAM_INSTALL_RECORD_NUMBER 0x00000006 +typedef EFI_CACHE_SRAM_TYPE_DATA EFI_CACHE_SRAM_INSTALL_DATA; + +//Error Correction Type Supported +#define EFI_CACHE_ERROR_SUPPORT_RECORD_NUMBER 0x00000007 +typedef enum { + EfiCacheErrorOther = 1, + EfiCacheErrorUnknown = 2, + EfiCacheErrorNone = 3, + EfiCacheErrorParity = 4, + EfiCacheErrorSingleBit = 5, + EfiCacheErrorMultiBit = 6 +} EFI_CACHE_ERROR_TYPE_DATA; + +//Type +#define EFI_CACHE_TYPE_RECORD_NUMBER 0x00000008 +typedef enum { + EfiCacheTypeOther = 1, + EfiCacheTypeUnknown = 2, + EfiCacheTypeInstruction = 3, + EfiCacheTypeData = 4, + EfiCacheTypeUnified = 5 +} EFI_CACHE_TYPE_DATA; + +//Associativity +#define EFI_CACHE_ASSOCIATIVITY_RECORD_NUMBER 0x00000009 +typedef enum { + EfiCacheAssociativityOther = 1, + EfiCacheAssociativityUnknown = 2, + EfiCacheAssociativityDirectMapped = 3, + EfiCacheAssociativity2Way = 4, + EfiCacheAssociativity4Way = 5, + EfiCacheAssociativityFully = 6, + EfiCacheAssociativity8Way = 7, + EfiCacheAssociativity16Way = 8, + EfiCacheAssociativity32Way = 9, + EfiCacheAssociativity48Way = 10, + EfiCacheAssociativity64Way = 11 +} EFI_CACHE_ASSOCIATIVITY_DATA; + + +//Configuration +#define EFI_CACHE_CONFIGURATION_RECORD_NUMBER 0x0000000A; + +//The following constants are associated with Level: +#define EFI_CACHE_L1 1 +#define EFI_CACHE_L2 2 +#define EFI_CACHE_L3 3 + +//The following constants are associated with Socketed: +#define EFI_CACHE_SOCKETED 1 +#define EFI_CACHE_NOT_SOCKETED 0 + +//The following enumeration is associated with Location: +typedef enum { + EfiCacheInternal = 0, + EfiCacheExternal = 1, + EfiCacheReserved = 2, + EfiCacheUnknown = 3 +} EFI_CACHE_LOCATION; + +//The following constants are associated with Enabled: +#define EFI_CACHE_ENABLED 1 +#define EFI_CACHE_DISABLED 0 + +//The following enumeration is associated with OperationalMode: +typedef enum { + EfiCacheWriteThrough = 0, + EfiCacheWriteBack = 1, + EfiCacheDynamicMode = 2, + EfiCacheUnknownMode = 3 +} EFI_CACHE_OPERATIONAL_MODE; + + +typedef struct { + UINT32 Level :3; + UINT32 Socketed :1; + UINT32 Reserved2 :1; + UINT32 Location :2; + UINT32 Enable :1; + UINT32 OperationalMode:2; + UINT32 Reserved1 :22; +} EFI_CACHE_CONFIGURATION_DATA; + + +/****** DO NOT WRITE BELOW THIS LINE *******/ +#ifdef __cplusplus +} +#endif +#endif + +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2005, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 6145-F Northbelt Pkwy, Norcross, GA 30071 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** |