summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>2007-07-13 06:15:56 +0000
committeryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>2007-07-13 06:15:56 +0000
commit6f2b45bb6708eb7c06746e1670ccb6520b7bcb5b (patch)
treed3530d1642722009ea05addbf3db2606cd21fe3c
parent6ef9509940c57cb5124907fcc00332cf84ae4601 (diff)
downloadedk2-6f2b45bb6708eb7c06746e1670ccb6520b7bcb5b.tar.gz
edk2-6f2b45bb6708eb7c06746e1670ccb6520b7bcb5b.tar.bz2
edk2-6f2b45bb6708eb7c06746e1670ccb6520b7bcb5b.zip
Remove CommonHeader.h in StatusCodeDxe.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3230 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--EdkModulePkg/Universal/StatusCode/Dxe/DataHubStatusCodeWorker.c38
-rw-r--r--EdkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h14
-rw-r--r--EdkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.msa2
-rw-r--r--IntelFrameworkModulePkg/Universal/StatusCode/Dxe/Common/DxeStatusCodeCommon.c233
-rw-r--r--IntelFrameworkModulePkg/Universal/StatusCode/Dxe/CommonHeader.h70
-rw-r--r--IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DataHubStatusCodeWorker.c41
-rw-r--r--IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.c5
-rw-r--r--IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h63
-rw-r--r--IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf15
-rw-r--r--IntelFrameworkModulePkg/Universal/StatusCode/Dxe/EntryPoint.c5
-rw-r--r--IntelFrameworkModulePkg/Universal/StatusCode/Dxe/RtMemoryStatusCodeWorker.c5
-rw-r--r--IntelFrameworkModulePkg/Universal/StatusCode/Dxe/SerialStatusCodeWorker.c5
12 files changed, 109 insertions, 387 deletions
diff --git a/EdkModulePkg/Universal/StatusCode/Dxe/DataHubStatusCodeWorker.c b/EdkModulePkg/Universal/StatusCode/Dxe/DataHubStatusCodeWorker.c
index 72d699df44..737bc8a3a1 100644
--- a/EdkModulePkg/Universal/StatusCode/Dxe/DataHubStatusCodeWorker.c
+++ b/EdkModulePkg/Universal/StatusCode/Dxe/DataHubStatusCodeWorker.c
@@ -13,6 +13,8 @@
Module Name: DataHubStatusCodeWorker.c
**/
+
+#include <Common/StatusCode.h>
#include "DxeStatusCode.h"
//
@@ -41,7 +43,7 @@ EFI_DATA_HUB_PROTOCOL *mDataHubProtocol;
**/
STATIC
-DATAHUB_STATUSCODE_RECORD *
+DATA_HUB_STATUS_CODE_DATA_RECORD *
AcquireRecordBuffer (
VOID
)
@@ -81,7 +83,7 @@ AcquireRecordBuffer (
gBS->RestoreTPL (CurrentTpl);
- return Record;
+ return (DATA_HUB_STATUS_CODE_DATA_RECORD *) (Record->Data);
}
@@ -94,14 +96,15 @@ AcquireRecordBuffer (
**/
STATIC
-DATAHUB_STATUSCODE_RECORD *
+DATA_HUB_STATUS_CODE_DATA_RECORD *
RetrieveRecord (
VOID
)
{
- DATAHUB_STATUSCODE_RECORD *Record = NULL;
- LIST_ENTRY *Node;
- EFI_TPL CurrentTpl;
+ DATA_HUB_STATUS_CODE_DATA_RECORD *RecordData = NULL;
+ DATAHUB_STATUSCODE_RECORD *Record;
+ LIST_ENTRY *Node;
+ EFI_TPL CurrentTpl;
CurrentTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL);
@@ -112,11 +115,12 @@ RetrieveRecord (
RemoveEntryList (&Record->Node);
InsertTailList (&mRecordsBuffer, &Record->Node);
Record->Signature = 0;
+ RecordData = (DATA_HUB_STATUS_CODE_DATA_RECORD *) Record->Data;
}
gBS->RestoreTPL (CurrentTpl);
- return Record;
+ return RecordData;
}
@@ -159,11 +163,11 @@ DataHubStatusCodeReportWorker (
IN EFI_STATUS_CODE_DATA *Data OPTIONAL
)
{
- DATAHUB_STATUSCODE_RECORD *Record;
- UINT32 ErrorLevel;
- VA_LIST Marker;
- CHAR8 *Format;
- UINTN CharCount;
+ DATA_HUB_STATUS_CODE_DATA_RECORD *Record;
+ UINT32 ErrorLevel;
+ VA_LIST Marker;
+ CHAR8 *Format;
+ UINTN CharCount;
//
// See whether in runtime phase or not.
@@ -193,7 +197,7 @@ DataHubStatusCodeReportWorker (
if (Data != NULL) {
if (ReportStatusCodeExtractDebugInfo (Data, &ErrorLevel, &Marker, &Format)) {
CharCount = UnicodeVSPrintAsciiFormat (
- (CHAR16 *) Record->ExtendData,
+ (CHAR16 *) (Record + 1),
EFI_STATUS_CODE_DATA_MAX_SIZE,
Format,
Marker
@@ -201,7 +205,7 @@ DataHubStatusCodeReportWorker (
//
// Change record data type from DebugType to String Type.
//
- CopyGuid (&Record->Data.Type, &gEfiStatusCodeDataTypeStringGuid);
+ CopyGuid (&Record->Data.Type, &gEfiStatusCodeDataTypeDebugGuid);
Record->Data.HeaderSize = Data->HeaderSize;
Record->Data.Size = (UINT16) ((CharCount + 1) * sizeof (CHAR16));
} else {
@@ -213,7 +217,7 @@ DataHubStatusCodeReportWorker (
if (Data->Size > EFI_STATUS_CODE_DATA_MAX_SIZE) {
Record->Data.Size = EFI_STATUS_CODE_DATA_MAX_SIZE;
}
- CopyMem (Record->ExtendData, Data + 1, Record->Data.Size);
+ CopyMem ((VOID *) (Record + 1), Data + 1, Record->Data.Size);
}
}
@@ -239,7 +243,7 @@ LogDataHubEventCallBack (
IN VOID *Context
)
{
- DATAHUB_STATUSCODE_RECORD *Record;
+ DATA_HUB_STATUS_CODE_DATA_RECORD *Record;
UINT32 Size;
UINT64 DataRecordClass;
@@ -255,7 +259,7 @@ LogDataHubEventCallBack (
//
// Add in the size of the header we added.
//
- Size = sizeof (DATAHUB_STATUSCODE_RECORD) + (UINT32) Record->Data.Size;
+ Size = sizeof (DATA_HUB_STATUS_CODE_DATA_RECORD) + (UINT32) Record->Data.Size;
if ((Record->CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_PROGRESS_CODE) {
DataRecordClass = EFI_DATA_RECORD_CLASS_PROGRESS_CODE;
diff --git a/EdkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h b/EdkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h
index e03dc37241..5f8cee0d09 100644
--- a/EdkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h
+++ b/EdkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h
@@ -22,6 +22,8 @@ Abstract:
#ifndef __DXE_STATUS_CODE_H__
#define __DXE_STATUS_CODE_H__
+#include <Common/StatusCode.h>
+
//
// Data hub worker definition
//
@@ -41,14 +43,10 @@ typedef enum {
} PROCESSOR_MODE;
typedef struct {
- UINTN Signature;
- LIST_ENTRY Node;
- EFI_STATUS_CODE_TYPE CodeType;
- EFI_STATUS_CODE_VALUE Value;
- UINT32 Instance;
- EFI_GUID CallerId;
- EFI_STATUS_CODE_DATA Data;
- UINT8 ExtendData[EFI_STATUS_CODE_DATA_MAX_SIZE];
+ UINTN Signature;
+ LIST_ENTRY Node;
+
+ UINT8 Data[sizeof (DATA_HUB_STATUS_CODE_DATA_RECORD) + EFI_STATUS_CODE_DATA_MAX_SIZE];
} DATAHUB_STATUSCODE_RECORD;
diff --git a/EdkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.msa b/EdkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.msa
index d8c16cb408..915dfb5443 100644
--- a/EdkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.msa
+++ b/EdkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.msa
@@ -108,7 +108,7 @@
<GuidCName>gMemoryStatusCodeRecordGuid</GuidCName>
</GuidCNames>
<GuidCNames Usage="SOMETIMES_CONSUMED">
- <GuidCName>gEfiStatusCodeDataTypeStringGuid</GuidCName>
+ <GuidCName>gEfiStatusCodeDataTypeDebugGuid</GuidCName>
</GuidCNames>
<GuidCNames Usage="SOMETIMES_CONSUMED">
<GuidCName>gEfiStatusCodeSpecificDataGuid</GuidCName>
diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/Common/DxeStatusCodeCommon.c b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/Common/DxeStatusCodeCommon.c
deleted file mode 100644
index 54c9ac061b..0000000000
--- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/Common/DxeStatusCodeCommon.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/** @file
- Status code driver for IA32/X64/EBC architecture.
-
- Copyright (c) 2006, 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: DxeStatusCodeCommon.c
-
-**/
-//
-// Include common header file for this module.
-//
-#include "CommonHeader.h"
-
-#include "DxeStatusCode.h"
-
-
-/**
- Report status code to all supported device.
- Calls into the workers which dispatches the platform specific
- listeners.
-
- @param Type Indicates the type of status code being reported.
- The type EFI_STATUS_CODE_TYPE is defined in "Related Definitions" below.
- @param Value Describes the current status of a hardware or software entity.
- This includes information about the class and subclass that is used to classify the entity
- as well as an operation. For progress codes, the operation is the current activity.
- For error codes, it is the exception. For debug codes, it is not defined at this time.
- Type EFI_STATUS_CODE_VALUE is defined in "Related Definitions" below.
- Specific values are discussed in the Intel? Platform Innovation Framework for EFI Status Code Specification.
- @param Instance The enumeration of a hardware or software entity within the system.
- A system may contain multiple entities that match a class/subclass pairing.
- The instance differentiates between them. An instance of 0 indicates that instance
- information is unavailable, not meaningful, or not relevant. Valid instance numbers start with 1.
- @param CallerId This optional parameter may be used to identify the caller.
- This parameter allows the status code driver to apply different rules to different callers.
- @param Data This optional parameter may be used to pass additional data.
- Type EFI_STATUS_CODE_DATA is defined in "Related Definitions" below.
- The contents of this data type may have additional GUID-specific data. The standard GUIDs and
- their associated data structures are defined in the Intel? Platform Innovation Framework for EFI Status Codes Specification.
-
- @return Always return EFI_SUCCESS.
-
-**/
-EFI_STATUS
-EFIAPI
-ReportDispatcher (
- IN EFI_STATUS_CODE_TYPE Type,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN EFI_GUID *CallerId OPTIONAL,
- IN EFI_STATUS_CODE_DATA *Data OPTIONAL
- );
-
-//
-// Declaration of status code protocol.
-//
-STATIC
-EFI_STATUS_CODE_PROTOCOL mEfiStatusCodeProtocol = {
- ReportDispatcher
-};
-
-//
-// Delaration of DXE status code controller
-//
-DXE_STATUS_CODE_CONTROLLER gDxeStatusCode = {
- //
- // Initialize nest status as non nested.
- //
- 0,
- {NULL, NULL}
-};
-
-/**
-
- Install the ReportStatusCode runtime service.
-
- @param ImageHandle Image handle of the loaded driver
- @param SystemTable Pointer to the System Table
-
- @return The function always returns success.
-
-**/
-EFI_STATUS
-DxeStatusCodeDriverEntry (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-{
- EFI_HANDLE Handle = NULL;
- EFI_STATUS Status;
-
- //
- // Dispatch initialization request to supported devices
- //
- InitializationDispatcherWorker ();
-
- //
- // Install Status Code Architectural Protocol implementation as defined in Tiano
- // Architecture Specification.
- //
- Status = gBS->InstallMultipleProtocolInterfaces (
- &Handle,
- &gEfiStatusCodeRuntimeProtocolGuid,
- &mEfiStatusCodeProtocol,
- NULL
- );
- ASSERT_EFI_ERROR (Status);
-
- return Status;
-}
-
-/**
- Report status code to all supported device.
- Calls into the workers which dispatches the platform specific
- listeners.
-
- @param CodeType Indicates the type of status code being reported.
- The type EFI_STATUS_CODE_TYPE is defined in "Related Definitions" below.
- @param Value Describes the current status of a hardware or software entity.
- This includes information about the class and subclass that is used to classify the entity
- as well as an operation. For progress codes, the operation is the current activity.
- For error codes, it is the exception. For debug codes, it is not defined at this time.
- Type EFI_STATUS_CODE_VALUE is defined in "Related Definitions" below.
- Specific values are discussed in the Intel? Platform Innovation Framework for EFI Status Code Specification.
- @param Instance The enumeration of a hardware or software entity within the system.
- A system may contain multiple entities that match a class/subclass pairing.
- The instance differentiates between them. An instance of 0 indicates that instance
- information is unavailable, not meaningful, or not relevant. Valid instance numbers start with 1.
- @param CallerId This optional parameter may be used to identify the caller.
- This parameter allows the status code driver to apply different rules to different callers.
- @param Data This optional parameter may be used to pass additional data.
- Type EFI_STATUS_CODE_DATA is defined in "Related Definitions" below.
- The contents of this data type may have additional GUID-specific data. The standard GUIDs and
- their associated data structures are defined in the Intel? Platform Innovation Framework for EFI Status Codes Specification.
-
- @return Always return EFI_SUCCESS.
-
-**/
-EFI_STATUS
-EFIAPI
-ReportDispatcher (
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN EFI_GUID *CallerId OPTIONAL,
- IN EFI_STATUS_CODE_DATA *Data OPTIONAL
- )
-{
- //
- // Use atom operation to avoid the reentant of report.
- // If current status is not zero, then the function is reentrancy.
- //
- if (1 == InterlockedCompareExchange32 (&gDxeStatusCode.StatusCodeNestStatus, 0, 1)) {
- return EFI_DEVICE_ERROR;
- }
-
- if (FeaturePcdGet (PcdStatusCodeUseEfiSerial) || FeaturePcdGet (PcdStatusCodeUseHardSerial)) {
- SerialStatusCodeReportWorker (
- CodeType,
- Value,
- Instance,
- CallerId,
- Data
- );
- }
- if (FeaturePcdGet (PcdStatusCodeUseRuntimeMemory)) {
- RtMemoryStatusCodeReportWorker (
- gDxeStatusCode.RtMemoryStatusCodeTable[PHYSICAL_MODE],
- CodeType,
- Value,
- Instance
- );
- }
- if (FeaturePcdGet (PcdStatusCodeUseDataHub)) {
- DataHubStatusCodeReportWorker (
- CodeType,
- Value,
- Instance,
- CallerId,
- Data
- );
- }
- if (FeaturePcdGet (PcdStatusCodeUseOEM)) {
- OemHookStatusCodeReport (
- CodeType,
- Value,
- Instance,
- CallerId,
- Data
- );
- }
-
- //
- // Restore the nest status of report
- //
- InterlockedCompareExchange32 (&gDxeStatusCode.StatusCodeNestStatus, 1, 0);
-
- return EFI_SUCCESS;
-}
-
-
-/**
- Virtual address change notification call back. It converts global pointer
- to virtual address.
-
- @param Event Event whose notification function is being invoked.
- @param Context Pointer to the notification function's context, which is
- always zero in current implementation.
-
-**/
-VOID
-EFIAPI
-VirtualAddressChangeCallBack (
- IN EFI_EVENT Event,
- IN VOID *Context
- )
-{
- //
- // Convert memory status code table to virtual address;
- //
- EfiConvertPointer (
- 0,
- (VOID **) &gDxeStatusCode.RtMemoryStatusCodeTable[PHYSICAL_MODE]
- );
-}
-
diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/CommonHeader.h b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/CommonHeader.h
deleted file mode 100644
index 32ebf0fbff..0000000000
--- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/CommonHeader.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/**@file
- Common header file shared by all source files.
-
- This file includes package header files, library classes and protocol, PPI & GUID definitions.
-
- Copyright (c) 2006, 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 __COMMON_HEADER_H_
-#define __COMMON_HEADER_H_
-
-
-//
-// The package level header files this module uses
-//
-#include <FrameworkDxe.h>
-//
-// The protocols, PPI and GUID defintions for this module
-//
-#include <Guid/StatusCode.h>
-#include <Protocol/DataHub.h>
-#include <Protocol/SerialIo.h>
-#include <Guid/MemoryStatusCodeRecord.h>
-#include <Protocol/StatusCode.h>
-#include <Guid/StatusCodeDataTypeId.h>
-//
-// The Library classes this module consumes
-//
-#include <Library/BaseLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/DebugLib.h>
-#include <Library/ReportStatusCodeLib.h>
-#include <Library/PrintLib.h>
-#include <Library/PcdLib.h>
-#include <Library/HobLib.h>
-#include <Library/UefiDriverEntryPoint.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/UefiRuntimeLib.h>
-#include <Library/SerialPortLib.h>
-#include <Library/OemHookStatusCodeLib.h>
-
-//
-// Declaration for callback Event.
-//
-VOID
-EFIAPI
-VirtualAddressChangeCallBack (
- IN EFI_EVENT Event,
- IN VOID *Context
- );
-
-//
-// Declaration for original Entry Point.
-//
-EFI_STATUS
-EFIAPI
-DxeStatusCodeDriverEntry (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- );
-
-#endif
diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DataHubStatusCodeWorker.c b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DataHubStatusCodeWorker.c
index 0723af5d7c..d72884d73d 100644
--- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DataHubStatusCodeWorker.c
+++ b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DataHubStatusCodeWorker.c
@@ -13,10 +13,6 @@
Module Name: DataHubStatusCodeWorker.c
**/
-//
-// Include common header file for this module.
-//
-#include "CommonHeader.h"
#include "DxeStatusCode.h"
@@ -46,7 +42,7 @@ EFI_DATA_HUB_PROTOCOL *mDataHubProtocol;
**/
STATIC
-DATAHUB_STATUSCODE_RECORD *
+DATA_HUB_STATUS_CODE_DATA_RECORD *
AcquireRecordBuffer (
VOID
)
@@ -86,7 +82,7 @@ AcquireRecordBuffer (
gBS->RestoreTPL (CurrentTpl);
- return Record;
+ return (DATA_HUB_STATUS_CODE_DATA_RECORD *) (Record->Data);
}
@@ -99,14 +95,15 @@ AcquireRecordBuffer (
**/
STATIC
-DATAHUB_STATUSCODE_RECORD *
+DATA_HUB_STATUS_CODE_DATA_RECORD *
RetrieveRecord (
VOID
)
{
- DATAHUB_STATUSCODE_RECORD *Record = NULL;
- LIST_ENTRY *Node;
- EFI_TPL CurrentTpl;
+ DATA_HUB_STATUS_CODE_DATA_RECORD *RecordData = NULL;
+ DATAHUB_STATUSCODE_RECORD *Record;
+ LIST_ENTRY *Node;
+ EFI_TPL CurrentTpl;
CurrentTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL);
@@ -117,11 +114,12 @@ RetrieveRecord (
RemoveEntryList (&Record->Node);
InsertTailList (&mRecordsBuffer, &Record->Node);
Record->Signature = 0;
+ RecordData = (DATA_HUB_STATUS_CODE_DATA_RECORD *) Record->Data;
}
gBS->RestoreTPL (CurrentTpl);
- return Record;
+ return RecordData;
}
@@ -164,11 +162,11 @@ DataHubStatusCodeReportWorker (
IN EFI_STATUS_CODE_DATA *Data OPTIONAL
)
{
- DATAHUB_STATUSCODE_RECORD *Record;
- UINT32 ErrorLevel;
- VA_LIST Marker;
- CHAR8 *Format;
- UINTN CharCount;
+ DATA_HUB_STATUS_CODE_DATA_RECORD *Record;
+ UINT32 ErrorLevel;
+ VA_LIST Marker;
+ CHAR8 *Format;
+ UINTN CharCount;
//
// See whether in runtime phase or not.
@@ -184,6 +182,7 @@ DataHubStatusCodeReportWorker (
//
return EFI_OUT_OF_RESOURCES;
}
+
//
// Construct Data Hub Extended Data
//
@@ -198,7 +197,7 @@ DataHubStatusCodeReportWorker (
if (Data != NULL) {
if (ReportStatusCodeExtractDebugInfo (Data, &ErrorLevel, &Marker, &Format)) {
CharCount = UnicodeVSPrintAsciiFormat (
- (CHAR16 *) Record->ExtendData,
+ (CHAR16 *) (Record + 1),
EFI_STATUS_CODE_DATA_MAX_SIZE,
Format,
Marker
@@ -206,7 +205,7 @@ DataHubStatusCodeReportWorker (
//
// Change record data type from DebugType to String Type.
//
- CopyGuid (&Record->Data.Type, &gEfiStatusCodeDataTypeStringGuid);
+ CopyGuid (&Record->Data.Type, &gEfiStatusCodeDataTypeDebugGuid);
Record->Data.HeaderSize = Data->HeaderSize;
Record->Data.Size = (UINT16) ((CharCount + 1) * sizeof (CHAR16));
} else {
@@ -218,7 +217,7 @@ DataHubStatusCodeReportWorker (
if (Data->Size > EFI_STATUS_CODE_DATA_MAX_SIZE) {
Record->Data.Size = EFI_STATUS_CODE_DATA_MAX_SIZE;
}
- CopyMem (Record->ExtendData, Data + 1, Record->Data.Size);
+ CopyMem ((VOID *) (Record + 1), Data + 1, Record->Data.Size);
}
}
@@ -244,7 +243,7 @@ LogDataHubEventCallBack (
IN VOID *Context
)
{
- DATAHUB_STATUSCODE_RECORD *Record;
+ DATA_HUB_STATUS_CODE_DATA_RECORD *Record;
UINT32 Size;
UINT64 DataRecordClass;
@@ -260,7 +259,7 @@ LogDataHubEventCallBack (
//
// Add in the size of the header we added.
//
- Size = sizeof (DATAHUB_STATUSCODE_RECORD) + (UINT32) Record->Data.Size;
+ Size = sizeof (DATA_HUB_STATUS_CODE_DATA_RECORD) + (UINT32) Record->Data.Size;
if ((Record->CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_PROGRESS_CODE) {
DataRecordClass = EFI_DATA_RECORD_CLASS_PROGRESS_CODE;
diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.c b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.c
index ec7ea8ba8c..27ea8dcd1c 100644
--- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.c
+++ b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.c
@@ -26,11 +26,6 @@
**/
-//
-// Include common header file for this module.
-//
-#include "CommonHeader.h"
-
#include "DxeStatusCode.h"
/**
diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h
index 596c17313a..6be38db671 100644
--- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h
+++ b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h
@@ -23,9 +23,35 @@ Abstract:
#define __DXE_STATUS_CODE_H__
//
-// Include common header file for this module.
+// The package level header files this module uses
//
-#include "CommonHeader.h"
+#include <FrameworkDxe.h>
+//
+// The protocols, PPI and GUID defintions for this module
+//
+#include <Guid/StatusCode.h>
+#include <Protocol/DataHub.h>
+#include <Protocol/SerialIo.h>
+#include <Guid/MemoryStatusCodeRecord.h>
+#include <Protocol/StatusCode.h>
+#include <Guid/StatusCodeDataTypeId.h>
+//
+// The Library classes this module consumes
+//
+#include <Library/BaseLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/DebugLib.h>
+#include <Library/ReportStatusCodeLib.h>
+#include <Library/PrintLib.h>
+#include <Library/PcdLib.h>
+#include <Library/HobLib.h>
+#include <Library/UefiDriverEntryPoint.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/UefiLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Library/UefiRuntimeLib.h>
+#include <Library/SerialPortLib.h>
+#include <Library/OemHookStatusCodeLib.h>
//
// Data hub worker definition
@@ -46,14 +72,10 @@ typedef enum {
} PROCESSOR_MODE;
typedef struct {
- UINTN Signature;
- LIST_ENTRY Node;
- EFI_STATUS_CODE_TYPE CodeType;
- EFI_STATUS_CODE_VALUE Value;
- UINT32 Instance;
- EFI_GUID CallerId;
- EFI_STATUS_CODE_DATA Data;
- UINT8 ExtendData[EFI_STATUS_CODE_DATA_MAX_SIZE];
+ UINTN Signature;
+ LIST_ENTRY Node;
+
+ UINT8 Data[sizeof (DATA_HUB_STATUS_CODE_DATA_RECORD) + EFI_STATUS_CODE_DATA_MAX_SIZE];
} DATAHUB_STATUSCODE_RECORD;
@@ -237,6 +259,27 @@ DataHubStatusCodeReportWorker (
IN EFI_STATUS_CODE_DATA *Data OPTIONAL
);
+
+//
+// Declaration for callback Event.
+//
+VOID
+EFIAPI
+VirtualAddressChangeCallBack (
+ IN EFI_EVENT Event,
+ IN VOID *Context
+ );
+
+//
+// Declaration for original Entry Point.
+//
+EFI_STATUS
+EFIAPI
+DxeStatusCodeDriverEntry (
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_SYSTEM_TABLE *SystemTable
+ );
+
//
// declaration of DXE status code controller.
//
diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
index 29623844e5..effccf3f14 100644
--- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
+++ b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
@@ -52,20 +52,19 @@
DataHubStatusCodeWorker.c
DxeStatusCode.c
DxeStatusCode.h
- CommonHeader.h
EntryPoint.c
[Sources.Ia32]
- Common/StatusCode.dxs
- Common/DxeStatusCodeCommon.c
+ StatusCode.dxs
+ DxeStatusCodeCommon.c
[Sources.X64]
- Common/StatusCode.dxs
- Common/DxeStatusCodeCommon.c
+ StatusCode.dxs
+ DxeStatusCodeCommon.c
[Sources.EBC]
- Common/StatusCode.dxs
- Common/DxeStatusCodeCommon.c
+ StatusCode.dxs
+ DxeStatusCodeCommon.c
@@ -114,8 +113,8 @@
[Guids]
gEfiStatusCodeGuid # SOMETIMES_CONSUMED
gMemoryStatusCodeRecordGuid # SOMETIMES_CONSUMED
- gEfiStatusCodeDataTypeStringGuid # SOMETIMES_CONSUMED
gEfiStatusCodeSpecificDataGuid # SOMETIMES_CONSUMED
+ gEfiStatusCodeDataTypeDebugGuid # PROTOCOL ALWAYS_CONSUMED
################################################################################
#
diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/EntryPoint.c b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/EntryPoint.c
index 46450f364d..5b9a591413 100644
--- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/EntryPoint.c
+++ b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/EntryPoint.c
@@ -12,10 +12,7 @@
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
-//
-// Include common header file for this module.
-//
-#include "CommonHeader.h"
+#include "DxeStatusCode.h"
//
// Event for Exit Boot Services Callback
diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/RtMemoryStatusCodeWorker.c b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/RtMemoryStatusCodeWorker.c
index db0f103a8a..532ea819ec 100644
--- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/RtMemoryStatusCodeWorker.c
+++ b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/RtMemoryStatusCodeWorker.c
@@ -14,11 +14,6 @@
**/
-//
-// Include common header file for this module.
-//
-#include "CommonHeader.h"
-
#include "DxeStatusCode.h"
/**
diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/SerialStatusCodeWorker.c b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/SerialStatusCodeWorker.c
index efc8f380a1..ed9fd5980f 100644
--- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/SerialStatusCodeWorker.c
+++ b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/SerialStatusCodeWorker.c
@@ -15,11 +15,6 @@
**/
-//
-// Include common header file for this module.
-//
-#include "CommonHeader.h"
-
#include "DxeStatusCode.h"
STATIC