+++ /dev/null
-/** @file\r
- Entry point to a Standalone MM driver.\r
-\r
-Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
-Copyright (c) 2016 - 2018, ARM Ltd. All rights reserved.<BR>\r
-\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include <PiMm.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/DebugLib.h>\r
-\r
-VOID\r
-EFIAPI\r
-ProcessLibraryConstructorList (\r
- IN EFI_HANDLE ImageHandle,\r
- IN IN EFI_MM_SYSTEM_TABLE *MmSystemTable\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-ProcessModuleEntryPointList (\r
- IN EFI_HANDLE ImageHandle,\r
- IN IN EFI_MM_SYSTEM_TABLE *MmSystemTable\r
- );\r
-\r
-VOID\r
-EFIAPI\r
-ProcessLibraryDestructorList (\r
- IN EFI_HANDLE ImageHandle,\r
- IN IN EFI_MM_SYSTEM_TABLE *MmSystemTable\r
- );\r
-\r
-/**\r
- The entry point of PE/COFF Image for a Standalone MM Driver.\r
-\r
- This function is the entry point for a Standalone MM Driver.\r
- This function must call ProcessLibraryConstructorList() and\r
- ProcessModuleEntryPointList().\r
- If the return status from ProcessModuleEntryPointList()\r
- is an error status, then ProcessLibraryDestructorList() must be called.\r
- The return value from ProcessModuleEntryPointList() is returned.\r
- If _gDriverUnloadImageCount is greater than zero, then an unload\r
- handler must be registered for this image\r
- and the unload handler must invoke ProcessModuleUnloadList().\r
- If _gUefiDriverRevision is not zero and SystemTable->Hdr.Revision is less\r
- than _gUefiDriverRevison, then return EFI_INCOMPATIBLE_VERSION.\r
-\r
-\r
- @param ImageHandle The image handle of the Standalone MM Driver.\r
- @param SystemTable A pointer to the EFI System Table.\r
-\r
- @retval EFI_SUCCESS The Standalone MM Driver exited normally.\r
- @retval EFI_INCOMPATIBLE_VERSION _gUefiDriverRevision is greater than\r
- SystemTable->Hdr.Revision.\r
- @retval Other Return value from ProcessModuleEntryPointList().\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-_ModuleEntryPoint (\r
- IN EFI_HANDLE ImageHandle,\r
- IN IN EFI_MM_SYSTEM_TABLE *MmSystemTable\r
- )\r
-{\r
- EFI_STATUS Status;\r
-\r
- //\r
- // Call constructor for all libraries\r
- //\r
- ProcessLibraryConstructorList (ImageHandle, MmSystemTable);\r
-\r
- //\r
- // Call the driver entry point\r
- //\r
- Status = ProcessModuleEntryPointList (ImageHandle, MmSystemTable);\r
-\r
- //\r
- // If all of the drivers returned errors, then invoke all of the library destructors\r
- //\r
- if (EFI_ERROR (Status)) {\r
- ProcessLibraryDestructorList (ImageHandle, MmSystemTable);\r
- }\r
-\r
- //\r
- // Return the cumulative return status code from all of the driver entry points\r
- //\r
- return Status;\r
-}\r
-\r
+++ /dev/null
-## @file\r
-# Module entry point library for Standalone MM driver.\r
-#\r
-# Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
-# Copyright (c) 2016-2018, ARM Ltd. All rights reserved.<BR>\r
-#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php.\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#\r
-##\r
-\r
-[Defines]\r
- INF_VERSION = 0x0001001A\r
- BASE_NAME = StandaloneMmDriverEntryPoint\r
- FILE_GUID = BBC33478-98F8-4B78-B29D-574D681B7E43\r
- MODULE_TYPE = MM_STANDALONE\r
- VERSION_STRING = 1.0\r
- PI_SPECIFICATION_VERSION = 0x00010032\r
- LIBRARY_CLASS = StandaloneMmDriverEntryPoint|MM_STANDALONE\r
-\r
-#\r
-# The following information is for reference only and not required by the build tools.\r
-#\r
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC\r
-#\r
-\r
-[Sources]\r
- StandaloneMmDriverEntryPoint.c\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
- BaseLib\r
- DebugLib\r
-\r