From nobody Tue Feb 10 02:43:11 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+59381+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+59381+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1589321189; cv=none; d=zohomail.com; s=zohoarc; b=eWKsc2A5PjfTQ8nKMfTh06WUuk1KJA/pZLecnnssCIge2sgovTJJ5MgApTsyvcA++dwdOccsiC/7RU4oTOe37hqoNftCz2+Q9J+Ye5lTPIfk9rFEmsOxM75DNHG1P61DPrpF7O54DMIbJflry7l6nRXvqViVaDbjxEhGCpNk2lk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1589321189; h=Content-Type:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=krj3i5NbRfrtPkoQzK/wd44Om4S+vWg8Pc0A1wWIzh4=; b=XOvFGu1qbu/Rae63Tgx9+oavQrBTs+amItNcUeBnp2I2DnikL6b5HEEGD+9WVWuVgUHUXOLlbFguGj/PCOYqOL+hdlyCA3Dh3MF2Uj6lQrG4uejz2Of51nFMS2SZ4ZFTPdBNyJwIFFzPTiVXOE00YhhnJENWGJhaFJXMrnLoGA0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+59381+1787277+3901457@groups.io Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1589321189824396.56760015821726; Tue, 12 May 2020 15:06:29 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id xh9MYY1788612xMxXuCeJ9Um; Tue, 12 May 2020 15:06:29 -0700 X-Received: from atlmailgw2.ami.com (atlmailgw2.ami.com []) by mx.groups.io with SMTP id smtpd.web10.280.1589321185430648927 for ; Tue, 12 May 2020 15:06:27 -0700 X-AuditID: ac10606f-049ff70000001b62-62-5ebb1de19a7c X-Received: from atlms1.us.megatrends.com (atlms1.us.megatrends.com [172.16.96.144]) (using TLS with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client did not present a certificate) by atlmailgw2.ami.com (Symantec Messaging Gateway) with SMTP id 33.82.07010.1ED1BBE5; Tue, 12 May 2020 18:06:26 -0400 (EDT) X-Received: from Oleksiy77.us.megatrends.com (172.16.97.158) by atlms1.us.megatrends.com (172.16.96.144) with Microsoft SMTP Server id 14.3.468.0; Tue, 12 May 2020 18:05:46 -0400 From: "Oleksiy Yakovlev" To: CC: , , , , , , , Subject: [edk2-devel] [PATCH V4 2/6] MdePkg: Fix OUT parameters marked as IN OUT Date: Tue, 12 May 2020 18:05:39 -0400 Message-ID: <20200512220543.40008-3-oleksiyy@ami.com> In-Reply-To: <20200512220543.40008-1-oleksiyy@ami.com> References: <20200512220543.40008-1-oleksiyy@ami.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrIIsWRmVeSWpSXmKPExsWyRiBhgu4j2d1xBq0ruC3mv622aJ8wm83i 6q1fTBbzvs1gtVj30cNixb0N7BYdHf+YHNg9tn+/wOixeM9LpgCmqAZGm8S8vPySxJJUhZTU 4mRbpYCizLLE5EolhcwUWyVDJYWCnMTk1NzUvBJbpcSCgtS8FCU7LgUMYANUlpmnkJqXnJ+S mZduq+QZ7K9rYWFqqWuoZBeSkaqQmZeWX5SbWJKZn6eQnJ9XAlSdmgIUVUjo5sy4e/EUY8G+ iIqOnXUNjO22XYycHBICJhJ7nq5g6WLk4hAS2MUkcXLvX2YIZwujxJqj/xhBqtgENCUOHJsC ZosISElMOTCTCcRmFjjMKNHxCSwuLOAssaHvLVicRUBVYsuqpawgNq+AqcTUSw+YIbZpSExb cxeshlPATOLb01NgvUJANUce3YCqF5Q4OfMJC8R8CYmDL14wQ9TISrQdf84+gZF/FpKyWUjK FjAyrWIUSizJyU3MzEkvN9JLzM3US87P3cQIib/8HYwfP5ofYmTiYDzEKMHBrCTC25K5M06I NyWxsiq1KD++qDQntfgQoxPQAxOZpbhBAQiMkXhjAwMpURjH0MTMxNzI3NDSxNzYWEmcd9La NXFCAunAmM1OTS1ILYIZwsTBKdXAWHbKr4jbaWXs4q82Cx1FGFztV830Vwx4K8K9ymXWmfVX m6abSFQ99Npd9XFFyBExtXMzrZ59DNfl4vukFX38r8ndwE/KyttOfymfon3F7ePST1lLhBfJ 3Z0g1inG1PPsb4K+me+hync+J/6Ex0n+9TAUusx4Ofbg/KLIU9Z5D1R6b/Aq9BydpcRSnJFo qMVcVJwIAIym7DTUAgAA Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,oleksiyy@ami.com X-Gm-Message-State: 210FGqvT0HWNIHU6Xt3iTJbqx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1589321189; bh=4SpMRO7zBq4EJzwHR+RWlor0IvQ9PjWU9YcdSAW7c+I=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=DEhaAoh3fLDiUdkuMBH9dnkCN2mvdkijK3TANDYbtnBZ8Wxzfqi5YVVKDTtEKPeTLGP BKgQcCMotdfYnMcehcPnEzlE1GcqbzXL0nTg1nXu+O6TepiCq9DAb45hW/fJ9Lta1lSYI CR/jKkVoNrjPwOOSt3+Np9+uNTqB+tO52ps= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Some OUT parameters in 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 Reviewed-by: Liming Gao --- 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/Pro= tocol/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 ); =20 =20 diff --git a/MdePkg/Include/Protocol/AtaPassThru.h b/MdePkg/Include/Protoco= l/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 th= e ATA device for which a device path node is to be allocated a= nd built. If there is no port multiplier, then specify 0xFFFF. - @param[in,out] DevicePath A pointer to a single device path nod= e that describes the ATA + @param[out] DevicePath A pointer to a single device path nod= e that describes the ATA device specified by Port and PortMult= iplierPort. This function is responsible for allocating the buf= fer DevicePath with the boot service AllocatePool(). It is th= e 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 ); =20 /** diff --git a/MdePkg/Include/Protocol/EdidOverride.h b/MdePkg/Include/Protoc= ol/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 ); =20 /// 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 DescriptorCou= nt. - @param[in, out] Image Points to the buffer where the current im= age is copied to. + @param[out] Image Points to the buffer where the current im= age is copied to. @param[in, out] ImageSize On entry, points to the size of the buffe= r pointed to by Image, in bytes. On return, points to the length of the im= age, in bytes. =20 @@ -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 ); =20 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 whi= ch 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 nod= e that describes the NVM Express + @param[out] DevicePath A pointer to a single device path nod= e that describes the NVM Express namespace specified by NamespaceId. T= his 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 ); =20 /** diff --git a/MdePkg/Include/Protocol/ScsiPassThruExt.h b/MdePkg/Include/Pro= tocol/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 ); =20 /** diff --git a/MdePkg/Include/Protocol/SdMmcPassThru.h b/MdePkg/Include/Proto= col/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_PRO= TOCOL instance. @param[in] Slot Specifies the slot number of the SD card f= or which a device path node is to be allocated and built. - @param[in,out] DevicePath A pointer to a single device path node tha= t describes the SD + @param[out] DevicePath A pointer to a single device path node tha= t describes the SD card specified by Slot. This function is r= esponsible for allocating the buffer DevicePath with the = boot service AllocatePool(). It is the caller's respons= ibility 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 ); =20 /** diff --git a/MdePkg/Include/Protocol/SimplePointer.h b/MdePkg/Include/Proto= col/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 ); =20 /// diff --git a/MdePkg/Include/Uefi/UefiSpec.h b/MdePkg/Include/Uefi/UefiSpec.h index 8ffaf97..455123f 100644 --- a/MdePkg/Include/Uefi/UefiSpec.h +++ b/MdePkg/Include/Uefi/UefiSpec.h @@ -211,7 +211,7 @@ EFI_STATUS On output, it is the size of the = buffer returned by the firmware if the buffer was large enough, or t= he size of the buffer needed to contain the map if the buffer was too sma= ll. - @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 whic= h firmware returns the key for the current memory map. @@ -232,7 +232,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 @@ -1556,7 +1556,7 @@ EFI_STATUS @param[in] Protocol Provides the protocol to search by. This parameter is only valid for a SearchT= ype of ByProtocol. @param[in] SearchKey Supplies the search key depending on the S= earchType. - @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 requ= ested array of handles that support Protocol. =20 @@ -1574,7 +1574,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 ); =20 --=20 2.9.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprieta= ry 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 desig= nee. If the reader of this message is not the intended recipient, you are o= n notice that any distribution of this message, in any form, is strictly pr= ohibited. Please promptly notify the sender by reply e-mail or by telephon= e at 770-246-8600, and then delete or destroy all copies of the transmissio= n. -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#59381): https://edk2.groups.io/g/devel/message/59381 Mute This Topic: https://groups.io/mt/74169593/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-