MdeModulePkg/Variable/RuntimeDxe: introduce MorLockInitAtEndOfDxe() hook
Introduce the MorLockInitAtEndOfDxe() hook, in order to allow MorLockInit() to delay / queue operations until EndOfDxe. (Or, if the platform never signals EndOfDxe, until ReadyToBoot.) Call MorLockInitAtEndOfDxe() whenever we set "mEndOfDxe" to TRUE: - in VariableRuntimeDxe: - in the OnReadyToBoot() function, - in the OnEndOfDxe() function; - in VariableSmm: - on the SMM_VARIABLE_FUNCTION_READY_TO_BOOT SMI request, - in the SmmEndOfDxeCallback() function. For now, implement MorLockInitAtEndOfDxe() as a no-op in both VariableRuntimeDxe and VariableSmm. Cc: Eric Dong <eric.dong@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Ladi Prosek <lprosek@redhat.com> Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Tested-by: Ladi Prosek <lprosek@redhat.com>
This commit is contained in:
@@ -679,6 +679,7 @@ SmmVariableHandler (
|
||||
break;
|
||||
}
|
||||
if (!mEndOfDxe) {
|
||||
MorLockInitAtEndOfDxe ();
|
||||
mEndOfDxe = TRUE;
|
||||
VarCheckLibInitializeAtEndOfDxe (NULL);
|
||||
//
|
||||
@@ -811,6 +812,7 @@ SmmEndOfDxeCallback (
|
||||
)
|
||||
{
|
||||
DEBUG ((EFI_D_INFO, "[Variable]SMM_END_OF_DXE is signaled\n"));
|
||||
MorLockInitAtEndOfDxe ();
|
||||
mEndOfDxe = TRUE;
|
||||
VarCheckLibInitializeAtEndOfDxe (NULL);
|
||||
//
|
||||
|
Reference in New Issue
Block a user