From 10c5d87ef75caee2774c5022373bb7013344dd09 Mon Sep 17 00:00:00 2001 From: xli24 Date: Fri, 25 Dec 2009 06:33:46 +0000 Subject: Remove status code modules' dependency on IntelFrameworkModulePkg. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9603 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h | 83 ++++++++++++++++++++++ .../Include/Guid/StatusCodeDataTypeDebug.h | 49 +++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h create mode 100644 MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h (limited to 'MdeModulePkg/Include') diff --git a/MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h b/MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h new file mode 100644 index 0000000000..7599926f12 --- /dev/null +++ b/MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h @@ -0,0 +1,83 @@ +/** @file + GUID used to identify status code records HOB that originate from the PEI status code + + Copyright (c) 2006 - 2009, 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. + +**/ + +#ifndef __MEMORY_STATUS_CODE_RECORD_H__ +#define __MEMORY_STATUS_CODE_RECORD_H__ + +/// +/// Global ID used to identify GUIDed HOBs that start with a structure of type +/// MEMORY_STATUSCODE_PACKET_HEADER followed by an array of structures of type +/// MEMORY_STATUSCODE_RECORD. These GUIDed HOBs record all the information +/// passed into the ReportStatusCode() service of PEI Services Table. +/// +///
+///  Memory status code records packet structure :
+///  +---------------+----------+----------+-----+----------+-----+----------+
+///  | Packet Header | Record 1 | Record 2 | ... + Record n | ... | Record m |
+///  +---------------+----------+----------+-----+----------+-----+----------+
+///                  ^                                 ^                     ^
+///                  +--------- RecordIndex -----------+                     |
+///                  +---------------- MaxRecordsNumber----------------------+
+///  
+/// +#define MEMORY_STATUS_CODE_RECORD_GUID \ + { \ + 0x60cc026, 0x4c0d, 0x4dda, {0x8f, 0x41, 0x59, 0x5f, 0xef, 0x0, 0xa5, 0x2} \ + } + +/// +/// A header structure that is followed by an array of records that contain the +/// parameters passed into the ReportStatusCode() service in the PEI Services Table. +/// +typedef struct { + /// + /// Index of the packet + /// + UINT16 PacketIndex; + /// + /// The number of active records in the packet + /// + UINT16 RecordIndex; + /// + /// The maximum number of records that the packet can store + /// + UINT32 MaxRecordsNumber; +} MEMORY_STATUSCODE_PACKET_HEADER; + +/// +/// A structure that contains the parameters passed into the ReportStatusCode() +/// service in the PEI Services Table. +/// +typedef struct { + /// + /// Status Code type to be reported. + /// + EFI_STATUS_CODE_TYPE CodeType; + + /// + /// An operation, plus value information about the class and subclass, used to + /// classify the hardware and software entity. + /// + EFI_STATUS_CODE_VALUE Value; + + /// + /// The enumeration of a hardware or software entity within + /// the system. Valid instance numbers start with 1 + /// + UINT32 Instance; +} MEMORY_STATUSCODE_RECORD; + +extern EFI_GUID gMemoryStatusCodeRecordGuid; + +#endif diff --git a/MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h b/MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h new file mode 100644 index 0000000000..52e7c95e73 --- /dev/null +++ b/MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h @@ -0,0 +1,49 @@ +/** @file + This file defines the GUID and data structure used to pass DEBUG() macro + information to the Status Code Protocol and Status Code PPI. + + Copyright (c) 2007 - 2009, 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. + +**/ + +#ifndef _STATUS_CODE_DATA_TYPE_DEBUG_H_ +#define _STATUS_CODE_DATA_TYPE_DEBUG_H_ + +/// +/// Global ID used to identify a structure of type EFI_DEBUG_INFO +/// +#define EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID \ + { \ + 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xb9 } \ + } + +/// +/// The maximum size of an EFI_DEBUG_INFO structure +/// +#define EFI_STATUS_CODE_DATA_MAX_SIZE 200 + +/// +/// This structure contains the ErrorLevel passed into the DEBUG() macro, followed +/// by a 96-byte buffer that contains the variable argument list passed to the +// DEBUG() macro that has been converted to a BASE_LIST. The 96-byte buffer is +/// followed by a Null-terminated ASCII string that is the Format string passed +/// to the DEBUG() macro. The maximum size of this structure is defined by +/// EFI_STATUS_CODE_DATA_MAX_SIZE. +/// +typedef struct { + /// + /// The debug error level passed into a DEBUG() macro. + /// + UINT32 ErrorLevel; +} EFI_DEBUG_INFO; + +extern EFI_GUID gEfiStatusCodeDataTypeDebugGuid; + +#endif // _STATUS_CODE_DATA_TYPE_DEBUG_H_ -- cgit v1.2.3