diff options
author | Laszlo Ersek <lersek@redhat.com> | 2017-09-30 16:39:48 +0200 |
---|---|---|
committer | Laszlo Ersek <lersek@redhat.com> | 2017-10-10 11:25:21 +0200 |
commit | f1304280435fa3385f1d52f37ac4a562e16f8c89 (patch) | |
tree | c8e0951d4b44f3b1960c933f8dd75508ecc5a5a7 /MdeModulePkg/Universal/Variable/RuntimeDxe/PrivilegePolymorphic.h | |
parent | 03877377e32646bedfac0e8ff8ca4689d64f06d0 (diff) | |
download | edk2-f1304280435fa3385f1d52f37ac4a562e16f8c89.tar.gz edk2-f1304280435fa3385f1d52f37ac4a562e16f8c89.tar.bz2 edk2-f1304280435fa3385f1d52f37ac4a562e16f8c89.zip |
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>
Diffstat (limited to 'MdeModulePkg/Universal/Variable/RuntimeDxe/PrivilegePolymorphic.h')
-rw-r--r-- | MdeModulePkg/Universal/Variable/RuntimeDxe/PrivilegePolymorphic.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/PrivilegePolymorphic.h b/MdeModulePkg/Universal/Variable/RuntimeDxe/PrivilegePolymorphic.h index cf0d237195..b98b8556a2 100644 --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/PrivilegePolymorphic.h +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/PrivilegePolymorphic.h @@ -47,6 +47,16 @@ MorLockInit ( );
/**
+ Delayed initialization for MOR Control Lock at EndOfDxe.
+
+ This function performs any operations queued by MorLockInit().
+**/
+VOID
+MorLockInitAtEndOfDxe (
+ VOID
+ );
+
+/**
This service is an MOR/MorLock checker handler for the SetVariable().
@param[in] VariableName the name of the vendor's variable, as a
|