From: Star Zeng Date: Tue, 5 Dec 2017 03:23:18 +0000 (+0800) Subject: MdePkg MmCommunication.h: Follow PI spec to update EFI_MM_COMMUNICATE X-Git-Tag: edk2-stable201903~2922 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=c53190e910763fabdc7f30cc2fdb51044aa5372f;hp=fdd8463d7bd3cbc8a426a80ea80a136341f2b957 MdePkg MmCommunication.h: Follow PI spec to update EFI_MM_COMMUNICATE Follow PI spec (>= 1.5) to add new return status code description and make CommSize OPTIONAL. Cc: Jiewen Yao Cc: Liming Gao Cc: Michael D Kinney Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng Reviewed-by: Jiewen Yao --- diff --git a/MdePkg/Include/Protocol/MmCommunication.h b/MdePkg/Include/Protocol/MmCommunication.h index 16450e3445..774686ba3e 100644 --- a/MdePkg/Include/Protocol/MmCommunication.h +++ b/MdePkg/Include/Protocol/MmCommunication.h @@ -55,18 +55,28 @@ typedef struct _EFI_MM_COMMUNICATION_PROTOCOL EFI_MM_COMMUNICATION_PROTOCOL; @param[in] This The EFI_MM_COMMUNICATION_PROTOCOL instance. @param[in] CommBuffer A pointer to the buffer to convey into MMRAM. - @param[in] CommSize The size of the data buffer being passed in.On exit, the size of data + @param[in] CommSize The size of the data buffer being passed in. On exit, the size of data being returned. Zero if the handler does not wish to reply with any data. + This parameter is optional and may be NULL. @retval EFI_SUCCESS The message was successfully posted. @retval EFI_INVALID_PARAMETER The CommBuffer was NULL. + @retval EFI_BAD_BUFFER_SIZE The buffer is too large for the MM implementation. + If this error is returned, the MessageLength field + in the CommBuffer header or the integer pointed by + CommSize, are updated to reflect the maximum payload + size the implementation can accommodate. + @retval EFI_ACCESS_DENIED The CommunicateBuffer parameter or CommSize parameter, + if not omitted, are in address range that cannot be + accessed by the MM environment. + **/ typedef EFI_STATUS (EFIAPI *EFI_MM_COMMUNICATE)( IN CONST EFI_MM_COMMUNICATION_PROTOCOL *This, IN OUT VOID *CommBuffer, - IN OUT UINTN *CommSize + IN OUT UINTN *CommSize OPTIONAL ); ///