2 Entry point to a DXE SMM Driver
4 Copyright (c) 2006, Intel Corporation<BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #ifndef __MODULE_ENTRY_POINT_H__
16 #define __MODULE_ENTRY_POINT_H__
19 // Declare the EFI/UEFI Specification Revision to which this driver is implemented
21 extern const UINT32 _gUefiDriverRevision
;
24 // Declare the number of entry points in the image.
26 extern const UINT8 _gDriverEntryPointCount
;
29 // Declare the number of unload handler in the image.
31 extern const UINT8 _gDriverUnloadImageCount
;
34 Enrty point to DXE SMM Driver.
36 @param ImageHandle ImageHandle of the loaded driver.
37 @param SystemTable Pointer to the EFI System Table.
39 @retval EFI_SUCCESS One or more of the drivers returned a success code.
40 @retval !EFI_SUCESS The return status from the last driver entry point in the list.
46 IN EFI_HANDLE ImageHandle
,
47 IN EFI_SYSTEM_TABLE
*SystemTable
51 Enrty point wrapper of DXE SMM Driver.
53 @param ImageHandle ImageHandle of the loaded driver.
54 @param SystemTable Pointer to the EFI System Table.
56 @retval EFI_SUCCESS One or more of the drivers returned a success code.
57 @retval !EFI_SUCESS The return status from the last driver entry point in the list.
63 IN EFI_HANDLE ImageHandle
,
64 IN EFI_SYSTEM_TABLE
*SystemTable
68 Computes the cummulative return status for the driver entry point and perform
69 a long jump back into DriverEntryPoint().
71 @param Status Status returned by the driver that is exiting.
81 Call constructs for all libraries. Automatics Generated by tool.
83 @param ImageHandle ImageHandle of the loaded driver.
84 @param SystemTable Pointer to the EFI System Table.
89 ProcessLibraryConstructorList (
90 IN EFI_HANDLE ImageHandle
,
91 IN EFI_SYSTEM_TABLE
*SystemTable
95 Call destructors for all libraries. Automatics Generated by tool.
97 @param ImageHandle ImageHandle of the loaded driver.
98 @param SystemTable Pointer to the EFI System Table.
103 ProcessLibraryDestructorList (
104 IN EFI_HANDLE ImageHandle
,
105 IN EFI_SYSTEM_TABLE
*SystemTable
110 Call the list of driver entry points. Automatics Generated by tool.
112 @param ImageHandle ImageHandle of the loaded driver.
113 @param SystemTable Pointer to the EFI System Table.
115 @return Status returned by entry points of drivers.
120 ProcessModuleEntryPointList (
121 IN EFI_HANDLE ImageHandle
,
122 IN EFI_SYSTEM_TABLE
*SystemTable
127 Call the unload handlers for all the modules. Automatics Generated by tool.
129 @param ImageHandle ImageHandle of the loaded driver.
131 @return Status returned by unload handlers of drivers.
136 ProcessModuleUnloadList (
137 IN EFI_HANDLE ImageHandle