From a45d1619696df1f19d0c0cd3c1e223a0b3b25939 Mon Sep 17 00:00:00 2001 From: jchen20 Date: Fri, 17 Apr 2009 01:58:48 +0000 Subject: [PATCH] add comments for protocol/print.h and retire ReadOnlyVariableThunkPresent git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8107 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Compatibility/Include/Ppi/EcpPciCfg.h | 26 +++++++++++++++++ .../Ppi/ReadOnlyVariableThunkPresent.h | 28 ------------------- .../Compatibility/Include/Protocol/Print.h | 6 +++- ...ReadOnlyVariable2OnReadOnlyVariableThunk.c | 19 ++----------- ...adOnlyVariable2OnReadOnlyVariableThunk.inf | 1 - ...ReadOnlyVariableOnReadOnlyVariable2Thunk.c | 17 +---------- ...adOnlyVariableOnReadOnlyVariable2Thunk.inf | 1 - EdkCompatibilityPkg/EdkCompatibilityPkg.dec | 1 - 8 files changed, 34 insertions(+), 65 deletions(-) delete mode 100644 EdkCompatibilityPkg/Compatibility/Include/Ppi/ReadOnlyVariableThunkPresent.h diff --git a/EdkCompatibilityPkg/Compatibility/Include/Ppi/EcpPciCfg.h b/EdkCompatibilityPkg/Compatibility/Include/Ppi/EcpPciCfg.h index 19bd8a8ae4..a58c9dc764 100644 --- a/EdkCompatibilityPkg/Compatibility/Include/Ppi/EcpPciCfg.h +++ b/EdkCompatibilityPkg/Compatibility/Include/Ppi/EcpPciCfg.h @@ -22,7 +22,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. typedef struct _ECP_PEI_PCI_CFG_PPI ECP_PEI_PCI_CFG_PPI; +/** + PCI read and write operation. + + Write to/read from a given location in the PCI configuration space. + @param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation. + @param This Pointer to local data for the interface. + @param Width The width of the access. Enumerated in bytes. + See EFI_PEI_PCI_CFG_PPI_WIDTH above. + @param Address The physical address of the access. The format of + the address is described by EFI_PEI_PCI_CFG_PPI_PCI_ADDRESS. + @param Buffer A pointer to the buffer of data.. + @retval EFI_SUCCESS The function completed successfully. + @retval EFI_DEVICE_ERROR There was a problem with the transaction. + @retval EFI_DEVICE_NOT_READY The device is not capable of supporting the operation at this + time. +**/ typedef EFI_STATUS (EFIAPI *ECP_PEI_PCI_CFG_PPI_IO) ( @@ -33,6 +49,16 @@ EFI_STATUS IN OUT VOID *Buffer ); +/** + The ECP_PEI_PCI_CFG_PPI interfaces are used to abstract accesses to PCI + controllers behind a PCI root bridge controller. + @param Read + PCI read services. See the Read() function description. + @param Write + PCI write services. See the Write() function description. + +**/ + struct _ECP_PEI_PCI_CFG_PPI { ECP_PEI_PCI_CFG_PPI_IO Read; ECP_PEI_PCI_CFG_PPI_IO Write; diff --git a/EdkCompatibilityPkg/Compatibility/Include/Ppi/ReadOnlyVariableThunkPresent.h b/EdkCompatibilityPkg/Compatibility/Include/Ppi/ReadOnlyVariableThunkPresent.h deleted file mode 100644 index 9ca395d3b8..0000000000 --- a/EdkCompatibilityPkg/Compatibility/Include/Ppi/ReadOnlyVariableThunkPresent.h +++ /dev/null @@ -1,28 +0,0 @@ -/** @file - PPI published by the ReadOnlyVariable to ReadOnlyVariable2 or ReadOnlyVariable2 to ReadOnlyVariable - thunking PEIM to mark that such module has already been excuted. - - This PPI is referenced in Edk2/EdkCompatibility/Compatibility/ReadOnlyVariable2ToReadOnlyVariable - and Edk2/EdkCompatibility/Compatibility/ReadOnlyVariable2ToReadOnlyVariable. - -Copyright (c) 2006 - 2008, 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 _PEI_READONLY_VARIABLE_THUNK_PRESENT_H_ -#define _PEI_READONLY_VARIABLE_THUNK_PRESENT_H_ - -#define PEI_READONLY_VARIABLE_THUNK_PRESENT_GUID \ - { 0xe84e9e0b, 0xb5dd, 0x4d08, { 0x9e, 0x46, 0x82, 0x1f, 0xf, 0x14, 0xe9, 0x1b } } - -extern EFI_GUID gPeiReadonlyVariableThunkPresentPpiGuid; - -#endif - diff --git a/EdkCompatibilityPkg/Compatibility/Include/Protocol/Print.h b/EdkCompatibilityPkg/Compatibility/Include/Protocol/Print.h index 3e26c520f9..5c0426232a 100644 --- a/EdkCompatibilityPkg/Compatibility/Include/Protocol/Print.h +++ b/EdkCompatibilityPkg/Compatibility/Include/Protocol/Print.h @@ -68,7 +68,11 @@ UINTN IN VA_LIST Marker ); - +/** + The EFI_PRINT_PROTOCOL provides one service to produce a Null-terminated Unicode string + based on a Null-terminated Unicode format string and a VA_LIST argument list and fill into + the buffer as output +**/ struct _EFI_PRINT_PROTOCOL { UNI_VSPRINT VSPrint; }; diff --git a/EdkCompatibilityPkg/Compatibility/ReadOnlyVariable2OnReadOnlyVariableThunk/ReadOnlyVariable2OnReadOnlyVariableThunk.c b/EdkCompatibilityPkg/Compatibility/ReadOnlyVariable2OnReadOnlyVariableThunk/ReadOnlyVariable2OnReadOnlyVariableThunk.c index 2de6c92785..adeddbc00e 100644 --- a/EdkCompatibilityPkg/Compatibility/ReadOnlyVariable2OnReadOnlyVariableThunk/ReadOnlyVariable2OnReadOnlyVariableThunk.c +++ b/EdkCompatibilityPkg/Compatibility/ReadOnlyVariable2OnReadOnlyVariableThunk/ReadOnlyVariable2OnReadOnlyVariableThunk.c @@ -26,7 +26,6 @@ Module Name: #include #include #include -#include #include #include #include @@ -69,12 +68,6 @@ EFI_PEI_PPI_DESCRIPTOR mPpiListVariable = { }; -EFI_PEI_PPI_DESCRIPTOR mReadOnlyVariableThunkPresent = { - (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST), - &gPeiReadonlyVariableThunkPresentPpiGuid, - NULL -}; - /** User entry for this PEIM driver. @@ -92,8 +85,6 @@ PeimInitializeReadOnlyVariable2 ( IN CONST EFI_PEI_SERVICES **PeiServices ) { - VOID *Interface; - EFI_STATUS Status; // // This thunk module can only be used together with a PI PEI core, as we // assume PeiServices Pointer Table can be located in a standard way defined @@ -102,15 +93,9 @@ PeimInitializeReadOnlyVariable2 ( ASSERT ((*PeiServices)->Hdr.Revision >= 0x00010000); // - // Make sure ReadOnlyVariable2ToReadOnlyVariable module is not present. If so, the call chain will form a - // infinite loop: ReadOnlyVariable2 -> ReadOnlyVariable -> ReadOnlyVariable2 -> .... + // Developer should make sure ReadOnlyVariable2ToReadOnlyVariable module is not present. or else, the call chain will form a + // infinite loop: ReadOnlyVariable2 -> ReadOnlyVariable -> ReadOnlyVariable2 -> ..... // - Status = PeiServicesLocatePpi (&gPeiReadonlyVariableThunkPresentPpiGuid, 0, NULL, &Interface); - ASSERT (Status == EFI_NOT_FOUND); - - Status = PeiServicesInstallPpi (&mReadOnlyVariableThunkPresent); - ASSERT_EFI_ERROR (Status); - // // Publish the variable capability to other modules // diff --git a/EdkCompatibilityPkg/Compatibility/ReadOnlyVariable2OnReadOnlyVariableThunk/ReadOnlyVariable2OnReadOnlyVariableThunk.inf b/EdkCompatibilityPkg/Compatibility/ReadOnlyVariable2OnReadOnlyVariableThunk/ReadOnlyVariable2OnReadOnlyVariableThunk.inf index 64664f1cd2..dabdc68339 100644 --- a/EdkCompatibilityPkg/Compatibility/ReadOnlyVariable2OnReadOnlyVariableThunk/ReadOnlyVariable2OnReadOnlyVariableThunk.inf +++ b/EdkCompatibilityPkg/Compatibility/ReadOnlyVariable2OnReadOnlyVariableThunk/ReadOnlyVariable2OnReadOnlyVariableThunk.inf @@ -59,7 +59,6 @@ [Ppis] gEfiPeiReadOnlyVariablePpiGuid # PPI ALWAYS_CONSUMED gEfiPeiReadOnlyVariable2PpiGuid # PPI ALWAYS_PRODUCED - gPeiReadonlyVariableThunkPresentPpiGuid [Depex] gEfiPeiReadOnlyVariablePpiGuid diff --git a/EdkCompatibilityPkg/Compatibility/ReadOnlyVariableOnReadOnlyVariable2Thunk/ReadOnlyVariableOnReadOnlyVariable2Thunk.c b/EdkCompatibilityPkg/Compatibility/ReadOnlyVariableOnReadOnlyVariable2Thunk/ReadOnlyVariableOnReadOnlyVariable2Thunk.c index 0e531e3a5f..3eaa929c7c 100644 --- a/EdkCompatibilityPkg/Compatibility/ReadOnlyVariableOnReadOnlyVariable2Thunk/ReadOnlyVariableOnReadOnlyVariable2Thunk.c +++ b/EdkCompatibilityPkg/Compatibility/ReadOnlyVariableOnReadOnlyVariable2Thunk/ReadOnlyVariableOnReadOnlyVariable2Thunk.c @@ -25,7 +25,6 @@ Module Name: #include #include #include -#include #include #include @@ -66,11 +65,6 @@ EFI_PEI_PPI_DESCRIPTOR mPpiListVariable = { &mVariablePpi }; -EFI_PEI_PPI_DESCRIPTOR mReadOnlyVariableThunkPresent = { - (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST), - &gPeiReadonlyVariableThunkPresentPpiGuid, - NULL -}; /** @@ -89,19 +83,10 @@ PeimInitializeReadOnlyVariable ( IN CONST EFI_PEI_SERVICES **PeiServices ) { - VOID *Interface; - EFI_STATUS Status; - // - // Make sure ReadOnlyVariableToReadOnlyVariable2 module is not present. If so, the call chain will form a + //Developer should make sure ReadOnlyVariableToReadOnlyVariable2 module is not present. If so, the call chain will form a // infinite loop: ReadOnlyVariable -> ReadOnlyVariable2 -> ReadOnlyVariable -> .... // - Status = PeiServicesLocatePpi (&gPeiReadonlyVariableThunkPresentPpiGuid, 0, NULL, &Interface); - ASSERT (Status == EFI_NOT_FOUND); - - Status = PeiServicesInstallPpi (&mReadOnlyVariableThunkPresent); - ASSERT_EFI_ERROR (Status); - // // Publish the variable capability to other modules // diff --git a/EdkCompatibilityPkg/Compatibility/ReadOnlyVariableOnReadOnlyVariable2Thunk/ReadOnlyVariableOnReadOnlyVariable2Thunk.inf b/EdkCompatibilityPkg/Compatibility/ReadOnlyVariableOnReadOnlyVariable2Thunk/ReadOnlyVariableOnReadOnlyVariable2Thunk.inf index f3975c2f2c..f7546e3dd3 100644 --- a/EdkCompatibilityPkg/Compatibility/ReadOnlyVariableOnReadOnlyVariable2Thunk/ReadOnlyVariableOnReadOnlyVariable2Thunk.inf +++ b/EdkCompatibilityPkg/Compatibility/ReadOnlyVariableOnReadOnlyVariable2Thunk/ReadOnlyVariableOnReadOnlyVariable2Thunk.inf @@ -56,7 +56,6 @@ [Ppis] gEfiPeiReadOnlyVariable2PpiGuid # PPI ALWAYS_CONSUMED gEfiPeiReadOnlyVariablePpiGuid # PPI ALWAYS_PRODUCED - gPeiReadonlyVariableThunkPresentPpiGuid [Depex] gEfiPeiReadOnlyVariable2PpiGuid diff --git a/EdkCompatibilityPkg/EdkCompatibilityPkg.dec b/EdkCompatibilityPkg/EdkCompatibilityPkg.dec index 961f56513e..03aeacb96a 100644 --- a/EdkCompatibilityPkg/EdkCompatibilityPkg.dec +++ b/EdkCompatibilityPkg/EdkCompatibilityPkg.dec @@ -49,7 +49,6 @@ [LibraryClasses.common] [Ppis.common] - gPeiReadonlyVariableThunkPresentPpiGuid = { 0xe84e9e0b, 0xb5dd, 0x4d08, { 0x9e, 0x46, 0x82, 0x1f, 0xf, 0x14, 0xe9, 0x1b }} gEcpPeiPciCfgPpiGuid = { 0xb0ee53d4, 0xa049, 0x4a79, { 0xb2, 0xff, 0x19, 0xd9, 0xfa, 0xef, 0xaa, 0x94 }} [Protocols.common]