summaryrefslogtreecommitdiffstats
path: root/MdePkg/Include/Library
diff options
context:
space:
mode:
authorJiaxin Wu <Jiaxin.wu@intel.com>2021-03-01 12:06:44 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-03-18 04:16:21 +0000
commit9fd7e88c23f6fb056d25fbc3f8e2e7c1a53859d1 (patch)
tree0d9a9e1a49797293204a849ac8e98d2d6582934c /MdePkg/Include/Library
parentf9c53a69edeb94ae8c65276b885c1a7efe4f613a (diff)
downloadedk2-9fd7e88c23f6fb056d25fbc3f8e2e7c1a53859d1.tar.gz
edk2-9fd7e88c23f6fb056d25fbc3f8e2e7c1a53859d1.tar.bz2
edk2-9fd7e88c23f6fb056d25fbc3f8e2e7c1a53859d1.zip
MdePkg: Support standalone MM Driver Unload capability
https://bugzilla.tianocore.org/show_bug.cgi?id=3240 This patch is to support standalone MM Driver Unload capability by providing _DriverUnloadHandler() function. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Siyuan Fu <siyuan.fu@intel.com> Signed-off-by: Jiaxin Wu <Jiaxin.wu@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Diffstat (limited to 'MdePkg/Include/Library')
-rw-r--r--MdePkg/Include/Library/StandaloneMmDriverEntryPoint.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/MdePkg/Include/Library/StandaloneMmDriverEntryPoint.h b/MdePkg/Include/Library/StandaloneMmDriverEntryPoint.h
index 25b2d8d68d..12f7886640 100644
--- a/MdePkg/Include/Library/StandaloneMmDriverEntryPoint.h
+++ b/MdePkg/Include/Library/StandaloneMmDriverEntryPoint.h
@@ -18,6 +18,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
///
extern CONST UINT32 _gMmRevision;
+///
+/// Declare the number of unload handler in the image.
+///
+extern CONST UINT8 _gDriverUnloadImageCount;
+
/**
The entry point of PE/COFF Image for a Standalone MM Driver.
@@ -122,4 +127,24 @@ ProcessModuleEntryPointList (
IN EFI_MM_SYSTEM_TABLE *MmSystemTable
);
+/**
+ Autogenerated function that calls a set of module unload handlers.
+
+ This function must be called from the unload handler registered by _ModuleEntryPoint().
+ This function calls the set of module unload handlers.
+ This function is autogenerated by build tools and those build tools are responsible
+ for collecting the module unload handlers and calling them in a specified order.
+
+ @param ImageHandle The image handle of the DXE Driver, DXE Runtime Driver, DXE SMM Driver, or UEFI Driver.
+
+ @retval EFI_SUCCESS The unload handlers executed normally.
+ @retval !EFI_SUCCESS The unload handlers failed to execute normally.
+
+**/
+EFI_STATUS
+EFIAPI
+ProcessModuleUnloadList (
+ IN EFI_HANDLE ImageHandle
+ );
+
#endif