Reviewed-by: Zhiguang Liu <zhiguang....@intel.com>
> -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oleksiy > Yakovlev > Sent: Friday, May 8, 2020 3:35 AM > To: devel@edk2.groups.io > Cc: Gao, Liming <liming....@intel.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; fel...@ami.com; oleks...@ami.com > Subject: [edk2-devel] [PATCH v2 2/4] MdePkg: Fix OUT parameters marked > as IN OUT > > Some output parameters throughout the specification were mistakenly > marked as IN OUT. > "IN OUT" replaced with "OUT" in the following interfaces > > EFI_BOOT_SERVICES.GetMemoryMap():MemoryMap > EFI_BOOT_SERVICES.LocateHandleBuffer():NoHandles > EFI_SIMPLE_POINTER_PROTOCOL.GetState():State > EFI_ABSOLUTE_POINTER_PROTOCOL.GetState():State > EFI_EDID_OVERRIDE_PROTOCOL.GetEdid():EdidSize and Edid > EFI_ATA_PASS_THRU_PROTOCOL.BuildDevicePath():DevicePath > EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL.BuildDevicePath():DevicePath > EFI_SD_MMC_PASS_THRU_PROTOCOL.BuildDevicePath():DevicePath > EFI_EXT_SCSI_PASS_THRU_PROTOCOL.BuildDevicePath():DevicePath > EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage():Image > (UEFI 2.8 errata a, mantis 2035) > > Signed-off-by: Oleksiy Yakovlev <oleks...@ami.com> > --- > MdePkg/Include/Protocol/AbsolutePointer.h | 2 +- > MdePkg/Include/Protocol/AtaPassThru.h | 4 ++-- > MdePkg/Include/Protocol/EdidOverride.h | 4 ++-- > MdePkg/Include/Protocol/FirmwareManagement.h | 4 ++-- > MdePkg/Include/Protocol/NvmExpressPassthru.h | 4 ++-- > MdePkg/Include/Protocol/ScsiPassThruExt.h | 2 +- > MdePkg/Include/Protocol/SdMmcPassThru.h | 4 ++-- > MdePkg/Include/Protocol/SimplePointer.h | 2 +- > MdePkg/Include/Uefi/UefiSpec.h | 8 ++++---- > 9 files changed, 17 insertions(+), 17 deletions(-) > > diff --git a/MdePkg/Include/Protocol/AbsolutePointer.h > b/MdePkg/Include/Protocol/AbsolutePointer.h > index 77d34ae..d59ac97 100644 > --- a/MdePkg/Include/Protocol/AbsolutePointer.h > +++ b/MdePkg/Include/Protocol/AbsolutePointer.h > @@ -169,7 +169,7 @@ typedef > EFI_STATUS > (EFIAPI *EFI_ABSOLUTE_POINTER_GET_STATE)( > IN EFI_ABSOLUTE_POINTER_PROTOCOL *This, > - IN OUT EFI_ABSOLUTE_POINTER_STATE *State > + OUT EFI_ABSOLUTE_POINTER_STATE *State > ); > > > diff --git a/MdePkg/Include/Protocol/AtaPassThru.h > b/MdePkg/Include/Protocol/AtaPassThru.h > index ce6f57f..888dff2 100644 > --- a/MdePkg/Include/Protocol/AtaPassThru.h > +++ b/MdePkg/Include/Protocol/AtaPassThru.h > @@ -315,7 +315,7 @@ EFI_STATUS > @param[in] PortMultiplierPort The port multiplier port number of the > ATA device for which a > device path node is to be allocated and > built. If there is no > port multiplier, then specify 0xFFFF. > - @param[in,out] DevicePath A pointer to a single device path node > that > describes the ATA > + @param[out] DevicePath A pointer to a single device path node > that > describes the ATA > device specified by Port and > PortMultiplierPort. This > function > is responsible for allocating the > buffer DevicePath with the > boot service AllocatePool(). It is the > caller's responsibility > @@ -334,7 +334,7 @@ EFI_STATUS > IN EFI_ATA_PASS_THRU_PROTOCOL *This, > IN UINT16 Port, > IN UINT16 PortMultiplierPort, > - IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath > + OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath > ); > > /** > diff --git a/MdePkg/Include/Protocol/EdidOverride.h > b/MdePkg/Include/Protocol/EdidOverride.h > index 9036f8b..709ee48 100644 > --- a/MdePkg/Include/Protocol/EdidOverride.h > +++ b/MdePkg/Include/Protocol/EdidOverride.h > @@ -44,8 +44,8 @@ EFI_STATUS > IN EFI_EDID_OVERRIDE_PROTOCOL *This, > IN EFI_HANDLE *ChildHandle, > OUT UINT32 *Attributes, > - IN OUT UINTN *EdidSize, > - IN OUT UINT8 **Edid > + OUT UINTN *EdidSize, > + OUT UINT8 **Edid > ); > > /// > diff --git a/MdePkg/Include/Protocol/FirmwareManagement.h > b/MdePkg/Include/Protocol/FirmwareManagement.h > index 297bb5f..b501261 100644 > --- a/MdePkg/Include/Protocol/FirmwareManagement.h > +++ b/MdePkg/Include/Protocol/FirmwareManagement.h > @@ -345,7 +345,7 @@ EFI_STATUS > @param[in] This A pointer to the > EFI_FIRMWARE_MANAGEMENT_PROTOCOL instance. > @param[in] ImageIndex A unique number identifying the firmware > image(s) within the device. > The number is between 1 and DescriptorCount. > - @param[in, out] Image Points to the buffer where the current > image is > copied to. > + @param[out] Image Points to the buffer where the current > image is > copied to. > @param[in, out] ImageSize On entry, points to the size of the buffer > pointed to by Image, in bytes. > On return, points to the length of the > image, in bytes. > > @@ -364,7 +364,7 @@ EFI_STATUS > (EFIAPI *EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE)( > IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, > IN UINT8 ImageIndex, > - IN OUT VOID *Image, > + OUT VOID *Image, > IN OUT UINTN *ImageSize > ); > > diff --git a/MdePkg/Include/Protocol/NvmExpressPassthru.h > b/MdePkg/Include/Protocol/NvmExpressPassthru.h > index 7420924..870b9b5 100644 > --- a/MdePkg/Include/Protocol/NvmExpressPassthru.h > +++ b/MdePkg/Include/Protocol/NvmExpressPassthru.h > @@ -214,7 +214,7 @@ EFI_STATUS > @param[in] NamespaceId The NVM Express namespace ID for which > a device path node is to be > allocated and built. Caller must set > the NamespaceId to > zero if the > device path node will contain a valid > UUID. > - @param[in,out] DevicePath A pointer to a single device path node > that > describes the NVM Express > + @param[out] DevicePath A pointer to a single device path node > that > describes the NVM Express > namespace specified by NamespaceId. > This function is > responsible for > allocating the buffer DevicePath with > the boot service > AllocatePool(). > It is the caller's responsibility to > free DevicePath when the > caller @@ -231,7 +231,7 @@ EFI_STATUS (EFIAPI > *EFI_NVM_EXPRESS_PASS_THRU_BUILD_DEVICE_PATH)( > IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This, > IN UINT32 NamespaceId, > - IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath > + OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath > ); > > /** > diff --git a/MdePkg/Include/Protocol/ScsiPassThruExt.h > b/MdePkg/Include/Protocol/ScsiPassThruExt.h > index c83da26..994fbba 100644 > --- a/MdePkg/Include/Protocol/ScsiPassThruExt.h > +++ b/MdePkg/Include/Protocol/ScsiPassThruExt.h > @@ -259,7 +259,7 @@ EFI_STATUS > IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This, > IN UINT8 *Target, > IN UINT64 Lun, > - IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath > + OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath > ); > > /** > diff --git a/MdePkg/Include/Protocol/SdMmcPassThru.h > b/MdePkg/Include/Protocol/SdMmcPassThru.h > index 3db6a3e..ac5470b 100644 > --- a/MdePkg/Include/Protocol/SdMmcPassThru.h > +++ b/MdePkg/Include/Protocol/SdMmcPassThru.h > @@ -164,7 +164,7 @@ EFI_STATUS > @param[in] This A pointer to the > EFI_SD_MMMC_PASS_THRU_PROTOCOL instance. > @param[in] Slot Specifies the slot number of the SD card for > which a > device > path node is to be allocated and built. > - @param[in,out] DevicePath A pointer to a single device path node that > describes the SD > + @param[out] DevicePath A pointer to a single device path node that > describes the SD > card specified by Slot. This function is > responsible for > allocating the buffer DevicePath with the > boot service > AllocatePool(). It is the caller's > responsibility to free @@ - > 182,7 +182,7 @@ EFI_STATUS (EFIAPI > *EFI_SD_MMC_PASS_THRU_BUILD_DEVICE_PATH) ( > IN EFI_SD_MMC_PASS_THRU_PROTOCOL *This, > IN UINT8 Slot, > - IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath > + OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath > ); > > /** > diff --git a/MdePkg/Include/Protocol/SimplePointer.h > b/MdePkg/Include/Protocol/SimplePointer.h > index 2f5a940..c631414 100644 > --- a/MdePkg/Include/Protocol/SimplePointer.h > +++ b/MdePkg/Include/Protocol/SimplePointer.h > @@ -109,7 +109,7 @@ typedef > EFI_STATUS > (EFIAPI *EFI_SIMPLE_POINTER_GET_STATE)( > IN EFI_SIMPLE_POINTER_PROTOCOL *This, > - IN OUT EFI_SIMPLE_POINTER_STATE *State > + OUT EFI_SIMPLE_POINTER_STATE *State > ); > > /// > diff --git a/MdePkg/Include/Uefi/UefiSpec.h > b/MdePkg/Include/Uefi/UefiSpec.h index 444aa35..29a033c 100644 > --- a/MdePkg/Include/Uefi/UefiSpec.h > +++ b/MdePkg/Include/Uefi/UefiSpec.h > @@ -209,7 +209,7 @@ EFI_STATUS > On output, it is the size of the > buffer returned by the > firmware if > the buffer was large enough, or the > size of the buffer > needed to contain > the map if the buffer was too small. > - @param[in, out] MemoryMap A pointer to the buffer in which > firmware places the current memory > + @param[out] MemoryMap A pointer to the buffer in which > firmware places the current memory > map. > @param[out] MapKey A pointer to the location in which > firmware > returns the key for the > current memory map. > @@ -230,7 +230,7 @@ typedef > EFI_STATUS > (EFIAPI *EFI_GET_MEMORY_MAP)( > IN OUT UINTN *MemoryMapSize, > - IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap, > + OUT EFI_MEMORY_DESCRIPTOR *MemoryMap, > OUT UINTN *MapKey, > OUT UINTN *DescriptorSize, > OUT UINT32 *DescriptorVersion > @@ -1554,7 +1554,7 @@ EFI_STATUS > @param[in] Protocol Provides the protocol to search by. > This parameter is only valid for a > SearchType of ByProtocol. > @param[in] SearchKey Supplies the search key depending on the > SearchType. > - @param[in, out] NoHandles The number of handles returned in Buffer. > + @param[out] NoHandles The number of handles returned in Buffer. > @param[out] Buffer A pointer to the buffer to return the > requested > array of handles that > support Protocol. > > @@ -1572,7 +1572,7 @@ EFI_STATUS > IN EFI_LOCATE_SEARCH_TYPE SearchType, > IN EFI_GUID *Protocol, OPTIONAL > IN VOID *SearchKey, OPTIONAL > - IN OUT UINTN *NoHandles, > + OUT UINTN *NoHandles, > OUT EFI_HANDLE **Buffer > ); > > -- > 2.9.0.windows.1 > > > Please consider the environment before printing this email. > > The information contained in this message may be confidential and > proprietary to American Megatrends (AMI). This communication is intended > to be read only by the individual or entity to whom it is addressed or by > their > designee. If the reader of this message is not the intended recipient, you are > on notice that any distribution of this message, in any form, is strictly > prohibited. Please promptly notify the sender by reply e-mail or by > telephone at 770-246-8600, and then delete or destroy all copies of the > transmission. > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#59045): https://edk2.groups.io/g/devel/message/59045 Mute This Topic: https://groups.io/mt/74058372/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-