Follow PI spec (>= 1.5) to add new return status code description
and make CommSize OPTIONAL.
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
\r
@param[in] This The EFI_MM_COMMUNICATION_PROTOCOL instance.\r
@param[in] CommBuffer A pointer to the buffer to convey into MMRAM.\r
\r
@param[in] This The EFI_MM_COMMUNICATION_PROTOCOL instance.\r
@param[in] CommBuffer A pointer to the buffer to convey into MMRAM.\r
- @param[in] CommSize The size of the data buffer being passed in.On exit, the size of data\r
+ @param[in] CommSize The size of the data buffer being passed in. On exit, the size of data\r
being returned. Zero if the handler does not wish to reply with any data.\r
being returned. Zero if the handler does not wish to reply with any data.\r
+ This parameter is optional and may be NULL.\r
\r
@retval EFI_SUCCESS The message was successfully posted.\r
@retval EFI_INVALID_PARAMETER The CommBuffer was NULL.\r
\r
@retval EFI_SUCCESS The message was successfully posted.\r
@retval EFI_INVALID_PARAMETER The CommBuffer was NULL.\r
+ @retval EFI_BAD_BUFFER_SIZE The buffer is too large for the MM implementation.\r
+ If this error is returned, the MessageLength field\r
+ in the CommBuffer header or the integer pointed by\r
+ CommSize, are updated to reflect the maximum payload\r
+ size the implementation can accommodate.\r
+ @retval EFI_ACCESS_DENIED The CommunicateBuffer parameter or CommSize parameter,\r
+ if not omitted, are in address range that cannot be\r
+ accessed by the MM environment.\r
+\r
**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_MM_COMMUNICATE)(\r
IN CONST EFI_MM_COMMUNICATION_PROTOCOL *This,\r
IN OUT VOID *CommBuffer,\r
**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_MM_COMMUNICATE)(\r
IN CONST EFI_MM_COMMUNICATION_PROTOCOL *This,\r
IN OUT VOID *CommBuffer,\r
- IN OUT UINTN *CommSize\r
+ IN OUT UINTN *CommSize OPTIONAL\r