]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Remove status code modules' dependency on IntelFrameworkModulePkg.
authorxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 25 Dec 2009 06:33:46 +0000 (06:33 +0000)
committerxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 25 Dec 2009 06:33:46 +0000 (06:33 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9603 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h [new file with mode: 0644]
MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h [new file with mode: 0644]
MdeModulePkg/MdeModulePkg.dec

diff --git a/MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h b/MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h
new file mode 100644 (file)
index 0000000..7599926
--- /dev/null
@@ -0,0 +1,83 @@
+/** @file\r
+  GUID used to identify status code records HOB that originate from the PEI status code    \r
+  \r
+  Copyright (c) 2006 - 2009, 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
+**/\r
+\r
+#ifndef __MEMORY_STATUS_CODE_RECORD_H__\r
+#define __MEMORY_STATUS_CODE_RECORD_H__\r
+\r
+///\r
+/// Global ID used to identify GUIDed HOBs that start with a structure of type \r
+/// MEMORY_STATUSCODE_PACKET_HEADER followed by an array of structures of type \r
+/// MEMORY_STATUSCODE_RECORD.  These GUIDed HOBs record all the information \r
+/// passed into the ReportStatusCode() service of PEI Services Table.\r
+///\r
+///  <pre>\r
+///  Memory status code records packet structure :\r
+///  +---------------+----------+----------+-----+----------+-----+----------+\r
+///  | Packet Header | Record 1 | Record 2 | ... + Record n | ... | Record m |\r
+///  +---------------+----------+----------+-----+----------+-----+----------+\r
+///                  ^                                 ^                     ^\r
+///                  +--------- RecordIndex -----------+                     |\r
+///                  +---------------- MaxRecordsNumber----------------------+\r
+///  </pre>\r
+///\r
+#define MEMORY_STATUS_CODE_RECORD_GUID \\r
+  { \\r
+    0x60cc026, 0x4c0d, 0x4dda, {0x8f, 0x41, 0x59, 0x5f, 0xef, 0x0, 0xa5, 0x2} \\r
+  }\r
+\r
+///\r
+/// A header structure that is followed by an array of records that contain the \r
+/// parameters passed into the ReportStatusCode() service in the PEI Services Table.\r
+///\r
+typedef struct {\r
+  ///\r
+  /// Index of the packet\r
+  ///\r
+  UINT16  PacketIndex;\r
+  ///\r
+  /// The number of active records in the packet\r
+  ///\r
+  UINT16  RecordIndex;\r
+  ///\r
+  /// The maximum number of records that the packet can store\r
+  ///\r
+  UINT32  MaxRecordsNumber;\r
+} MEMORY_STATUSCODE_PACKET_HEADER;\r
+\r
+///\r
+/// A structure that contains the parameters passed into the ReportStatusCode() \r
+/// service in the PEI Services Table.\r
+///\r
+typedef struct {\r
+  ///\r
+  /// Status Code type to be reported.\r
+  ///\r
+  EFI_STATUS_CODE_TYPE   CodeType;\r
+\r
+  ///\r
+  /// An operation, plus value information about the class and subclass, used to\r
+  /// classify the hardware and software entity.\r
+  ///\r
+  EFI_STATUS_CODE_VALUE  Value;\r
+\r
+  ///\r
+  /// The enumeration of a hardware or software entity within\r
+  /// the system. Valid instance numbers start with 1\r
+  ///\r
+  UINT32                 Instance;\r
+} MEMORY_STATUSCODE_RECORD;\r
+\r
+extern EFI_GUID gMemoryStatusCodeRecordGuid;\r
+\r
+#endif\r
diff --git a/MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h b/MdeModulePkg/Include/Guid/StatusCodeDataTypeDebug.h
new file mode 100644 (file)
index 0000000..52e7c95
--- /dev/null
@@ -0,0 +1,49 @@
+/** @file\r
+  This file defines the GUID and data structure used to pass DEBUG() macro \r
+  information to the Status Code Protocol and Status Code PPI.\r
+\r
+  Copyright (c) 2007 - 2009, 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
+**/\r
+\r
+#ifndef _STATUS_CODE_DATA_TYPE_DEBUG_H_\r
+#define _STATUS_CODE_DATA_TYPE_DEBUG_H_\r
+\r
+///\r
+/// Global ID used to identify a structure of type EFI_DEBUG_INFO\r
+///\r
+#define EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID \\r
+  { \\r
+    0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xb9 } \\r
+  }\r
+\r
+///\r
+/// The maximum size of an EFI_DEBUG_INFO structure\r
+///\r
+#define EFI_STATUS_CODE_DATA_MAX_SIZE 200\r
+\r
+///\r
+/// This structure contains the ErrorLevel passed into the DEBUG() macro, followed \r
+/// by a 96-byte buffer that contains the variable argument list passed to the \r
+//  DEBUG() macro that has been converted to a BASE_LIST.  The 96-byte buffer is \r
+/// followed by a Null-terminated ASCII string that is the Format string passed \r
+/// to the DEBUG() macro.  The maximum size of this structure is defined by \r
+/// EFI_STATUS_CODE_DATA_MAX_SIZE.\r
+///\r
+typedef struct {\r
+  ///\r
+  /// The debug error level passed into a DEBUG() macro.\r
+  ///\r
+  UINT32  ErrorLevel;\r
+} EFI_DEBUG_INFO;\r
+\r
+extern EFI_GUID gEfiStatusCodeDataTypeDebugGuid;\r
+\r
+#endif // _STATUS_CODE_DATA_TYPE_DEBUG_H_\r
index d8a2d4c34bc00617ecfb41cc8e9307309fa76795..e7aa7735e199d050dd2d473395ca409caad9bef1 100644 (file)
   ## Include/Guid/StatusCodeCallbackGuid.h\r
   gStatusCodeCallbackGuid   = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}}\r
 \r
+  ## GUID identifies status code records HOB that originate from the PEI status code\r
+  #  Include/Guid/MemoryStatusCodeRecord.h\r
+  gMemoryStatusCodeRecordGuid     = { 0x060CC026, 0x4C0D, 0x4DDA, { 0x8F, 0x41, 0x59, 0x5F, 0xEF, 0x00, 0xA5, 0x02 }}\r
+\r
+  ## GUID used to pass DEBUG() macro information through the Status Code Protocol and Status Code PPI\r
+  #  Include/Guid/StatusCodeDataTypeDebug.h\r
+  gEfiStatusCodeDataTypeDebugGuid  = { 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9 }}\r
+\r
 [Protocols.common]\r
   ## Load File protocol provides capability to load and unload EFI image into memory and execute it.\r
   #  Include/Protocol/LoadPe32Image.h\r
   ## This PCD specifies whether the PCI bus driver probes non-standard, \r
   #  such as 2K/1K/512, granularity for PCI to PCI bridge I/O window.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe|FALSE|BOOLEAN|0x10000047\r
+  ## This PCD specifies whether StatusCode is reported via Serial port.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE|BOOLEAN|0x00010022\r
+\r
+  ## This PCD specifies whether StatusCode is stored in memory.\r
+  #  The memory is boot time memory in PEI Phase and is runtime memory in DXE Phase.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE|BOOLEAN|0x00010023\r
+\r
+  ## This PCD specifies whether Peiphase StatusCode is replayed in DxePhase.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeReplayIn|FALSE|BOOLEAN|0x0001002d\r
 \r
 [PcdsFeatureFlag.IA32]\r
   ##\r
   ## Null-terminated Unicode string that contains the date the formware was released\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString|L""|VOID*|0x00010053\r
 \r
+  ## PcdStatusCodeMemorySize is used when PcdStatusCodeUseMemory is set to true\r
+  #  (PcdStatusCodeMemorySize * KBytes) is the total taken memory size.\r
+  #  The default value in PeiPhase is 1 KBytes.\r
+  #  The default value in DxePhase is 128 KBytes.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010054\r
+\r