From ececc2eb4b589cc55eabcabbafbd067ff3432df0 Mon Sep 17 00:00:00 2001 From: vanjeff Date: Mon, 16 Jul 2007 03:28:26 +0000 Subject: Modules clean up. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3242 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Universal/StatusCode/Dxe/DxeStatusCode.h | 130 ++++++++++----------- .../Universal/StatusCode/Dxe/DxeStatusCode.inf | 3 +- .../Universal/StatusCode/Dxe/DxeStatusCodeCommon.c | 105 +++++++++-------- .../Universal/StatusCode/Dxe/EntryPoint.c | 58 --------- .../Universal/StatusCode/Pei/CommonHeader.h | 44 ------- .../StatusCode/Pei/MemoryStausCodeWorker.c | 63 +++++----- .../Universal/StatusCode/Pei/PeiStatusCode.c | 61 +++++----- .../Universal/StatusCode/Pei/PeiStatusCode.h | 126 +++++++++++--------- .../Universal/StatusCode/Pei/PeiStatusCode.inf | 1 - .../StatusCode/Pei/SerialStatusCodeWorker.c | 87 +++++++------- 10 files changed, 296 insertions(+), 382 deletions(-) delete mode 100644 IntelFrameworkModulePkg/Universal/StatusCode/Dxe/EntryPoint.c delete mode 100644 IntelFrameworkModulePkg/Universal/StatusCode/Pei/CommonHeader.h (limited to 'IntelFrameworkModulePkg/Universal/StatusCode') diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h index 288e398805..9762313e6e 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h +++ b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.h @@ -1,13 +1,13 @@ /*++ - 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. + 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. --*/ @@ -46,7 +46,7 @@ #include // -// Data hub worker definition +// Data hub worker definition // #define MAX_NUMBER_DATAHUB_RECORDS 1000 #define DATAHUB_BYTES_PER_RECORD EFI_STATUS_CODE_DATA_MAX_SIZE @@ -56,8 +56,8 @@ // // Address type of pointer. // The point type always equal to PHYSICAL_MODE on IA32/X64/EBC architecture -// Otherwise, VIRTUAL_MODE/PHYSICAL_MODE would be used on Ipf architecture, -// +// Otherwise, VIRTUAL_MODE/PHYSICAL_MODE would be used on Ipf architecture, +// typedef enum { PHYSICAL_MODE, VIRTUAL_MODE @@ -72,8 +72,8 @@ typedef struct { // -// Runtime memory status code worker definition -// +// Runtime memory status code worker definition +// typedef struct { UINT32 RecordIndex; UINT32 NumberOfRecords; @@ -83,22 +83,22 @@ typedef struct { typedef struct { // - // Report operation nest status. + // Report operation nest status. // If it is set, then the report operation has nested. - // + // UINT32 StatusCodeNestStatus; // // Runtime status code management header, the records buffer is following it. - // + // RUNTIME_MEMORY_STATUSCODE_HEADER *RtMemoryStatusCodeTable[2]; } DXE_STATUS_CODE_CONTROLLER; /** - - Dispatch initialization request to sub status code devices based on + + Dispatch initialization request to sub status code devices based on customized feature flags. - + **/ VOID InitializationDispatcherWorker ( @@ -108,7 +108,7 @@ InitializationDispatcherWorker ( /** Initialize serial status code worker. - + @return The function always return EFI_SUCCESS **/ @@ -120,29 +120,29 @@ EfiSerialStatusCodeInitializeWorker ( /** Convert status code value and extended data to readable ASCII string, send string to serial I/O device. - + @param CodeType Indicates the type of status code being reported. Type EFI_STATUS_CODE_TYPE is defined in "Related Definitions" below. - - @param Value Describes the current status of a hardware or software entity. - This included 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. + + @param Value Describes the current status of a hardware or software entity. + This included 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, + + @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 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. Type EFI_GUID is defined in InstallProtocolInterface() in the EFI 1.10 Specification. @param Data This optional parameter may be used to pass additional data - + @retval EFI_SUCCESS Success to report status code to serial I/O. @retval EFI_DEVICE_ERROR EFI serial device can not work after ExitBootService() is called . @@ -158,7 +158,7 @@ SerialStatusCodeReportWorker ( /** Initialize runtime memory status code. - + @return The function always return EFI_SUCCESS **/ @@ -168,26 +168,26 @@ RtMemoryStatusCodeInitializeWorker ( ); /** - Report status code into runtime memory. If the runtime pool is full, roll back to the + Report status code into runtime memory. If the runtime pool is full, roll back to the first record and overwrite it. - - @param RtMemoryStatusCodeTable + + @param RtMemoryStatusCodeTable Point to Runtime memory table header. @param CodeType Indicates the type of status code being reported. Type EFI_STATUS_CODE_TYPE is defined in "Related Definitions" below. - - @param Value Describes the current status of a hardware or software entity. - This included 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. + + @param Value Describes the current status of a hardware or software entity. + This included 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, + + @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. - + @return The function always return EFI_SUCCESS. **/ @@ -202,7 +202,7 @@ RtMemoryStatusCodeReportWorker ( /** Initialize data hubstatus code. Create a data hub listener. - + @return The function always return EFI_SUCCESS **/ @@ -214,29 +214,29 @@ DataHubStatusCodeInitializeWorker ( /** Report status code into DataHub. - + @param CodeType Indicates the type of status code being reported. Type EFI_STATUS_CODE_TYPE is defined in "Related Definitions" below. - - @param Value Describes the current status of a hardware or software entity. - This included 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. + + @param Value Describes the current status of a hardware or software entity. + This included 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, + + @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 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. Type EFI_GUID is defined in InstallProtocolInterface() in the EFI 1.10 Specification. @param Data This optional parameter may be used to pass additional data - + @retval EFI_OUT_OF_RESOURCES Can not acquire record buffer. @retval EFI_DEVICE_ERROR EFI serial device can not work after ExitBootService() is called . @retval EFI_SUCCESS Success to cache status code and signal log data event. @@ -274,7 +274,7 @@ DxeStatusCodeDriverEntry ( // // declaration of DXE status code controller. -// +// extern DXE_STATUS_CODE_CONTROLLER gDxeStatusCode; #endif diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf index 7ada24d727..f504e586fa 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf +++ b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf @@ -30,7 +30,7 @@ EDK_RELEASE_VERSION = 0x00020000 EFI_SPECIFICATION_VERSION = 0x00020000 - ENTRY_POINT = InitializeDxeStatusCode + ENTRY_POINT = DxeStatusCodeDriverEntry # # The following information is for reference only and not required by the build tools. @@ -52,7 +52,6 @@ DataHubStatusCodeWorker.c DxeStatusCode.c DxeStatusCode.h - EntryPoint.c [Sources.Ia32] DxeStatusCodeCommon.c diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCodeCommon.c b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCodeCommon.c index 5740d6f78a..eecf38db58 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCodeCommon.c +++ b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCodeCommon.c @@ -1,48 +1,52 @@ /** @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. + 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. **/ #include "DxeStatusCode.h" +// +// Event for Exit Boot Services Callback +// +STATIC EFI_EVENT mExitBootServicesEvent = NULL; /** - Report status code to all supported device. + Report status code to all supported device. Calls into the workers which dispatches the platform specific - listeners. + listeners. - @param Type Indicates the type of status code being reported. + @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. + @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 + @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. + @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 + @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 +EFI_STATUS EFIAPI ReportDispatcher ( IN EFI_STATUS_CODE_TYPE Type, @@ -61,12 +65,12 @@ EFI_STATUS_CODE_PROTOCOL mEfiStatusCodeProtocol = { }; // -// Delaration of DXE status code controller +// Delaration of DXE status code controller // DXE_STATUS_CODE_CONTROLLER gDxeStatusCode = { // - // Initialize nest status as non nested. - // + // Initialize nest status as non nested. + // 0, {NULL, NULL} }; @@ -74,7 +78,7 @@ DXE_STATUS_CODE_CONTROLLER gDxeStatusCode = { /** Install the ReportStatusCode runtime service. - + @param ImageHandle Image handle of the loaded driver @param SystemTable Pointer to the System Table @@ -107,37 +111,46 @@ DxeStatusCodeDriverEntry ( ); ASSERT_EFI_ERROR (Status); + Status = gBS->CreateEvent ( + EVT_SIGNAL_EXIT_BOOT_SERVICES, + TPL_NOTIFY, + VirtualAddressChangeCallBack, + NULL, + &mExitBootServicesEvent + ); + ASSERT_EFI_ERROR (Status); + return Status; } /** - Report status code to all supported device. + Report status code to all supported device. Calls into the workers which dispatches the platform specific - listeners. + listeners. - @param CodeType Indicates the type of status code being reported. + @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. + @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 + @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. + @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 + @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 +EFI_STATUS EFIAPI ReportDispatcher ( IN EFI_STATUS_CODE_TYPE CodeType, @@ -201,7 +214,7 @@ ReportDispatcher ( /** - Virtual address change notification call back. It converts global pointer + Virtual address change notification call back. It converts global pointer to virtual address. @param Event Event whose notification function is being invoked. @@ -220,7 +233,7 @@ VirtualAddressChangeCallBack ( // Convert memory status code table to virtual address; // EfiConvertPointer ( - 0, + 0, (VOID **) &gDxeStatusCode.RtMemoryStatusCodeTable[PHYSICAL_MODE] ); } diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/EntryPoint.c b/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/EntryPoint.c deleted file mode 100644 index 61722f8d59..0000000000 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/EntryPoint.c +++ /dev/null @@ -1,58 +0,0 @@ -/**@file - Entry Point Source file. - - This file contains the user entry point - - 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. - -**/ - -#include "DxeStatusCode.h" - -// -// Event for Exit Boot Services Callback -// -STATIC EFI_EVENT mExitBootServicesEvent = NULL; - -/** - The user Entry Point for module DxeStatusCode. The user code starts with this function. - - @param[in] ImageHandle The firmware allocated handle for the EFI image. - @param[in] SystemTable A pointer to the EFI System Table. - - @retval EFI_SUCCESS The entry point is executed successfully. - @retval other Some error occurs when executing this entry point. - -**/ -EFI_STATUS -EFIAPI -InitializeDxeStatusCode( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - EFI_STATUS Status; - - Status = gBS->CreateEvent ( - EVT_SIGNAL_EXIT_BOOT_SERVICES, - TPL_NOTIFY, - VirtualAddressChangeCallBack, - NULL, - &mExitBootServicesEvent - ); - ASSERT_EFI_ERROR (Status); - - // - // Call the original Entry Point - // - Status = DxeStatusCodeDriverEntry (ImageHandle, SystemTable); - - return Status; -} diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/CommonHeader.h b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/CommonHeader.h deleted file mode 100644 index 2521548f6f..0000000000 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/CommonHeader.h +++ /dev/null @@ -1,44 +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 -// -// The protocols, PPI and GUID defintions for this module -// -#include -#include -#include -// -// The Library classes this module consumes -// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c index 195e3e2183..23b5130c7d 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c +++ b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c @@ -1,32 +1,27 @@ /** @file Memory status code worker in PEI. - 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. + 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: MemoryStatusCodeWorker.c **/ -// -// Include common header file for this module. -// -#include "CommonHeader.h" - #include "PeiStatusCode.h" /** - Create one memory status code GUID'ed HOB, use PacketIndex + Create one memory status code GUID'ed HOB, use PacketIndex to identify the packet. - @param PacketIndex Index of records packet. - + @param PacketIndex Index of records packet. + @return Always return pointer of memory status code packet. **/ @@ -43,8 +38,8 @@ CreateMemoryStatusCodePacket ( // PacketHeader = (MEMORY_STATUSCODE_PACKET_HEADER *) BuildGuidHob ( - &gMemoryStatusCodeRecordGuid, - PcdGet16 (PcdStatusCodeMemorySize) * + &gMemoryStatusCodeRecordGuid, + PcdGet16 (PcdStatusCodeMemorySize) * 1024 + sizeof (MEMORY_STATUSCODE_PACKET_HEADER) ); @@ -61,9 +56,9 @@ CreateMemoryStatusCodePacket ( /** Initialize memory status code. - Create one GUID'ed HOB with PCD defined size. If create required size + Create one GUID'ed HOB with PCD defined size. If create required size GUID'ed HOB failed, then ASSERT(). - + @return The function always return EFI_SUCCESS **/ @@ -83,21 +78,21 @@ MemoryStatusCodeInitializeWorker ( /** Report status code into GUID'ed HOB.. - + @param CodeType Indicates the type of status code being reported. Type EFI_STATUS_CODE_TYPE is defined in "Related Definitions" below. - - @param Value Describes the current status of a hardware or software entity. - This included 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. + + @param Value Describes the current status of a hardware or software entity. + This included 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, + + @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. - + @return The function always return EFI_SUCCESS. **/ @@ -140,11 +135,11 @@ MemoryStatusCodeReportWorker ( if (NULL == Record) { // - // In order to save status code , create new packet. + // In order to save status code , create new packet. // PacketHeader = CreateMemoryStatusCodePacket (PacketIndex); - Record = (MEMORY_STATUSCODE_RECORD *) (PacketHeader + 1); + Record = (MEMORY_STATUSCODE_RECORD *) (PacketHeader + 1); Record = &Record[PacketHeader->RecordIndex++]; } diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.c b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.c index 0a697cc211..7c0fdc6077 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.c +++ b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.c @@ -2,28 +2,23 @@ /** @file Generic PeiStatusCode Module. - 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. + 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: PeiStatusCode.c **/ -// -// Include common header file for this module. -// -#include "CommonHeader.h" - #include "PeiStatusCode.h" STATIC -EFI_PEI_PROGRESS_CODE_PPI mStatusCodePpi = { +EFI_PEI_PROGRESS_CODE_PPI mStatusCodePpi = { ReportDispatcher }; @@ -36,27 +31,27 @@ EFI_PEI_PPI_DESCRIPTOR mStatusCodePpiDescriptor = { /** Report status code to all supported device. - - + + @param PeiServices - @param CodeType Indicates the type of status code being reported. + @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. + @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 + @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. + @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 + @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. @@ -103,12 +98,12 @@ ReportDispatcher ( } /** - Initialize PEI status codes and publish the status code + Initialize PEI status codes and publish the status code PPI. @param FfsHeader FV this PEIM was loaded from. @param PeiServices General purpose services available to every PEIM. - + @return The function always returns success. **/ @@ -140,12 +135,12 @@ PeiStatusCodeDriverEntry ( } // - // Install PeiStatusCodePpi. + // Install PeiStatusCodePpi. // PeiServices use this Ppi to output status code. // use library Status = PeiServicesInstallPpi (&mStatusCodePpiDescriptor); ASSERT_EFI_ERROR (Status); - + return EFI_SUCCESS; } diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.h b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.h index c8c004d6cd..48675056e1 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.h +++ b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.h @@ -2,14 +2,14 @@ /** @file Heade file of status code PEIM - 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. + 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: PeiStatusCode.h @@ -20,35 +20,55 @@ // -// Include common header file for this module. +// The package level header files this module uses +// +#include +// +// The protocols, PPI and GUID defintions for this module +// +#include +#include +#include +// +// The Library classes this module consumes // -#include "CommonHeader.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /** Convert status code value and extended data to readable ASCII string, send string to serial I/O device. - + @param CodeType Indicates the type of status code being reported. Type EFI_STATUS_CODE_TYPE is defined in "Related Definitions" below. - - @param Value Describes the current status of a hardware or software entity. - This included 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. + + @param Value Describes the current status of a hardware or software entity. + This included 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, + + @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 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. Type EFI_GUID is defined in InstallProtocolInterface() in the EFI 1.10 Specification. @param Data This optional parameter may be used to pass additional data - + @return The function always return EFI_SUCCESS. **/ @@ -64,9 +84,9 @@ SerialStatusCodeReportWorker ( /** Initialize memory status code. - Create one GUID'ed HOB with PCD defined size. If create required size + Create one GUID'ed HOB with PCD defined size. If create required size GUID'ed HOB failed, then ASSERT(). - + @return The function always return EFI_SUCCESS **/ @@ -77,21 +97,21 @@ MemoryStatusCodeInitializeWorker ( /** Report status code into GUID'ed HOB. - + @param CodeType Indicates the type of status code being reported. Type EFI_STATUS_CODE_TYPE is defined in "Related Definitions" below. - - @param Value Describes the current status of a hardware or software entity. - This included 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. + + @param Value Describes the current status of a hardware or software entity. + This included 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, + + @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. - + @return The function always return EFI_SUCCESS. **/ @@ -104,27 +124,27 @@ MemoryStatusCodeReportWorker ( /** Report status code to all supported device. - - + + @param PeiServices - @param Type Indicates the type of status code being reported. + @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. + @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 + @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. + @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 + @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. diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf index b27d1cbb33..fd247138f8 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf +++ b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf @@ -47,7 +47,6 @@ MemoryStausCodeWorker.c SerialStatusCodeWorker.c PeiStatusCode.h - CommonHeader.h ################################################################################ diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/SerialStatusCodeWorker.c b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/SerialStatusCodeWorker.c index 2efc23ceac..9f84b01391 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/SerialStatusCodeWorker.c +++ b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/SerialStatusCodeWorker.c @@ -2,51 +2,46 @@ /** @file Serial I/O status code reporting worker. - 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. + 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: SerialStatusCodeWorker.c **/ -// -// Include common header file for this module. -// -#include "CommonHeader.h" - #include "PeiStatusCode.h" /** Convert status code value and extended data to readable ASCII string, send string to serial I/O device. - + @param CodeType Indicates the type of status code being reported. Type EFI_STATUS_CODE_TYPE is defined in "Related Definitions" below. - - @param Value Describes the current status of a hardware or software entity. - This included 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. + + @param Value Describes the current status of a hardware or software entity. + This included 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, + + @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 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. Type EFI_GUID is defined in InstallProtocolInterface() in the EFI 1.10 Specification. @param Data This optional parameter may be used to pass additional data - + @return The function always return EFI_SUCCESS. **/ @@ -90,12 +85,12 @@ SerialStatusCodeReportWorker ( // Print DEBUG() information into output buffer. // CharCount = AsciiVSPrint ( - Buffer, - EFI_STATUS_CODE_DATA_MAX_SIZE, - Format, + Buffer, + EFI_STATUS_CODE_DATA_MAX_SIZE, + Format, Marker ); - } else if (Data != NULL && + } else if (Data != NULL && CompareGuid (&Data->Type, &gEfiStatusCodeSpecificDataGuid) && (CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_DEBUG_CODE) { // @@ -111,18 +106,18 @@ SerialStatusCodeReportWorker ( // Print ERROR information into output buffer. // CharCount = AsciiSPrint ( - Buffer, - EFI_STATUS_CODE_DATA_MAX_SIZE, - "ERROR: C%x:V%x I%x", - CodeType, - Value, + Buffer, + EFI_STATUS_CODE_DATA_MAX_SIZE, + "ERROR: C%x:V%x I%x", + CodeType, + Value, Instance ); // // Make sure we don't try to print values that weren't intended to be printed, especially NULL GUID pointers. // - + if (CallerId != NULL) { CharCount += AsciiSPrint ( &Buffer[CharCount - 1], @@ -148,19 +143,19 @@ SerialStatusCodeReportWorker ( ); } else if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_PROGRESS_CODE) { CharCount = AsciiSPrint ( - Buffer, - EFI_STATUS_CODE_DATA_MAX_SIZE, - "PROGRESS CODE: V%x I%x\n\r", - Value, + Buffer, + EFI_STATUS_CODE_DATA_MAX_SIZE, + "PROGRESS CODE: V%x I%x\n\r", + Value, Instance ); } else { CharCount = AsciiSPrint ( - Buffer, - EFI_STATUS_CODE_DATA_MAX_SIZE, - "Undefined: C%x:V%x I%x\n\r", - CodeType, - Value, + Buffer, + EFI_STATUS_CODE_DATA_MAX_SIZE, + "Undefined: C%x:V%x I%x\n\r", + CodeType, + Value, Instance ); } -- cgit v1.2.3