]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Common/DataHubRecords.h
Add enumeration type for EfiProcessorFamilyIntelPentiumM, EfiProcessorFamilyIntelCele...
[mirror_edk2.git] / MdePkg / Include / Common / DataHubRecords.h
index dc8d29110c6a8a73bb285806140c829d3f6e7e5c..9a45a63636c6fd145150d88a141ee4e1e37de82b 100644 (file)
@@ -1,22 +1,22 @@
 /** @file\r
-  This file defines GUIDs and associated data structures for records posted to the Data Hub. \r
+  This file defines GUIDs and associated data structures for records posted to the Data Hub.\r
   The producers of these records use these definitions to construct records.\r
   The consumers of these records use these definitions to retrieve, filter and parse records.\r
 \r
-  Copyright (c) 2006, Intel Corporation                                                         \r
-  All rights reserved. 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
+  Copyright (c) 2006, Intel Corporation\r
+  All rights reserved. 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
+  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:  DataHubRecords.h\r
 \r
   @par Revision Reference:\r
-  DataHubRecord.h include all data hub sub class defitions from Cache subclass \r
-  spec 0.9, DataHub SubClass spec 0.9, Memory SubClass Spec 0.9, Processor \r
+  DataHubRecord.h include all data hub sub class defitions from Cache subclass\r
+  spec 0.9, DataHub SubClass spec 0.9, Memory SubClass Spec 0.9, Processor\r
   Subclass spec 0.9,Misc SubClass spec 0.9.\r
 \r
 **/\r
@@ -139,7 +139,7 @@ typedef struct {
   UINT32    HeaderSize;\r
   UINT16    Instance;\r
   UINT16    SubInstance;\r
-  UINT32    RecordType;    \r
+  UINT32    RecordType;\r
 } EFI_SUBCLASS_TYPE1_HEADER;\r
 \r
 typedef struct {\r
@@ -305,6 +305,10 @@ typedef enum {
   EfiProcessorFamilyIntelXeonMP         = 0xB5,\r
   EfiProcessorFamilyAMDAthlonXP         = 0xB6,\r
   EfiProcessorFamilyAMDAthlonMP         = 0xB7,\r
+  EfiProcessorFamilyIntelPentiumM       = 0xB9,\r
+  EfiProcessorFamilyIntelCeleronD       = 0xBA,\r
+  EfiProcessorFamilyIntelPentiumD       = 0xBB,\r
+  EfiProcessorFamilyIntelPentiumEx      = 0xBC,\r
   EfiProcessorFamilyIBM390              = 0xC8,\r
   EfiProcessorFamilyG4                  = 0xC9,\r
   EfiProcessorFamilyG5                  = 0xCA,\r
@@ -368,7 +372,10 @@ typedef enum {
   EfiProcessorSocket478              = 0xF,\r
   EfiProcessorSocket754              = 0x10,\r
   EfiProcessorSocket940              = 0x11,\r
-  EfiProcessorSocketLG775            = 0x12\r
+  EfiProcessorSocket939              = 0x12,\r
+  EfiProcessorSocketmPGA604          = 0x13,\r
+  EfiProcessorSocketLGA771           = 0x14,\r
+  EfiProcessorSocketLGA775           = 0x15\r
 \r
 } EFI_PROCESSOR_SOCKET_TYPE_DATA;\r
 \r
@@ -380,7 +387,7 @@ typedef enum {
   EfiProcessorHealthy        = 1,\r
   EfiProcessorPerfRestricted = 2,\r
   EfiProcessorFuncRestricted = 3\r
-} EFI_PROCESSOR_HEALTH_STATUS;  \r
+} EFI_PROCESSOR_HEALTH_STATUS;\r
 \r
 typedef UINTN   EFI_PROCESSOR_PACKAGE_NUMBER_DATA;\r
 \r
@@ -465,7 +472,7 @@ typedef struct {
   UINT32  Reserved      :25;\r
 } EFI_CACHE_SRAM_TYPE_DATA;\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiCacheErrorOther     = 1,\r
   EfiCacheErrorUnknown   = 2,\r
   EfiCacheErrorNone      = 3,\r
@@ -474,7 +481,7 @@ typedef enum {
   EfiCacheErrorMultiBit  = 6\r
 } EFI_CACHE_ERROR_TYPE_DATA;\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiCacheTypeOther       = 1,\r
   EfiCacheTypeUnknown     = 2,\r
   EfiCacheTypeInstruction = 3,\r
@@ -482,7 +489,7 @@ typedef enum {
   EfiCacheTypeUnified     = 5\r
 } EFI_CACHE_TYPE_DATA;\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiCacheAssociativityOther        = 1,\r
   EfiCacheAssociativityUnknown      = 2,\r
   EfiCacheAssociativityDirectMapped = 3,\r
@@ -493,7 +500,7 @@ typedef enum {
   EfiCacheAssociativity16Way        = 8\r
 } EFI_CACHE_ASSOCIATIVITY_DATA;\r
 \r
-typedef struct {  \r
+typedef struct {\r
   UINT32    Level           :3;\r
   UINT32    Socketed        :1;\r
   UINT32    Reserved2       :1;\r
@@ -518,7 +525,7 @@ typedef enum {
   EfiCacheReserved = 2,\r
   EfiCacheUnknown  = 3\r
 } EFI_CACHE_LOCATION;\r
-  \r
+\r
 #define EFI_CACHE_ENABLED    1\r
 #define EFI_CACHE_DISABLED   0\r
 \r
@@ -561,9 +568,9 @@ typedef union {
 \r
 typedef struct {\r
    EFI_SUBCLASS_TYPE1_HEADER      DataRecordHeader;\r
-   EFI_CACHE_VARIABLE_RECORD      VariableRecord;  \r
+   EFI_CACHE_VARIABLE_RECORD      VariableRecord;\r
 } EFI_CACHE_DATA_RECORD;\r
-  \r
+\r
 #define EFI_MEMORY_SUBCLASS_VERSION     0x0100\r
 \r
 \r
@@ -650,7 +657,8 @@ typedef enum _EFI_MEMORY_FORM_FACTOR {
   EfiMemoryFormFactorRowOfChips               = 0x0B,\r
   EfiMemoryFormFactorRimm                     = 0x0C,\r
   EfiMemoryFormFactorSodimm                   = 0x0D,\r
-  EfiMemoryFormFactorSrimm                    = 0x0E\r
+  EfiMemoryFormFactorSrimm                    = 0x0E,\r
+  EfiMemoryFormFactorFbDimm                   = 0x0F\r
 } EFI_MEMORY_FORM_FACTOR;\r
 \r
 typedef enum _EFI_MEMORY_ARRAY_TYPE {\r
@@ -671,7 +679,9 @@ typedef enum _EFI_MEMORY_ARRAY_TYPE {
   EfiMemoryTypeSdram                          = 0x0F,\r
   EfiMemoryTypeSgram                          = 0x10,\r
   EfiMemoryTypeRdram                          = 0x11,\r
-  EfiMemoryTypeDdr                            = 0x12\r
+  EfiMemoryTypeDdr                            = 0x12,\r
+  EfiMemoryTypeDdr2                           = 0x13,\r
+  EfiMemoryTypeDdr2FbDimm                     = 0x14\r
 } EFI_MEMORY_ARRAY_TYPE;\r
 \r
 typedef struct {\r
@@ -811,54 +821,54 @@ typedef struct {
 #define EFI_MISC_BIOS_VENDOR_RECORD_NUMBER  0x00000002\r
 \r
 typedef struct {\r
-  UINT32  Reserved1                         :2;\r
-  UINT32  Unknown                           :1;\r
-  UINT32  BiosCharacteristicsNotSupported   :1;\r
-  UINT32  IsaIsSupported                    :1;\r
-  UINT32  McaIsSupported                    :1;\r
-  UINT32  EisaIsSupported                   :1;\r
-  UINT32  PciIsSupported                    :1;\r
-  UINT32  PcmciaIsSupported                 :1;\r
-  UINT32  PlugAndPlayIsSupported            :1;\r
-  UINT32  ApmIsSupported                    :1;\r
-  UINT32  BiosIsUpgradable                  :1;\r
-  UINT32  BiosShadowingAllowed              :1;\r
-  UINT32  VlVesaIsSupported                 :1;\r
-  UINT32  EscdSupportIsAvailable            :1;\r
-  UINT32  BootFromCdIsSupported             :1;\r
-  UINT32  SelectableBootIsSupported         :1;\r
-  UINT32  RomBiosIsSocketed                 :1;\r
-  UINT32  BootFromPcmciaIsSupported         :1;\r
-  UINT32  EDDSpecificationIsSupported       :1;\r
-  UINT32  JapaneseNecFloppyIsSupported      :1;\r
-  UINT32  JapaneseToshibaFloppyIsSupported  :1;\r
-  UINT32  Floppy525_360IsSupported          :1;\r
-  UINT32  Floppy525_12IsSupported           :1;\r
-  UINT32  Floppy35_720IsSupported           :1;\r
-  UINT32  Floppy35_288IsSupported           :1;\r
-  UINT32  PrintScreenIsSupported            :1;\r
-  UINT32  Keyboard8042IsSupported           :1;\r
-  UINT32  SerialIsSupported                 :1;\r
-  UINT32  PrinterIsSupported                :1;\r
-  UINT32  CgaMonoIsSupported                :1;\r
-  UINT32  NecPc98                           :1;\r
-  UINT32  AcpiIsSupported                   :1;\r
-  UINT32  UsbLegacyIsSupported              :1;\r
-  UINT32  AgpIsSupported                    :1;\r
-  UINT32  I20BootIsSupported                :1;\r
-  UINT32  Ls120BootIsSupported              :1;\r
-  UINT32  AtapiZipDriveBootIsSupported      :1;\r
-  UINT32  Boot1394IsSupported               :1;\r
-  UINT32  SmartBatteryIsSupported           :1;\r
-  UINT32  BiosBootSpecIsSupported           :1;\r
-  UINT32  FunctionKeyNetworkBootIsSupported :1;\r
-  UINT32  Reserved                          :22;\r
+  UINT64  Reserved1                         :2;\r
+  UINT64  Unknown                           :1;\r
+  UINT64  BiosCharacteristicsNotSupported   :1;\r
+  UINT64  IsaIsSupported                    :1;\r
+  UINT64  McaIsSupported                    :1;\r
+  UINT64  EisaIsSupported                   :1;\r
+  UINT64  PciIsSupported                    :1;\r
+  UINT64  PcmciaIsSupported                 :1;\r
+  UINT64  PlugAndPlayIsSupported            :1;\r
+  UINT64  ApmIsSupported                    :1;\r
+  UINT64  BiosIsUpgradable                  :1;\r
+  UINT64  BiosShadowingAllowed              :1;\r
+  UINT64  VlVesaIsSupported                 :1;\r
+  UINT64  EscdSupportIsAvailable            :1;\r
+  UINT64  BootFromCdIsSupported             :1;\r
+  UINT64  SelectableBootIsSupported         :1;\r
+  UINT64  RomBiosIsSocketed                 :1;\r
+  UINT64  BootFromPcmciaIsSupported         :1;\r
+  UINT64  EDDSpecificationIsSupported       :1;\r
+  UINT64  JapaneseNecFloppyIsSupported      :1;\r
+  UINT64  JapaneseToshibaFloppyIsSupported  :1;\r
+  UINT64  Floppy525_360IsSupported          :1;\r
+  UINT64  Floppy525_12IsSupported           :1;\r
+  UINT64  Floppy35_720IsSupported           :1;\r
+  UINT64  Floppy35_288IsSupported           :1;\r
+  UINT64  PrintScreenIsSupported            :1;\r
+  UINT64  Keyboard8042IsSupported           :1;\r
+  UINT64  SerialIsSupported                 :1;\r
+  UINT64  PrinterIsSupported                :1;\r
+  UINT64  CgaMonoIsSupported                :1;\r
+  UINT64  NecPc98                           :1;\r
+  UINT64  AcpiIsSupported                   :1;\r
+  UINT64  UsbLegacyIsSupported              :1;\r
+  UINT64  AgpIsSupported                    :1;\r
+  UINT64  I20BootIsSupported                :1;\r
+  UINT64  Ls120BootIsSupported              :1;\r
+  UINT64  AtapiZipDriveBootIsSupported      :1;\r
+  UINT64  Boot1394IsSupported               :1;\r
+  UINT64  SmartBatteryIsSupported           :1;\r
+  UINT64  BiosBootSpecIsSupported           :1;\r
+  UINT64  FunctionKeyNetworkBootIsSupported :1;\r
+  UINT64  Reserved                          :22;\r
 } EFI_MISC_BIOS_CHARACTERISTICS;\r
 \r
 typedef struct {\r
-  UINT32  BiosReserved                      :16;\r
-  UINT32  SystemReserved                    :16;\r
-  UINT32  Reserved                          :32;\r
+  UINT64  BiosReserved                      :16;\r
+  UINT64  SystemReserved                    :16;\r
+  UINT64  Reserved                          :32;\r
 } EFI_MISC_BIOS_CHARACTERISTICS_EXTENSION;\r
 \r
 typedef struct {\r
@@ -869,7 +879,11 @@ typedef struct {
   EFI_EXP_BASE2_DATA              BiosPhysicalDeviceSize;\r
   EFI_MISC_BIOS_CHARACTERISTICS   BiosCharacteristics1;\r
   EFI_MISC_BIOS_CHARACTERISTICS_EXTENSION  BiosCharacteristics2;\r
-} EFI_MISC_BIOS_VENDOR_DATA;       \r
+  UINT8                           BiosMajorRelease;\r
+  UINT8                           BiosMinorRelease;\r
+  UINT8                           BiosEmbeddedFirmwareMajorRelease;\r
+  UINT8                           BiosEmbeddedFirmwareMinorRelease;\r
+} EFI_MISC_BIOS_VENDOR_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -878,7 +892,7 @@ typedef struct {
 //\r
 #define EFI_MISC_SYSTEM_MANUFACTURER_RECORD_NUMBER 0x00000003\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiSystemWakeupTypeReserved        = 0,\r
   EfiSystemWakeupTypeOther           = 1,\r
   EfiSystemWakeupTypeUnknown         = 2,\r
@@ -897,7 +911,9 @@ typedef struct {
   STRING_REF                      SystemSerialNumber;\r
   EFI_GUID                        SystemUuid;\r
   EFI_MISC_SYSTEM_WAKEUP_TYPE     SystemWakeupType;\r
-} EFI_MISC_SYSTEM_MANUFACTURER_DATA;       \r
+  STRING_REF                      SystemSKUNumber;\r
+  STRING_REF                      SystemFamily;\r
+} EFI_MISC_SYSTEM_MANUFACTURER_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -915,7 +931,7 @@ typedef struct {
   UINT32  Reserved              :27;\r
 } EFI_BASE_BOARD_FEATURE_FLAGS;\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiBaseBoardTypeUnknown                = 1,\r
   EfiBaseBoardTypeOther                  = 2,\r
   EfiBaseBoardTypeServerBlade            = 3,\r
@@ -943,7 +959,7 @@ typedef struct {
   EFI_INTER_LINK_DATA             BaseBoardChassisLink;\r
   UINT32                          BaseBoardNumberLinks;\r
   EFI_INTER_LINK_DATA             LinkN;\r
-} EFI_MISC_BASE_BOARD_MANUFACTURER_DATA;       \r
+} EFI_MISC_BASE_BOARD_MANUFACTURER_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -952,7 +968,7 @@ typedef struct {
 //\r
 #define EFI_MISC_CHASSIS_MANUFACTURER_RECORD_NUMBER  0x00000005\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiMiscChassisTypeOther               = 0x1,\r
   EfiMiscChassisTypeUnknown             = 0x2,\r
   EfiMiscChassisTypeDeskTop             = 0x3,\r
@@ -986,7 +1002,7 @@ typedef struct {
   UINT32  Reserved          :15;\r
 } EFI_MISC_CHASSIS_STATUS;\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiChassisStateOther           = 0x01,\r
   EfiChassisStateUnknown         = 0x02,\r
   EfiChassisStateSafe            = 0x03,\r
@@ -995,7 +1011,7 @@ typedef enum {
   EfiChassisStateNonRecoverable  = 0x06,\r
 } EFI_MISC_CHASSIS_STATE;\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiChassisSecurityStatusOther                          = 0x01,\r
   EfiChassisSecurityStatusUnknown                        = 0x02,\r
   EfiChassisSecurityStatusNone                           = 0x03,\r
@@ -1014,7 +1030,7 @@ typedef struct {
   EFI_BASE_BOARD_TYPE     ChassisBaseBoard;\r
   UINT32                  ChassisElementMinimum;\r
   UINT32                  ChassisElementMaximum;\r
-} EFI_MISC_ELEMENTS; \r
+} EFI_MISC_ELEMENTS;\r
 \r
 typedef struct {\r
   STRING_REF                      ChassisManufacturer;\r
@@ -1041,7 +1057,7 @@ typedef struct {
 //\r
 #define EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_RECORD_NUMBER 0x00000006\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiPortConnectorTypeNone                   = 0x00,\r
   EfiPortConnectorTypeCentronics             = 0x01,\r
   EfiPortConnectorTypeMiniCentronics         = 0x02,\r
@@ -1084,7 +1100,7 @@ typedef enum {
   EfiPortConnectorTypeOther                  = 0xFF,\r
 } EFI_MISC_PORT_CONNECTOR_TYPE;\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiPortTypeNone                      = 0x00,\r
   EfiPortTypeParallelXtAtCompatible    = 0x01,\r
   EfiPortTypeParallelPortPs2           = 0x02,\r
@@ -1129,7 +1145,7 @@ typedef struct {
   EFI_MISC_PORT_CONNECTOR_TYPE  PortExternalConnectorType;\r
   EFI_MISC_PORT_TYPE            PortType;\r
   EFI_MISC_PORT_DEVICE_PATH     PortPath;\r
-} EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA;      \r
+} EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1138,7 +1154,7 @@ typedef struct {
 //\r
 #define EFI_MISC_SYSTEM_SLOT_DESIGNATION_RECORD_NUMBER 0x00000007\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiSlotTypeOther                        = 0x01,\r
   EfiSlotTypeUnknown                      = 0x02,\r
   EfiSlotTypeIsa                          = 0x03,\r
@@ -1163,9 +1179,10 @@ typedef enum {
   EfiSlotTypePC98E                        = 0xA2,\r
   EfiSlotTypePC98LocalBus                 = 0xA3,\r
   EfiSlotTypePC98Card                     = 0xA4,\r
+  EfiSlotTypePciExpress                   = 0xA5\r
 } EFI_MISC_SLOT_TYPE;\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiSlotDataBusWidthOther      = 0x01,\r
   EfiSlotDataBusWidthUnknown    = 0x02,\r
   EfiSlotDataBusWidth8Bit       = 0x03,\r
@@ -1175,14 +1192,14 @@ typedef enum {
   EfiSlotDataBusWidth128Bit     = 0x07,\r
 } EFI_MISC_SLOT_DATA_BUS_WIDTH;\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiSlotUsageOther     = 1,\r
   EfiSlotUsageUnknown   = 2,\r
   EfiSlotUsageAvailable = 3,\r
   EfiSlotUsageInUse     = 4,\r
 } EFI_MISC_SLOT_USAGE;\r
-  \r
-typedef enum {  \r
+\r
+typedef enum {\r
   EfiSlotLengthOther   = 1,\r
   EfiSlotLengthUnknown = 2,\r
   EfiSlotLengthShort   = 3,\r
@@ -1213,7 +1230,7 @@ typedef struct {
   UINT16                        SlotId;\r
   EFI_MISC_SLOT_CHARACTERISTICS SlotCharacteristics;\r
   EFI_DEVICE_PATH_PROTOCOL      SlotDevicePath;\r
-} EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA;      \r
+} EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1222,7 +1239,7 @@ typedef struct {
 //\r
 #define EFI_MISC_ONBOARD_DEVICE_RECORD_NUMBER 0x00000008\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiOnBoardDeviceTypeOther          = 1,\r
   EfiOnBoardDeviceTypeUnknown        = 2,\r
   EfiOnBoardDeviceTypeVideo          = 3,\r
@@ -1262,7 +1279,7 @@ typedef struct {
 //\r
 typedef struct {\r
   STRING_REF                          SystemOptionStringRef[1];\r
-} EFI_MISC_SYSTEM_OPTION_STRING_DATA;      \r
+} EFI_MISC_SYSTEM_OPTION_STRING_DATA;\r
 \r
 #define EFI_MISC_SYSTEM_OPTION_STRING_RECORD_NUMBER 0x0000000A\r
 \r
@@ -1282,7 +1299,7 @@ typedef struct {
   UINT16                              NumberOfInstallableLanguages;\r
   EFI_MISC_LANGUAGE_FLAGS             LanguageFlags;\r
   UINT16                              CurrentLanguageNumber;\r
-} EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA;       \r
+} EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1294,7 +1311,7 @@ typedef struct {
 typedef struct {\r
   UINT16                              LanguageId;\r
   STRING_REF                          SystemLanguageString;\r
-} EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA;      \r
+} EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1307,7 +1324,7 @@ typedef struct {
   STRING_REF               GroupName;\r
   UINT16                   NumberGroupItems;\r
   UINT16                   GroupId;\r
-} EFI_MISC_GROUP_NAME_DATA;  \r
+} EFI_MISC_GROUP_NAME_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1317,12 +1334,40 @@ typedef struct {
 #define EFI_MISC_GROUP_ITEM_SET_RECORD_NUMBER      0x0000000E\r
 \r
 typedef struct {\r
-  EFI_GUID                 SubClass;         \r
+  EFI_GUID                 SubClass;\r
   EFI_INTER_LINK_DATA      GroupLink;\r
   UINT16                   GroupId;\r
   UINT16                   GroupElementId;\r
 } EFI_MISC_GROUP_ITEM_SET_DATA;\r
 \r
+//  Misc. System Event Log  - SMBIOS Type 15\r
+//\r
+#define EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER 0x0000000D\r
+typedef struct {\r
+  UINT16                LogAreaLength;\r
+  UINT16                LogHeaderStartOffset;\r
+  UINT16                LogDataStartOffset;\r
+  UINT8                 AccessMethod;\r
+  UINT8                 LogStatus;\r
+  UINT32                LogChangeToken;\r
+  UINT32                AccessMethodAddress;\r
+  UINT8                 LogHeaderFormat;\r
+  UINT8                 NumberOfSupportedLogType;\r
+  UINT8                 LengthOfLogDescriptor;\r
+} EFI_MISC_SYSTEM_EVENT_LOG_DATA;\r
+\r
+//\r
+// Access Method.\r
+//  0x00~0x04:  as following definition\r
+//  0x05~0x7f:  Available for future assignment.\r
+//  0x80~0xff:  BIOS Vendor/OEM-specific.\r
+//\r
+#define ACCESS_INDEXIO_1INDEX8BIT_DATA8BIT    0x00\r
+#define ACCESS_INDEXIO_2INDEX8BIT_DATA8BIT    0X01\r
+#define ACCESS_INDEXIO_1INDEX16BIT_DATA8BIT   0X02\r
+#define ACCESS_MEMORY_MAPPED                  0x03\r
+#define ACCESS_GPNV                           0x04\r
+\r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
 //\r
@@ -1330,7 +1375,7 @@ typedef struct {
 //\r
 #define EFI_MISC_POINTING_DEVICE_TYPE_RECORD_NUMBER 0x0000000F\r
 \r
-typedef enum { \r
+typedef enum {\r
   EfiPointingDeviceTypeOther         = 0x01,\r
   EfiPointingDeviceTypeUnknown       = 0x02,\r
   EfiPointingDeviceTypeMouse         = 0x03,\r
@@ -1342,7 +1387,7 @@ typedef enum {
   EfiPointingDeviceOpticalSensor     = 0x09,\r
 } EFI_MISC_POINTING_DEVICE_TYPE;\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiPointingDeviceInterfaceOther              = 0x01,\r
   EfiPointingDeviceInterfaceUnknown            = 0x02,\r
   EfiPointingDeviceInterfaceSerial             = 0x03,\r
@@ -1370,7 +1415,7 @@ typedef struct {
 //\r
 #define EFI_MISC_BATTERY_LOCATION_RECORD_NUMBER  0x00000010\r
 \r
-typedef enum { \r
+typedef enum {\r
   EfiBatteryDeviceChemistryTypeOther               = 0x01,\r
   EfiBatteryDeviceChemistryTypeUnknown             = 0x02,\r
   EfiBatteryDeviceChemistryTypeLeadAcid            = 0x03,\r
@@ -1404,7 +1449,7 @@ typedef struct {
   EFI_MISC_BATTERY_SBDS_MANUFACTURE_DATE\r
                                      BatterySbdsManufacturingDate;\r
   UINT32                             BatteryOemSpecific;\r
-} EFI_MISC_BATTERY_LOCATION_DATA;   \r
+} EFI_MISC_BATTERY_LOCATION_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1428,14 +1473,14 @@ typedef struct {
   UINT16                            ResetTimerInterval;\r
   UINT16                            ResetTimeout;\r
 } EFI_MISC_RESET_CAPABILITIES;\r
\r
+\r
 typedef struct {\r
     EFI_MISC_RESET_CAPABILITIES   ResetCapabilities;\r
     UINT16                        ResetCount;\r
     UINT16                        ResetLimit;\r
     UINT16                        ResetTimerInterval;\r
     UINT16                        ResetTimeout;\r
-} EFI_MISC_RESET_CAPABILITIES_DATA;       \r
+} EFI_MISC_RESET_CAPABILITIES_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1449,19 +1494,19 @@ typedef enum {
   EfiHardwareSecurityStatusEnabled        = 1,\r
   EfiHardwareSecurityStatusNotImplemented = 2,\r
   EfiHardwareSecurityStatusUnknown        = 3\r
-} EFI_MISC_HARDWARE_SECURITY_STATUS; \r
+} EFI_MISC_HARDWARE_SECURITY_STATUS;\r
 \r
 typedef struct {\r
-  EFI_MISC_HARDWARE_SECURITY_STATUS   FrontPanelResetStatus       :2;  \r
-  EFI_MISC_HARDWARE_SECURITY_STATUS   AdministratorPasswordStatus :2;  \r
-  EFI_MISC_HARDWARE_SECURITY_STATUS   KeyboardPasswordStatus      :2;  \r
-  EFI_MISC_HARDWARE_SECURITY_STATUS   PowerOnPasswordStatus       :2;  \r
-  EFI_MISC_HARDWARE_SECURITY_STATUS   Reserved                    :24;  \r
+  EFI_MISC_HARDWARE_SECURITY_STATUS   FrontPanelResetStatus       :2;\r
+  EFI_MISC_HARDWARE_SECURITY_STATUS   AdministratorPasswordStatus :2;\r
+  EFI_MISC_HARDWARE_SECURITY_STATUS   KeyboardPasswordStatus      :2;\r
+  EFI_MISC_HARDWARE_SECURITY_STATUS   PowerOnPasswordStatus       :2;\r
+  EFI_MISC_HARDWARE_SECURITY_STATUS   Reserved                    :24;\r
 } EFI_MISC_HARDWARE_SECURITY_SETTINGS;\r
 \r
 typedef struct {\r
   EFI_MISC_HARDWARE_SECURITY_SETTINGS HardwareSecuritySettings;\r
-} EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA;       \r
+} EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1476,7 +1521,7 @@ typedef struct {
   UINT16             ScheduledPoweronHour;\r
   UINT16             ScheduledPoweronMinute;\r
   UINT16             ScheduledPoweronSecond;\r
-} EFI_MISC_SCHEDULED_POWER_ON_MONTH_DATA;  \r
+} EFI_MISC_SCHEDULED_POWER_ON_MONTH_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1507,7 +1552,7 @@ typedef struct {
   EFI_EXP_BASE10_DATA             MDLowerNonrecoverableThreshold;\r
   EFI_EXP_BASE10_DATA             MDUpperNonrecoverableThreshold;\r
   UINT32                          VoltageProbeOemDefined;\r
-} EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_DATA; \r
+} EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1528,7 +1573,7 @@ typedef struct {
   UINT16                         CoolingDeviceUnitGroup;\r
   EFI_EXP_BASE10_DATA            CoolingDeviceNominalSpeed;\r
   UINT32                         CoolingDeviceOemDefined;\r
-} EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA; \r
+} EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1552,7 +1597,7 @@ typedef struct {
   EFI_EXP_BASE10_DATA      TemperatureProbeResolution;\r
   EFI_EXP_BASE10_DATA      TemperatureProbeTolerance;\r
   EFI_EXP_BASE10_DATA      TemperatureProbeAccuracy;\r
-  EFI_EXP_BASE10_DATA      TemperatureProbeNominalValue; \r
+  EFI_EXP_BASE10_DATA      TemperatureProbeNominalValue;\r
   EFI_EXP_BASE10_DATA      MDLowerNoncriticalThreshold;\r
   EFI_EXP_BASE10_DATA      MDUpperNoncriticalThreshold;\r
   EFI_EXP_BASE10_DATA      MDLowerCriticalThreshold;\r
@@ -1560,7 +1605,7 @@ typedef struct {
   EFI_EXP_BASE10_DATA      MDLowerNonrecoverableThreshold;\r
   EFI_EXP_BASE10_DATA      MDUpperNonrecoverableThreshold;\r
   UINT32                   TemperatureProbeOemDefined;\r
-} EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA;  \r
+} EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1623,7 +1668,7 @@ typedef struct {
 \r
 typedef struct {\r
   EFI_PHYSICAL_ADDRESS       BisEntryPoint;\r
-} EFI_MISC_BIS_ENTRY_POINT_DATA;    \r
+} EFI_MISC_BIS_ENTRY_POINT_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1632,7 +1677,7 @@ typedef struct {
 //\r
 #define EFI_MISC_BOOT_INFORMATION_STATUS_RECORD_NUMBER  0x0000001A\r
 \r
-typedef enum {  \r
+typedef enum {\r
   EfiBootInformationStatusNoError                  = 0x00,\r
   EfiBootInformationStatusNoBootableMedia          = 0x01,\r
   EfiBootInformationStatusNormalOSFailedLoading    = 0x02,\r
@@ -1659,7 +1704,7 @@ typedef struct {
 //\r
 #define EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_RECORD_NUMBER   0x0000001B\r
 \r
-typedef enum { \r
+typedef enum {\r
   EfiManagementDeviceTypeOther      = 0x01,\r
   EfiManagementDeviceTypeUnknown    = 0x02,\r
   EfiManagementDeviceTypeLm75       = 0x03,\r
@@ -1675,7 +1720,7 @@ typedef enum {
   EfiManagementDeviceTypeHt82H791   = 0x0D,\r
 } EFI_MISC_MANAGEMENT_DEVICE_TYPE;\r
 \r
-typedef enum { \r
+typedef enum {\r
   EfiManagementDeviceAddressTypeOther   = 1,\r
   EfiManagementDeviceAddressTypeUnknown = 2,\r
   EfiManagementDeviceAddressTypeIOPort  = 3,\r
@@ -1689,7 +1734,7 @@ typedef struct {
   UINTN                            ManagementDeviceAddress;\r
   EFI_MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE\r
                                    ManagementDeviceAddressType;\r
-} EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_DATA; \r
+} EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1702,15 +1747,15 @@ typedef struct {
 typedef struct {\r
   STRING_REF               ManagementDeviceComponentDescription;\r
   EFI_INTER_LINK_DATA      ManagementDeviceLink;\r
-  EFI_INTER_LINK_DATA      ManagementDeviceComponentLink; \r
-} EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA; \r
+  EFI_INTER_LINK_DATA      ManagementDeviceComponentLink;\r
+} EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
 //\r
 // IPMI Data Record - SMBIOS Type 38\r
 //\r
-typedef enum {  \r
+typedef enum {\r
   EfiIpmiOther = 0,\r
   EfiIpmiKcs   = 1,\r
   EfiIpmiSmic  = 2,\r
@@ -1731,7 +1776,7 @@ typedef struct {
   UINT64                                IpmiBaseAddress;\r
   EFI_DEVICE_PATH_PROTOCOL              IpmiDevicePath;\r
 } EFI_MISC_IPMI_INTERFACE_TYPE_DATA;\r
-       \r
+\r
 #define EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER  0x0000001D\r
 \r
 //\r
@@ -1781,35 +1826,55 @@ typedef struct {
 typedef struct {\r
   SMBIOS_STRUCTURE_HDR          Header;\r
   UINT8                         RawData[1];\r
-} EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA; \r
+} EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA;\r
+\r
+#define EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER  0x0000001F\r
+\r
+//\r
+// Declare the following strutures alias to use them more conviniently.\r
+//\r
+typedef EFI_MISC_LAST_PCI_BUS_DATA                        EFI_MISC_LAST_PCI_BUS;\r
+typedef EFI_MISC_BIOS_VENDOR_DATA                         EFI_MISC_BIOS_VENDOR;\r
+typedef EFI_MISC_SYSTEM_MANUFACTURER_DATA                 EFI_MISC_SYSTEM_MANUFACTURER;\r
+typedef EFI_MISC_BASE_BOARD_MANUFACTURER_DATA             EFI_MISC_BASE_BOARD_MANUFACTURER;\r
+typedef EFI_MISC_CHASSIS_MANUFACTURER_DATA                EFI_MISC_CHASSIS_MANUFACTURER;\r
+typedef EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA  EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR;\r
+typedef EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA             EFI_MISC_SYSTEM_SLOT_DESIGNATION;\r
+typedef EFI_MISC_ONBOARD_DEVICE_DATA                      EFI_MISC_ONBOARD_DEVICE;\r
+typedef EFI_MISC_PORTING_DEVICE_TYPE_DATA                 EFI_MISC_ONBOARD_DEVICE_TYPE_DATA;\r
+typedef EFI_MISC_OEM_STRING_DATA                          EFI_MISC_OEM_STRING;\r
+typedef EFI_MISC_SYSTEM_OPTION_STRING_DATA                EFI_MISC_SYSTEM_OPTION_STRING;\r
+typedef EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA     EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES;\r
+typedef EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA              EFI_MISC_SYSTEM_LANGUAGE_STRING;\r
+typedef EFI_MISC_SYSTEM_EVENT_LOG_DATA                    EFI_MISC_SYSTEM_EVENT_LOG;\r
+typedef EFI_MISC_BIS_ENTRY_POINT_DATA                     EFI_MISC_BIS_ENTRY_POINT;\r
+typedef EFI_MISC_BOOT_INFORMATION_STATUS_DATA             EFI_MISC_BOOT_INFORMATION_STATUS;\r
+typedef EFI_MISC_SYSTEM_POWER_SUPPLY_DATA                 EFI_MISC_SYSTEM_POWER_SUPPLY;\r
+typedef EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA         EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION;\r
 \r
-#define EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER  0x0000001F \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
 typedef union {\r
   EFI_MISC_LAST_PCI_BUS_DATA                         LastPciBus;\r
   EFI_MISC_BIOS_VENDOR_DATA                          MiscBiosVendor;\r
   EFI_MISC_SYSTEM_MANUFACTURER_DATA                  MiscSystemManufacturer;\r
   EFI_MISC_BASE_BOARD_MANUFACTURER_DATA              MiscBaseBoardManufacturer;\r
-  EFI_MISC_CHASSIS_MANUFACTURER_DATA                 MiscChassisManufacturer;  \r
+  EFI_MISC_CHASSIS_MANUFACTURER_DATA                 MiscChassisManufacturer;\r
   EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA   MiscPortInternalConnectorDesignator;\r
   EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA              MiscSystemSlotDesignation;\r
   EFI_MISC_ONBOARD_DEVICE_DATA                       MiscOnboardDevice;\r
   EFI_MISC_OEM_STRING_DATA                           MiscOemString;\r
   EFI_MISC_SYSTEM_OPTION_STRING_DATA                 MiscOptionString;\r
   EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA      NumberOfInstallableLanguages;\r
-  EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA               MiscSystemLanguageString;  \r
+  EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA               MiscSystemLanguageString;\r
+  EFI_MISC_SYSTEM_EVENT_LOG_DATA                     MiscSystemEventLog;\r
   EFI_MISC_GROUP_NAME_DATA                           MiscGroupNameData;\r
   EFI_MISC_GROUP_ITEM_SET_DATA                       MiscGroupItemSetData;\r
   EFI_MISC_PORTING_DEVICE_TYPE_DATA                  MiscPortingDeviceTypeData;\r
   EFI_MISC_RESET_CAPABILITIES_DATA                   MiscResetCapablilitiesData;\r
-  EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA           MiscHardwareSecuritySettingsData;  \r
+  EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA           MiscHardwareSecuritySettingsData;\r
   EFI_MISC_SCHEDULED_POWER_ON_MONTH_DATA             MiscScheduledPowerOnMonthData;\r
   EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_DATA            MiscVoltagePorbeDescriptionData;\r
   EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA             MiscCoolingDeviceTempLinkData;\r
-  EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA        MiscTemperatureProbeDescriptionData;   \r
+  EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA        MiscTemperatureProbeDescriptionData;\r
   EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_DATA MiscElectricalCurrentProbeDescriptionData;\r
   EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_DATA\r
                                                      MiscRemoteAccessManufacturerDescriptionData;\r
@@ -1820,7 +1885,7 @@ typedef union {
                                                      MiscmangementDeviceComponentDescriptionData;\r
   EFI_MISC_IPMI_INTERFACE_TYPE_DATA                  MiscIpmiInterfaceTypeData;\r
   EFI_MISC_SYSTEM_POWER_SUPPLY_DATA                  MiscPowerSupplyInfo;\r
-  EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA          MiscSmbiosStructEncapsulation;  \r
+  EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA          MiscSmbiosStructEncapsulation;\r
 } EFI_MISC_SUBCLASS_RECORDS;\r
 \r
 //\r