Re: [edk2] [PATCH 1/2] MdePkg MmCommunication.h: Follow PI spec to update EFI_MM_COMMUNICATE

2017-12-07 Thread Gao, Liming
Reviewed-by: Liming Gao 

> -Original Message-
> From: Zeng, Star
> Sent: Wednesday, December 6, 2017 5:18 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star ; Yao, Jiewen ; 
> Gao, Liming ; Kinney, Michael D
> 
> Subject: [PATCH 1/2] 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 
> ---
>  MdePkg/Include/Protocol/MmCommunication.h | 14 --
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/MdePkg/Include/Protocol/MmCommunication.h 
> b/MdePkg/Include/Protocol/MmCommunication.h
> index 16450e3445b0..774686ba3e7f 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] ThisThe EFI_MM_COMMUNICATION_PROTOCOL instance.
>@param[in] CommBuffer  A pointer to the buffer to convey into 
> MMRAM.
> -  @param[in] CommSizeThe size of the data buffer being passed 
> in.On exit, the size of data
> +  @param[in] CommSizeThe 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_SUCCESSThe message was successfully posted.
>@retval EFI_INVALID_PARAMETER  The CommBuffer was NULL.
> +  @retval EFI_BAD_BUFFER_SIZEThe 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
>);
> 
>  ///
> --
> 2.7.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 1/2] MdePkg MmCommunication.h: Follow PI spec to update EFI_MM_COMMUNICATE

2017-12-06 Thread Star Zeng
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 
---
 MdePkg/Include/Protocol/MmCommunication.h | 14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/MdePkg/Include/Protocol/MmCommunication.h 
b/MdePkg/Include/Protocol/MmCommunication.h
index 16450e3445b0..774686ba3e7f 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] ThisThe EFI_MM_COMMUNICATION_PROTOCOL instance.
   @param[in] CommBuffer  A pointer to the buffer to convey into MMRAM.
-  @param[in] CommSizeThe size of the data buffer being passed 
in.On exit, the size of data
+  @param[in] CommSizeThe 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_SUCCESSThe message was successfully posted.
   @retval EFI_INVALID_PARAMETER  The CommBuffer was NULL.
+  @retval EFI_BAD_BUFFER_SIZEThe 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
   );
 
 ///
-- 
2.7.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel