]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/UefiDriverEntryPoint/DriverEntryPoint.c
Checked in part of MDE library instances following PI and UEFI. It includes:
[mirror_edk2.git] / MdePkg / Library / UefiDriverEntryPoint / DriverEntryPoint.c
index 57b6a755b2535ab7f844d65147b4bc846e1e2346..20abcdaf6b821e7d63629463f9d902c6c5afbaad 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Entry point to a EFI/DXE driver.\r
 \r
-Copyright (c) 2006, Intel Corporation<BR>\r
+Copyright (c) 2006 - 2007, Intel Corporation<BR>\r
 All rights reserved. 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
@@ -13,7 +13,21 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 **/\r
 \r
 \r
-EFI_EVENT  _mDriverExitBootServicesNotifyEvent;\r
+//\r
+// The package level header files this module uses\r
+//\r
+#include <Uefi.h>\r
+//\r
+// The protocols, PPI and GUID defintions for this module\r
+//\r
+#include <Protocol/LoadedImage.h>\r
+//\r
+// The Library classes this module consumes\r
+//\r
+#include <Library/UefiDriverEntryPoint.h>\r
+#include <Library/DebugLib.h>\r
+#include <Library/UefiBootServicesTableLib.h>\r
+\r
 \r
 /**\r
   Unload function that is registered in the LoadImage protocol.  It un-installs\r
@@ -25,6 +39,7 @@ EFI_EVENT  _mDriverExitBootServicesNotifyEvent;
   @retval EFI_SUCCESS\r
 \r
 **/\r
+STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 _DriverUnloadHandler (\r
@@ -44,14 +59,6 @@ _DriverUnloadHandler (
   // unloaded, and the library destructors should not be called\r
   //\r
   if (!EFI_ERROR (Status)) {\r
-    //\r
-    // Close our ExitBootServices () notify function\r
-    //\r
-    if (_gDriverExitBootServicesEvent[0] != NULL) {\r
-      Status = gBS->CloseEvent (_mDriverExitBootServicesNotifyEvent);\r
-      ASSERT_EFI_ERROR (Status);\r
-    }\r
-\r
     ProcessLibraryDestructorList (ImageHandle, gST);\r
   }\r
 \r
@@ -62,30 +69,6 @@ _DriverUnloadHandler (
 }\r
 \r
 \r
-/**\r
-  Notification Entry of ExitBootService event. In the entry, all notifications in _gDriverExitBootServicesEvent[] \r
-  would be invoked.\r
-\r
-  @param Event   The Event that is being processed.\r
-  @param Context Event Context.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-_DriverExitBootServices (\r
-  IN EFI_EVENT        Event,\r
-  IN VOID             *Context\r
-  )\r
-{\r
-  EFI_EVENT_NOTIFY  ChildNotifyEventHandler;\r
-  UINTN             Index;\r
-\r
-  for (Index = 0; _gDriverExitBootServicesEvent[Index] != NULL; Index++) {\r
-    ChildNotifyEventHandler = _gDriverExitBootServicesEvent[Index];\r
-    ChildNotifyEventHandler (Event, NULL);\r
-  }\r
-}\r
-\r
 /**\r
   Enrty point to DXE Driver.\r
 \r
@@ -120,21 +103,6 @@ _ModuleEntryPoint (
   //\r
   ProcessLibraryConstructorList (ImageHandle, SystemTable);\r
 \r
-  //\r
-  // Register our ExitBootServices () notify function\r
-  //\r
-  if (_gDriverExitBootServicesEvent[0] != NULL) {\r
-    Status = gBS->CreateEvent (\r
-                    EFI_EVENT_SIGNAL_EXIT_BOOT_SERVICES,\r
-                    EFI_TPL_NOTIFY,\r
-                    _DriverExitBootServices,\r
-                    NULL,\r
-                    &_mDriverExitBootServicesNotifyEvent\r
-                    );\r
-\r
-    ASSERT_EFI_ERROR (Status);\r
-  }\r
-\r
   //\r
   //  Install unload handler...\r
   //\r
@@ -157,14 +125,6 @@ _ModuleEntryPoint (
   // If all of the drivers returned errors, then invoke all of the library destructors\r
   //\r
   if (EFI_ERROR (Status)) {\r
-    //\r
-    // Close our ExitBootServices () notify function\r
-    //\r
-    if (_gDriverExitBootServicesEvent[0] != NULL) {\r
-      Status = gBS->CloseEvent (_mDriverExitBootServicesNotifyEvent);\r
-      ASSERT_EFI_ERROR (Status);\r
-    }\r
-\r
     ProcessLibraryDestructorList (ImageHandle, SystemTable);\r
   }\r
 \r