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:03 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;
> rob...@ami.com
> Subject: [edk2-devel] [PATCH 4/5] MdePkg: Added header file for Delayed
> Dispatch PPI
> 
> From: Robert Phelps <rob...@ami.com>
> 
> Created new header file for the new EFI_DELAYED_DISPATCH_PPI  PPI (PI 1.7
> Mantis 1891)
> 
> Signed-off-by: Robert Phelps <rob...@ami.com>
> ---
>  MdePkg/Include/Ppi/DelayedDispatch.h | 79
> ++++++++++++++++++++++++++++
>  MdePkg/MdePkg.dec                    |  3 ++
>  2 files changed, 82 insertions(+)
>  create mode 100644 MdePkg/Include/Ppi/DelayedDispatch.h
> 
> diff --git a/MdePkg/Include/Ppi/DelayedDispatch.h
> b/MdePkg/Include/Ppi/DelayedDispatch.h
> new file mode 100644
> index 0000000000..4f8b11bcf6
> --- /dev/null
> +++ b/MdePkg/Include/Ppi/DelayedDispatch.h
> @@ -0,0 +1,79 @@
> +/** @file
> +    Provide timed event service in PEI
> +**/
> +#ifndef __DELAYED_DISPATCH_PPI_H__
> +#define __DELAYED_DISPATCH_PPI_H__
> +
> +///
> +/// Global ID for EFI_DELAYED_DISPATCH_PPI_GUID /// #define
> +EFI_DELAYED_DISPATCH_PPI_GUID \
> +  { \
> +    0x869c711d, 0x649c, 0x44fe, { 0x8b, 0x9e, 0x2c, 0xbb, 0x29, 0x11,
> +0xc3, 0xe6} } \
> +  }
> +
> +
> +/**
> +  Delayed Dispatch function.  This routine is called sometime after the
> +required
> +  delay.  Upon return, if NewDelay is 0, the function is unregistered.
> +If NewDelay
> +  is not zero, this routine will be called again after the new delay period.
> +
> +  @param[in,out] Context         Pointer to Context. Can be updated by
> routine.
> +  @param[out]    NewDelay        The new delay in us.  Leave at 0 to 
> unregister
> callback.
> +
> +**/
> +
> +typedef
> +VOID
> +(EFIAPI *EFI_DELAYED_DISPATCH_FUNCTION) (
> +  IN OUT UINT64 *Context,
> +     OUT UINT32 *NewDelay
> +  );
> +
> +
> +///
> +/// The forward declaration for EFI_DELAYED_DISPATCH_PPI ///
> +
> +typedef  struct _EFI_DELAYED_DISPATCH_PPI  EFI_DELAYED_DISPATCH_PPI;
> +
> +
> +/**
> +Register a callback to be called after a minimum delay has occurred.
> +
> +This service is the single member function of the
> +EFI_DELAYED_DISPATCH_PPI
> +
> +  @param This           Pointer to the EFI_DELAYED_DISPATCH_PPI instance
> +  @param Function       Function to call back
> +  @param Context        Context data
> +  @param Delay          Delay interval
> +
> +  @retval EFI_SUCCESS               Function successfully loaded
> +  @retval EFI_INVALID_PARAMETER     One of the Arguments is not
> supported
> +  @retval EFI_OUT_OF_RESOURCES      No more entries
> +
> +**/
> +typedef
> +EFI_STATUS
> +(EFIAPI *EFI_DELAYED_DISPATCH_REGISTER)(
> +  IN  EFI_DELAYED_DISPATCH_PPI      *This,
> +  IN  EFI_DELAYED_DISPATCH_FUNCTION  Function,
> +  IN  UINT64                     Context,
> +  OUT UINT32                     Delay
> +  );
> +
> +
> +///
> +/// This PPI is a pointer to the Delayed Dispatch Service.
> +/// This service will be published by the Pei Foundation. The PEI
> +Foundation /// will use this service to relaunch a known function that
> +requests a delayed /// execution.
> +///
> +struct _EFI_DELAYED_DISPATCH_PPI {
> +  EFI_DELAYED_DISPATCH_REGISTER      Register;
> +};
> +
> +
> +extern EFI_GUID gEfiPeiDelayedDispatchPpiGuid;
> +
> +#endif
> diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index
> c64cad75dd..6ab42b4bb5 100644
> --- a/MdePkg/MdePkg.dec
> +++ b/MdePkg/MdePkg.dec
> @@ -942,6 +942,9 @@
>    ## Include/Ppi/PeiCoreFvLocation.h
>    gEfiPeiCoreFvLocationPpiGuid   = { 0x52888eae, 0x5b10, 0x47d0, { 0xa8, 
> 0x7f,
> 0xb8, 0x22, 0xab, 0xa0, 0xca, 0xf4 }}
> 
> +  ## Include/Ppi/DelayedDispatch.h
> +  gEfiPeiDelayedDispatchPpiGuid  = { 0x869c711d, 0x649c, 0x44fe, {
> + 0x8b, 0x9e, 0x2c, 0xbb, 0x29, 0x11, 0xc3, 0xe6 }}
> +
>  [Protocols]
>    ## Include/Protocol/Pcd.h
>    gPcdProtocolGuid               = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 
> 0x90,
> 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}
> --
> 2.24.1.windows.2
> 
> 
> 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 (#59040): https://edk2.groups.io/g/devel/message/59040
Mute This Topic: https://groups.io/mt/74057700/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to