-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MdeModulePkg: PeiMain: Add Delayed Dispatch PPI Implementation #6235
Conversation
abb649f
to
be15d3d
Compare
Delayed dispatch of what? The PR title should give at least a basic hint of what the PR does. |
be15d3d
to
5790981
Compare
Added "PPI". |
Is there any consumer code to use this new PPI? |
There is currently no public consumers. But a few IBVs and our propreitary hardware platforms are using it to sequentially initialize hardware components. |
5790981
to
0c9ba4e
Compare
This change is incompatible. I worry that this change will impact current project. Are your project updated to match this update? |
@lgao4 The change will install a PPI. But if there is no consumer for the PPI to register delayed dispatch handler, the new logic will not engage because it will be an empty table to dispatch from. Is that your concern? Per your question on updates, our project has this logic in place for a couple of years. |
0c9ba4e
to
0bc0f16
Compare
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4496 PI spec defined the `Register` function input argument `Delay` as output. However, this parameter should be used to define the minmal time delay the callback should fire. Thus it should be an input parameter. This change fixed the argument type. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Co-authored-by: Mike Turner <mikeyt@pobox.com> Co-authored-by: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Kun Qin <kuqin12@gmail.com>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4496 This change adds the implementation that fits the needs and description of PI spec defined Delayed Dispatch PPI in Pei Core. The PPI would allow minimal delay for registered callbacks. As well as allowing other functions to wait for GUIDed delayed dispatch callbacks. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Debkumar De <debkumar.de@intel.com> Cc: Catharine West <catharine.west@intel.com> Co-authored-by: Mike Turner <mikeyt@pobox.com> Co-authored-by: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Kun Qin <kuqin12@gmail.com>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4496 This change adds a check for PEI dispatcher to continue dispatching when there are still pending delayed dispatch requests, to be compatible with newly integrated Delayed Dispatcher PPI interface. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Debkumar De <debkumar.de@intel.com> Cc: Catharine West <catharine.west@intel.com> Co-authored-by: John Schock <joschock@microsoft.com> Signed-off-by: Kun Qin <kuqin12@gmail.com>
0bc0f16
to
9cd9efb
Compare
Description
The Delayed Dispatch PPI is (re)defined in PI specification v1.8A. This PR is created to introduce the implementation in PEI core.
How This Was Tested
This change was tested on proprietary physical platforms and QEMU Q35 based virtual platforms.
Integration Instructions
N/A