Kun: This change is introduced in PI spec 1.8. Please update DelayedDispatch.h file header with correct PI version.
Thanks Liming > -----邮件原件----- > 发件人: Kun Qin <kuqi...@gmail.com> > 发送时间: 2023年7月21日 5:07 > 收件人: devel@edk2.groups.io > 抄送: Michael D Kinney <michael.d.kin...@intel.com>; Liming Gao > <gaolim...@byosoft.com.cn>; Zhiguang Liu <zhiguang....@intel.com>; Mike > Turner <mik...@pobox.com> > 主题: [PATCH v1 2/4] MdePkg: DelayedDispatch: Added WaitOnEvent > interface > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4496 > > This change adds a new interface for the delayed dispatch PPI. This > new addition allows functional components relying on delayed dispatch > callbacks to be managed/dispatched with definitive order. > > The full defintion has been added into PI spec. > > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Zhiguang Liu <zhiguang....@intel.com> > > Co-authored-by: Mike Turner <mik...@pobox.com> > Signed-off-by: Kun Qin <kuqi...@gmail.com> > --- > MdePkg/Include/Ppi/DelayedDispatch.h | 24 +++++++++++++++++++- > 1 file changed, 23 insertions(+), 1 deletion(-) > > diff --git a/MdePkg/Include/Ppi/DelayedDispatch.h > b/MdePkg/Include/Ppi/DelayedDispatch.h > index 098d57758551..253cafd46d28 100644 > --- a/MdePkg/Include/Ppi/DelayedDispatch.h > +++ b/MdePkg/Include/Ppi/DelayedDispatch.h > @@ -50,6 +50,7 @@ This service is the single member function of the > EFI_DELAYED_DISPATCH_PPI > @param[in] This Pointer to the EFI_DELAYED_DISPATCH_PPI > instance > > @param[in] Function Function to call back > > @param[in] Context Context data > > + @param[in] UniqueId GUID for this Delayed Dispatch request. > > @param[in] Delay Delay interval > > > > @retval EFI_SUCCESS Function successfully loaded > > @@ -63,9 +64,29 @@ EFI_STATUS > IN EFI_DELAYED_DISPATCH_PPI *This, > > IN EFI_DELAYED_DISPATCH_FUNCTION Function, > > IN UINT64 Context, > > + IN EFI_GUID *UniqueId OPTIONAL, > > IN UINT32 Delay > > ); > > > > +/** > > + Wait on a registered Delayed Dispatch unit that has a UniqueId. > Continue > > + to dispatch all registered delayed dispatch entries until *ALL* entries with > > + UniqueId have completed. > > + > > + @param[in] This The Delayed Dispatch PPI pointer. > > + @param[in] UniqueId UniqueId of delayed dispatch entry. > > + > > + @retval EFI_SUCCESS The operation succeeds. > > + @retval EFI_INVALID_PARAMETER The parameters are invalid. > > + > > +**/ > > +typedef > > +EFI_STATUS > > +(EFIAPI *EFI_DELAYED_DISPATCH_WAIT_ON_EVENT)( > > + IN EFI_DELAYED_DISPATCH_PPI *This, > > + IN EFI_GUID *UniqueId > > + ); > > + > > /// > > /// This PPI is a pointer to the Delayed Dispatch Service. > > /// This service will be published by the Pei Foundation. The PEI Foundation > > @@ -73,7 +94,8 @@ EFI_STATUS > /// execution. > > /// > > struct _EFI_DELAYED_DISPATCH_PPI { > > - EFI_DELAYED_DISPATCH_REGISTER Register; > > + EFI_DELAYED_DISPATCH_REGISTER Register; > > + EFI_DELAYED_DISPATCH_WAIT_ON_EVENT WaitOnEvent; > > }; > > > > extern EFI_GUID gEfiPeiDelayedDispatchPpiGuid; > > -- > 2.41.0.windows.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107213): https://edk2.groups.io/g/devel/message/107213 Mute This Topic: https://groups.io/mt/100343032/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-