mirror of https://github.com/acidanthera/audk.git
MdePkg: Added header file for Delayed Dispatch PPI
Created new header file for the new EFI_DELAYED_DISPATCH_PPI PPI (PI 1.7 Mantis 1891) Signed-off-by: Robert Phelps <robert@ami.com> Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
93ddc0d133
commit
4ac2457673
|
@ -0,0 +1,85 @@
|
|||
/** @file
|
||||
EFI Delayed Dispatch PPI as defined in the PI 1.7 Specification
|
||||
|
||||
Provide timed event service in PEI
|
||||
|
||||
Copyright (c) 2020, American Megatrends International LLC. All rights reserved.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#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
|
|
@ -956,6 +956,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 }}
|
||||
|
|
Loading…
Reference in New Issue