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 --------- 4 files changed, 125 insertions(+), 171 deletions(-) delete mode 100644 IntelFrameworkModulePkg/Universal/StatusCode/Dxe/EntryPoint.c (limited to 'IntelFrameworkModulePkg/Universal/StatusCode/Dxe') 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; -} -- cgit v1.2.3