summaryrefslogtreecommitdiffstats
path: root/IntelFrameworkPkg/Include
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-08-10 09:48:47 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-08-10 09:48:47 +0000
commitc7458efd36f955f4c9af79290198f41e8d239216 (patch)
tree709e74a0353da3970566ad3d41988e6402a1f768 /IntelFrameworkPkg/Include
parentc0691ef00994dcc82d9f9956e4bbc6eb86d49d10 (diff)
downloadedk2-c7458efd36f955f4c9af79290198f41e8d239216.tar.gz
edk2-c7458efd36f955f4c9af79290198f41e8d239216.tar.bz2
edk2-c7458efd36f955f4c9af79290198f41e8d239216.zip
1) Move the structure definitions related GUID EFI_STATUS_CODE_SPECIFIC_DATA_GUID and EFI_STATUS_CODE_DATA_TYPE_STRING_GUID from IntelFrameworkPkg\Framework/StatusCodeDataTypeId.h to IntelFrameworkPkg\Guid/StatusCodeDataTypeId.h
2) Remove IntelFrameworkPkg/Framework/StatusCodeDataTypeId.h git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3609 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'IntelFrameworkPkg/Include')
-rw-r--r--IntelFrameworkPkg/Include/Framework/StatusCode.h12
-rw-r--r--IntelFrameworkPkg/Include/Framework/StatusCodeDataTypeId.h324
-rw-r--r--IntelFrameworkPkg/Include/FrameworkPei.h1
-rw-r--r--IntelFrameworkPkg/Include/Guid/StatusCodeDataTypeId.h285
4 files changed, 290 insertions, 332 deletions
diff --git a/IntelFrameworkPkg/Include/Framework/StatusCode.h b/IntelFrameworkPkg/Include/Framework/StatusCode.h
index 91b9d08a08..41b7720f2c 100644
--- a/IntelFrameworkPkg/Include/Framework/StatusCode.h
+++ b/IntelFrameworkPkg/Include/Framework/StatusCode.h
@@ -880,4 +880,16 @@
//
#define EFI_DC_UNSPECIFIED 0x0
+///////////////////////////////////////////////////////////////////////////////
+// Common Status Code Definitions
+///////////////////////////////////////////////////////////////////////////////
+///
+/// This is the max data size including all the headers which can be passed
+/// as Status Code data. This data should be multiple of 8 byte
+/// to avoid any kind of boundary issue. Also, sum of this data size (inclusive
+/// of size of EFI_STATUS_CODE_DATA should not exceed the max record size of
+/// data hub
+///
+#define EFI_STATUS_CODE_DATA_MAX_SIZE 200
+
#endif
diff --git a/IntelFrameworkPkg/Include/Framework/StatusCodeDataTypeId.h b/IntelFrameworkPkg/Include/Framework/StatusCodeDataTypeId.h
deleted file mode 100644
index bbac633969..0000000000
--- a/IntelFrameworkPkg/Include/Framework/StatusCodeDataTypeId.h
+++ /dev/null
@@ -1,324 +0,0 @@
-/** @file
- This file defines the data structures to support Status Code Data.
-
- Copyright (c) 2007, Intel Corporation
- All rights reserved. This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Module Name: FrameworkStatusCodeDataTypeId.h
-
- @par Revision Reference:
- These definitions are from Framework of EFI Status Code Spec
- Version 0.92.
-
-**/
-
-#ifndef __FRAMEWORK_STATUS_CODE_DATA_TYPE_ID_H__
-#define __FRAMEWORK_STATUS_CODE_DATA_TYPE_ID_H__
-
-#include <Framework/DataHubRecords.h>
-#include <Protocol/DebugSupport.h>
-
-///
-/// This is the max data size including all the headers which can be passed
-/// as Status Code data. This data should be multiple of 8 byte
-/// to avoid any kind of boundary issue. Also, sum of this data size (inclusive
-/// of size of EFI_STATUS_CODE_DATA should not exceed the max record size of
-/// data hub
-///
-#define EFI_STATUS_CODE_DATA_MAX_SIZE 200
-
-#pragma pack(1)
-typedef enum {
- EfiStringAscii,
- EfiStringUnicode,
- EfiStringToken
-} EFI_STRING_TYPE;
-
-typedef struct {
- EFI_HII_HANDLE Handle;
- STRING_REF Token;
-} EFI_STATUS_CODE_STRING_TOKEN;
-
-typedef union {
- CHAR8 *Ascii;
- CHAR16 *Unicode;
- EFI_STATUS_CODE_STRING_TOKEN Hii;
-} EFI_STATUS_CODE_STRING;
-
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_STRING_TYPE StringType;
- EFI_STATUS_CODE_STRING String;
-} EFI_STATUS_CODE_STRING_DATA;
-
-#pragma pack()
-
-//
-// declaration for EFI_EXP_DATA. This may change
-//
-// typedef UINTN EFI_EXP_DATA;
-
-///
-/// Voltage Extended Error Data
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_EXP_BASE10_DATA Voltage;
- EFI_EXP_BASE10_DATA Threshold;
-} EFI_COMPUTING_UNIT_VOLTAGE_ERROR_DATA;
-
-///
-/// Microcode Update Extended Error Data
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- UINT32 Version;
-} EFI_COMPUTING_UNIT_MICROCODE_UPDATE_ERROR_DATA;
-
-
-///
-/// Asynchronous Timer Extended Error Data
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_EXP_BASE10_DATA TimerLimit;
-} EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA;
-
-///
-/// Host Processor Mismatch Extended Error Data
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- UINT32 Instance;
- UINT16 Attributes;
-} EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA;
-
-//
-// EFI_COMPUTING_UNIT_MISMATCH_ATTRIBUTES
-// All other attributes are reserved for future use and
-// must be initialized to 0.
-//
-#define EFI_COMPUTING_UNIT_MISMATCH_SPEED 0x0001
-#define EFI_COMPUTING_UNIT_MISMATCH_FSB_SPEED 0x0002
-#define EFI_COMPUTING_UNIT_MISMATCH_FAMILY 0x0004
-#define EFI_COMPUTING_UNIT_MISMATCH_MODEL 0x0008
-#define EFI_COMPUTING_UNIT_MISMATCH_STEPPING 0x0010
-#define EFI_COMPUTING_UNIT_MISMATCH_CACHE_SIZE 0x0020
-#define EFI_COMPUTING_UNIT_MISMATCH_OEM1 0x1000
-#define EFI_COMPUTING_UNIT_MISMATCH_OEM2 0x2000
-#define EFI_COMPUTING_UNIT_MISMATCH_OEM3 0x4000
-#define EFI_COMPUTING_UNIT_MISMATCH_OEM4 0x8000
-
-///
-/// Thermal Extended Error Data
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_EXP_BASE10_DATA Temperature;
- EFI_EXP_BASE10_DATA Threshold;
-} EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA;
-
-///
-/// Processor Disabled Extended Error Data
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- UINT32 Cause;
- BOOLEAN SoftwareDisabled;
-} EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA;
-
-
-typedef enum {
- EfiInitCacheDataOnly,
- EfiInitCacheInstrOnly,
- EfiInitCacheBoth,
- EfiInitCacheUnspecified
-} EFI_INIT_CACHE_TYPE;
-
-///
-/// Embedded cache init extended data
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- UINT32 Level;
- EFI_INIT_CACHE_TYPE Type;
-} EFI_CACHE_INIT_DATA;
-
-//
-// Memory Extended Error Data
-//
-
-///
-/// Memory Error Granularity Definition
-///
-typedef UINT8 EFI_MEMORY_ERROR_GRANULARITY;
-
-///
-/// Memory Error Operation Definition
-///
-typedef UINT8 EFI_MEMORY_ERROR_OPERATION;
-
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_MEMORY_ERROR_GRANULARITY Granularity;
- EFI_MEMORY_ERROR_OPERATION Operation;
- UINTN Syndrome;
- EFI_PHYSICAL_ADDRESS Address;
- UINTN Resolution;
-} EFI_MEMORY_EXTENDED_ERROR_DATA;
-
-typedef struct {
- EFI_MEMORY_ERROR_GRANULARITY Granularity;
- EFI_MEMORY_ERROR_OPERATION Operation;
- UINTN Syndrome;
- EFI_PHYSICAL_ADDRESS Address;
- UINTN Resolution;
-} EFI_MEMORY_EXTENDED_ERROR_DATA_PAYLOAD;
-
-//
-// Memory Error Granularities
-//
-#define EFI_MEMORY_ERROR_OTHER 0x01
-#define EFI_MEMORY_ERROR_UNKNOWN 0x02
-#define EFI_MEMORY_ERROR_DEVICE 0x03
-#define EFI_MEMORY_ERROR_PARTITION 0x04
-
-//
-// Memory Error Operations
-//
-#define EFI_MEMORY_OPERATION_OTHER 0x01
-#define EFI_MEMORY_OPERATION_UNKNOWN 0x02
-#define EFI_MEMORY_OPERATION_READ 0x03
-#define EFI_MEMORY_OPERATION_WRITE 0x04
-#define EFI_MEMORY_OPERATION_PARTIAL_WRITE 0x05
-
-//
-// Define shorthands to describe Group Operations
-// Many memory init operations are essentially group
-// operations.
-
-/// A shorthand to describe that the operation is performed
-/// on multiple devices within the array
-///
-#define EFI_MULTIPLE_MEMORY_DEVICE_OPERATION 0xfffe
-///
-/// A shorthand to describe that the operation is performed on all devices within the array
-///
-#define EFI_ALL_MEMORY_DEVICE_OPERATION 0xffff
-///
-/// A shorthand to describe that the operation is performed on multiple arrays
-///
-#define EFI_MULTIPLE_MEMORY_ARRAY_OPERATION 0xfffe
-///
-/// A shorthand to describe that the operation is performed on all the arrays
-///
-#define EFI_ALL_MEMORY_ARRAY_OPERATION 0xffff
-
-//
-// DIMM number
-//
-#pragma pack(1)
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- UINT16 Array;
- UINT16 Device;
-} EFI_STATUS_CODE_DIMM_NUMBER;
-
-#pragma pack()
-
-///
-/// Memory Module Mismatch Extended Error Data
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_STATUS_CODE_DIMM_NUMBER Instance;
-} EFI_MEMORY_MODULE_MISMATCH_ERROR_DATA;
-
-
-///
-/// Memory Range Extended Data
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_PHYSICAL_ADDRESS Start;
- EFI_PHYSICAL_ADDRESS Length;
-} EFI_MEMORY_RANGE_EXTENDED_DATA;
-
-///
-/// Device handle Extended Data. Used for many
-/// errors and progress codes to point to the device.
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_HANDLE Handle;
-} EFI_DEVICE_HANDLE_EXTENDED_DATA;
-
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- UINT8 *DevicePath;
-} EFI_DEVICE_PATH_EXTENDED_DATA;
-
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_HANDLE ControllerHandle;
- EFI_HANDLE DriverBindingHandle;
- UINT16 DevicePathSize;
- UINT8 *RemainingDevicePath;
-} EFI_STATUS_CODE_START_EXTENDED_DATA;
-
-typedef struct {
- UINT8 *DevicePath;
-} EFI_DEVICE_PATH_EXTENDED_DATA_PAYLOAD;
-
-
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- UINT32 Bar;
- UINT16 DevicePathSize;
- UINT16 ReqResSize;
- UINT16 AllocResSize;
- UINT8 *DevicePath;
- UINT8 *ReqRes;
- UINT8 *AllocRes;
-} EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA;
-
-///
-/// Extended Error Data for Assert
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- UINT32 LineNumber;
- UINT32 FileNameSize;
- EFI_STATUS_CODE_STRING_DATA *FileName;
-} EFI_DEBUG_ASSERT_DATA;
-
-///
-/// System Context Data EBC/IA32/IPF
-///
-typedef union {
- EFI_SYSTEM_CONTEXT_EBC SystemContextEbc;
- EFI_SYSTEM_CONTEXT_IA32 SystemContextIa32;
- EFI_SYSTEM_CONTEXT_IPF SystemContextIpf;
-} EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT;
-
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT Context;
-} EFI_STATUS_CODE_EXCEP_EXTENDED_DATA;
-
-///
-/// Legacy Oprom extended data
-///
-typedef struct {
- EFI_STATUS_CODE_DATA DataHeader;
- EFI_HANDLE DeviceHandle;
- EFI_PHYSICAL_ADDRESS RomImageBase;
-} EFI_LEGACY_OPROM_EXTENDED_DATA;
-
-#endif
diff --git a/IntelFrameworkPkg/Include/FrameworkPei.h b/IntelFrameworkPkg/Include/FrameworkPei.h
index e88691abca..33d0dab178 100644
--- a/IntelFrameworkPkg/Include/FrameworkPei.h
+++ b/IntelFrameworkPkg/Include/FrameworkPei.h
@@ -28,6 +28,5 @@
#include <Framework/Hob.h>
#include <Framework/Legacy16.h>
#include <Framework/StatusCode.h>
-#include <Framework/StatusCodeDataTypeId.h>
#endif
diff --git a/IntelFrameworkPkg/Include/Guid/StatusCodeDataTypeId.h b/IntelFrameworkPkg/Include/Guid/StatusCodeDataTypeId.h
index 00d2182484..dbe8fba37c 100644
--- a/IntelFrameworkPkg/Include/Guid/StatusCodeDataTypeId.h
+++ b/IntelFrameworkPkg/Include/Guid/StatusCodeDataTypeId.h
@@ -21,25 +21,296 @@
#define __STATUS_CODE_DATA_TYPE_ID_GUID_H__
#include <PiPei.h>
+#include <Framework/StatusCode.h>
+#include <Framework/DataHubRecords.h>
+#include <Protocol/DebugSupport.h>
-//
+//////////////////////////////////////////////////////////////////////////////////////////
// String Data Type defintion. This is part of Status Code Specification
-//
+//////////////////////////////////////////////////////////////////////////////////////////
#define EFI_STATUS_CODE_DATA_TYPE_STRING_GUID \
{ 0x92D11080, 0x496F, 0x4D95, { 0xBE, 0x7E, 0x03, 0x74, 0x88, 0x38, 0x2B, 0x0A } }
+#pragma pack(1)
+
+typedef enum {
+ EfiStringAscii,
+ EfiStringUnicode,
+ EfiStringToken
+} EFI_STRING_TYPE;
+
+typedef struct {
+ EFI_HII_HANDLE Handle;
+ STRING_REF Token;
+} EFI_STATUS_CODE_STRING_TOKEN;
+
+typedef union {
+ CHAR8 *Ascii;
+ CHAR16 *Unicode;
+ EFI_STATUS_CODE_STRING_TOKEN Hii;
+} EFI_STATUS_CODE_STRING;
+
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_STRING_TYPE StringType;
+ EFI_STATUS_CODE_STRING String;
+} EFI_STATUS_CODE_STRING_DATA;
+#pragma pack()
+
extern EFI_GUID gEfiStatusCodeDataTypeStringGuid;
-//
-// This GUID indicates that the format of the accompanying data depends
-// upon the Status Code Value, but follows this Specification
-//
+
+//////////////////////////////////////////////////////////////////////////////////////////
+// Special Data Type defintion. This is part of Status Code Specification
+//////////////////////////////////////////////////////////////////////////////////////////
#define EFI_STATUS_CODE_SPECIFIC_DATA_GUID \
{ 0x335984bd, 0xe805, 0x409a, { 0xb8, 0xf8, 0xd2, 0x7e, 0xce, 0x5f, 0xf7, 0xa6 } }
+#pragma pack(1)
+
+///
+/// Device handle Extended Data. Used for many
+/// errors and progress codes to point to the device.
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_HANDLE Handle;
+} EFI_DEVICE_HANDLE_EXTENDED_DATA;
+
+
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ UINT8 *DevicePath;
+} EFI_DEVICE_PATH_EXTENDED_DATA;
+
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ UINT32 Bar;
+ UINT16 DevicePathSize;
+ UINT16 ReqResSize;
+ UINT16 AllocResSize;
+ UINT8 *DevicePath;
+ UINT8 *ReqRes;
+ UINT8 *AllocRes;
+} EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA;
+
+///
+/// Voltage Extended Error Data
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_EXP_BASE10_DATA Voltage;
+ EFI_EXP_BASE10_DATA Threshold;
+} EFI_COMPUTING_UNIT_VOLTAGE_ERROR_DATA;
+
+///
+/// Microcode Update Extended Error Data
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ UINT32 Version;
+} EFI_COMPUTING_UNIT_MICROCODE_UPDATE_ERROR_DATA;
+
+///
+/// Asynchronous Timer Extended Error Data
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_EXP_BASE10_DATA TimerLimit;
+} EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA;
+
+///
+/// Host Processor Mismatch Extended Error Data
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ UINT32 Instance;
+ UINT16 Attributes;
+} EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA;
+
+///
+/// Thermal Extended Error Data
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_EXP_BASE10_DATA Temperature;
+ EFI_EXP_BASE10_DATA Threshold;
+} EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA;
+
+
+typedef enum {
+ EfiInitCacheDataOnly,
+ EfiInitCacheInstrOnly,
+ EfiInitCacheBoth,
+ EfiInitCacheUnspecified
+} EFI_INIT_CACHE_TYPE;
+
+///
+/// Embedded cache init extended data
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ UINT32 Level;
+ EFI_INIT_CACHE_TYPE Type;
+} EFI_CACHE_INIT_DATA;
+
+///
+/// Processor Disabled Extended Error Data
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ UINT32 Cause;
+ BOOLEAN SoftwareDisabled;
+} EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA;
+
+///
+/// Memory Error Operation Definition
+///
+typedef UINT8 EFI_MEMORY_ERROR_OPERATION;
+
+///
+/// Memory Error Granularity Definition
+///
+typedef UINT8 EFI_MEMORY_ERROR_GRANULARITY;
+
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_MEMORY_ERROR_GRANULARITY Granularity;
+ EFI_MEMORY_ERROR_OPERATION Operation;
+ UINTN Syndrome;
+ EFI_PHYSICAL_ADDRESS Address;
+ UINTN Resolution;
+} EFI_MEMORY_EXTENDED_ERROR_DATA;
+
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ UINT16 Array;
+ UINT16 Device;
+} EFI_STATUS_CODE_DIMM_NUMBER;
+
+///
+/// Memory Module Mismatch Extended Error Data
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_STATUS_CODE_DIMM_NUMBER Instance;
+} EFI_MEMORY_MODULE_MISMATCH_ERROR_DATA;
+
+///
+/// Memory Range Extended Data
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_PHYSICAL_ADDRESS Start;
+ EFI_PHYSICAL_ADDRESS Length;
+} EFI_MEMORY_RANGE_EXTENDED_DATA;
+
+///
+/// Extended Error Data for Assert
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ UINT32 LineNumber;
+ UINT32 FileNameSize;
+ EFI_STATUS_CODE_STRING_DATA *FileName;
+} EFI_DEBUG_ASSERT_DATA;
+
+///
+/// System Context Data EBC/IA32/IPF
+///
+typedef union {
+ EFI_SYSTEM_CONTEXT_EBC SystemContextEbc;
+ EFI_SYSTEM_CONTEXT_IA32 SystemContextIa32;
+ EFI_SYSTEM_CONTEXT_IPF SystemContextIpf;
+} EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT;
+
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT Context;
+} EFI_STATUS_CODE_EXCEP_EXTENDED_DATA;
+
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_HANDLE ControllerHandle;
+ EFI_HANDLE DriverBindingHandle;
+ UINT16 DevicePathSize;
+ UINT8 *RemainingDevicePath;
+} EFI_STATUS_CODE_START_EXTENDED_DATA;
+
+///
+/// Legacy Oprom extended data
+///
+typedef struct {
+ EFI_STATUS_CODE_DATA DataHeader;
+ EFI_HANDLE DeviceHandle;
+ EFI_PHYSICAL_ADDRESS RomImageBase;
+} EFI_LEGACY_OPROM_EXTENDED_DATA;
+
+#pragma pack()
+
extern EFI_GUID gEfiStatusCodeSpecificDataGuid;
//
+// EFI_COMPUTING_UNIT_MISMATCH_ATTRIBUTES
+// All other attributes are reserved for future use and
+// must be initialized to 0.
+//
+#define EFI_COMPUTING_UNIT_MISMATCH_SPEED 0x0001
+#define EFI_COMPUTING_UNIT_MISMATCH_FSB_SPEED 0x0002
+#define EFI_COMPUTING_UNIT_MISMATCH_FAMILY 0x0004
+#define EFI_COMPUTING_UNIT_MISMATCH_MODEL 0x0008
+#define EFI_COMPUTING_UNIT_MISMATCH_STEPPING 0x0010
+#define EFI_COMPUTING_UNIT_MISMATCH_CACHE_SIZE 0x0020
+#define EFI_COMPUTING_UNIT_MISMATCH_OEM1 0x1000
+#define EFI_COMPUTING_UNIT_MISMATCH_OEM2 0x2000
+#define EFI_COMPUTING_UNIT_MISMATCH_OEM3 0x4000
+#define EFI_COMPUTING_UNIT_MISMATCH_OEM4 0x8000
+
+
+
+//
+// Memory Error Granularities
+//
+#define EFI_MEMORY_ERROR_OTHER 0x01
+#define EFI_MEMORY_ERROR_UNKNOWN 0x02
+#define EFI_MEMORY_ERROR_DEVICE 0x03
+#define EFI_MEMORY_ERROR_PARTITION 0x04
+
+//
+// Memory Error Operations
+//
+#define EFI_MEMORY_OPERATION_OTHER 0x01
+#define EFI_MEMORY_OPERATION_UNKNOWN 0x02
+#define EFI_MEMORY_OPERATION_READ 0x03
+#define EFI_MEMORY_OPERATION_WRITE 0x04
+#define EFI_MEMORY_OPERATION_PARTIAL_WRITE 0x05
+
+//
+// Define shorthands to describe Group Operations
+// Many memory init operations are essentially group
+// operations.
+
+/// A shorthand to describe that the operation is performed
+/// on multiple devices within the array
+///
+#define EFI_MULTIPLE_MEMORY_DEVICE_OPERATION 0xfffe
+///
+/// A shorthand to describe that the operation is performed on all devices within the array
+///
+#define EFI_ALL_MEMORY_DEVICE_OPERATION 0xffff
+///
+/// A shorthand to describe that the operation is performed on multiple arrays
+///
+#define EFI_MULTIPLE_MEMORY_ARRAY_OPERATION 0xfffe
+///
+/// A shorthand to describe that the operation is performed on all the arrays
+///
+#define EFI_ALL_MEMORY_ARRAY_OPERATION 0xffff
+
+
+
+
+//
// Debug Assert Data. This is part of Status Code Specification
//
#define EFI_STATUS_CODE_DATA_TYPE_ASSERT_GUID \
@@ -72,7 +343,6 @@ extern EFI_GUID gEfiStatusCodeDataTypeDebugGuid;
extern EFI_GUID gEfiStatusCodeDataTypeErrorGuid;
-
//
// Progress Code. User Defined Data Type Guid.
//
@@ -81,4 +351,5 @@ extern EFI_GUID gEfiStatusCodeDataTypeErrorGuid;
extern EFI_GUID gEfiStatusCodeDataTypeProgressCodeGuid;
+
#endif