]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Common/DataHubRecords.h
automagically convert ELF to PE/COFF (i386 only)
[mirror_edk2.git] / MdePkg / Include / Common / DataHubRecords.h
index 0bc8f23d756688e6a59ce751abfac925c1d96e69..9a45a63636c6fd145150d88a141ee4e1e37de82b 100644 (file)
@@ -1,25 +1,22 @@
 /** @file\r
-  This file defines GUIDs and associated data structures for records \r
-  posted to the Data Hub. \r
-  The producers of these records use these definitions to construct \r
-  records.\r
-  The consumers of these records use these definitions to retrieve,\r
-  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
-\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
+  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
+\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
@@ -142,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
@@ -308,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
@@ -371,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
@@ -383,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
@@ -468,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
@@ -477,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
@@ -485,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
@@ -496,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
@@ -521,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
@@ -564,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
@@ -653,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
@@ -674,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
@@ -814,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
@@ -872,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
@@ -881,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
@@ -900,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
@@ -918,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
@@ -946,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
@@ -955,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
@@ -989,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
@@ -998,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
@@ -1017,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
@@ -1044,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
@@ -1087,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
@@ -1132,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
@@ -1141,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
@@ -1166,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
@@ -1178,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
@@ -1216,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
@@ -1225,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
@@ -1265,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
@@ -1285,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
@@ -1297,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
@@ -1310,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
@@ -1320,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
@@ -1333,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
@@ -1345,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
@@ -1373,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
@@ -1407,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
@@ -1431,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
@@ -1452,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
@@ -1479,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
@@ -1510,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
@@ -1531,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
@@ -1555,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
@@ -1563,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
@@ -1626,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
@@ -1635,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
@@ -1662,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
@@ -1678,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
@@ -1692,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
@@ -1705,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
@@ -1734,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
@@ -1784,35 +1826,55 @@ typedef struct {
 typedef struct {\r
   SMBIOS_STRUCTURE_HDR          Header;\r
   UINT8                         RawData[1];\r
-} EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA; \r
-\r
-#define EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER  0x0000001F \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
-//\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
@@ -1823,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