The internal header file includes the common header files, defines\r
internal structure and functions used by DxeCore module.\r
\r
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\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
#include <Protocol/FirmwareVolumeBlock.h>\r
#include <Protocol/Capsule.h>\r
#include <Protocol/BusSpecificDriverOverride.h>\r
+#include <Protocol/DriverFamilyOverride.h>\r
#include <Protocol/TcgService.h>\r
+#include <Protocol/HiiPackageList.h>\r
+#include <Protocol/SmmBase2.h>\r
#include <Guid/MemoryTypeInformation.h>\r
#include <Guid/FirmwareFileSystem2.h>\r
+#include <Guid/FirmwareFileSystem3.h>\r
#include <Guid/HobList.h>\r
#include <Guid/DebugImageInfoTable.h>\r
#include <Guid/FileInfo.h>\r
#include <Guid/MemoryAllocationHob.h>\r
#include <Guid/EventLegacyBios.h>\r
#include <Guid/EventGroup.h>\r
-\r
+#include <Guid/LoadModuleAtFixedAddress.h>\r
+#include <Guid/IdleLoopEvent.h>\r
\r
#include <Library/DxeCoreEntryPoint.h>\r
#include <Library/DebugLib.h>\r
#include <Library/CacheMaintenanceLib.h>\r
#include <Library/BaseMemoryLib.h>\r
#include <Library/PeCoffLib.h>\r
+#include <Library/PeCoffGetEntryPointLib.h>\r
+#include <Library/PeCoffExtraActionLib.h>\r
#include <Library/PcdLib.h>\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/DevicePathLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
#include <Library/ReportStatusCodeLib.h>\r
#include <Library/TimerLib.h>\r
+#include <Library/DxeServicesLib.h>\r
+#include <Library/DebugAgentLib.h>\r
+\r
\r
//\r
// attributes for reserved memory before it is promoted to system memory\r
EFI_EVENT Event;\r
VOID *Registration;\r
BOOLEAN Present;\r
-} ARCHITECTURAL_PROTOCOL_ENTRY;\r
+} EFI_CORE_PROTOCOL_NOTIFY_ENTRY;\r
\r
//\r
// DXE Dispatcher Data structures\r
BOOLEAN DepexProtocolError;\r
\r
EFI_HANDLE ImageHandle;\r
+ BOOLEAN IsFvImage;\r
\r
} EFI_CORE_DRIVER_ENTRY;\r
\r
extern EFI_TIMER_ARCH_PROTOCOL *gTimer;\r
extern EFI_SECURITY_ARCH_PROTOCOL *gSecurity;\r
extern EFI_BDS_ARCH_PROTOCOL *gBds;\r
+extern EFI_SMM_BASE2_PROTOCOL *gSmmBase2;\r
\r
extern EFI_TPL gEfiCurrentTpl;\r
\r
extern BOOLEAN gDispatcherRunning;\r
extern EFI_RUNTIME_ARCH_PROTOCOL gRuntimeTemplate;\r
\r
+extern EFI_LOAD_FIXED_ADDRESS_CONFIGURATION_TABLE gLoadModuleAtFixAddressConfigurationTable;\r
+extern BOOLEAN gLoadFixedAddressCodeMemoryReady;\r
//\r
// Service Initialization Functions\r
//\r
\r
**/\r
VOID\r
-CoreNotifyOnArchProtocolInstallation (\r
+CoreNotifyOnProtocolInstallation (\r
VOID\r
);\r
\r
\r
/**\r
Return the first Protocol Interface that matches the Protocol GUID. If\r
- Registration is pasased in return a Protocol Instance that was just add\r
- to the system. If Retistration is NULL return the first Protocol Interface\r
+ Registration is passed in, return a Protocol Instance that was just add\r
+ to the system. If Registration is NULL return the first Protocol Interface\r
you find.\r
\r
@param Protocol The protocol to search for\r
@retval EFI_SUCCESS DriverImageHandle is not NULL,\r
and on entry DriverImageHandle is\r
not managing ControllerHandle.\r
- @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid\r
- EFI_HANDLE.\r
+ @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.\r
@retval EFI_INVALID_PARAMETER DriverImageHandle is not NULL,\r
and it is not a valid EFI_HANDLE.\r
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL, and it\r
protocol for loading the file.\r
@retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient\r
resources.\r
+ @retval EFI_LOAD_ERROR Image was not loaded because the image format was corrupt or not\r
+ understood.\r
+ @retval EFI_DEVICE_ERROR Image was not loaded because the device returned a read error.\r
+ @retval EFI_ACCESS_DENIED Image was not loaded because the platform policy prohibits the \r
+ image from being loaded. NULL is returned in *ImageHandle.\r
+ @retval EFI_SECURITY_VIOLATION Image was loaded and an ImageHandle was created with a \r
+ valid EFI_LOADED_IMAGE_PROTOCOL. However, the current \r
+ platform policy specifies that the image should not be started.\r
\r
**/\r
EFI_STATUS\r
@param ImageHandle Handle of image to be started.\r
@param ExitDataSize Pointer of the size to ExitData\r
@param ExitData Pointer to a pointer to a data buffer that\r
- includes a Null-terminated Unicode string,\r
+ includes a Null-terminated string,\r
optionally followed by additional binary data.\r
The string is a description that the caller may\r
use to further indicate the reason for the\r
@param Length Specified length\r
@param Attributes Specified attributes\r
\r
- @retval EFI_SUCCESS Successfully set attribute of a segment of\r
- memory space.\r
+ @retval EFI_SUCCESS The attributes were set for the memory region.\r
+ @retval EFI_INVALID_PARAMETER Length is zero. \r
+ @retval EFI_UNSUPPORTED The processor does not support one or more bytes of the memory\r
+ resource range specified by BaseAddress and Length.\r
+ @retval EFI_UNSUPPORTED The bit mask of attributes is not support for the memory resource\r
+ range specified by BaseAddress and Length.\r
+ @retval EFI_ACCESS_DEFINED The attributes for the memory resource range specified by\r
+ BaseAddress and Length cannot be modified.\r
+ @retval EFI_OUT_OF_RESOURCES There are not enough system resources to modify the attributes of\r
+ the memory resource range.\r
+ @retval EFI_NOT_AVAILABLE_YET The attributes cannot be set because CPU architectural protocol is\r
+ not available yet.\r
\r
**/\r
EFI_STATUS\r
function returns anything other than\r
EFI_SUCCESS, the value of *AuthenticationStatus\r
is undefined.\r
+ @param IsFfs3Fv Indicates the FV format.\r
\r
@retval EFI_SUCCESS Section was retrieved successfully\r
@retval EFI_PROTOCOL_ERROR A GUID defined section was encountered in the\r
IN UINTN SectionInstance,\r
IN VOID **Buffer,\r
IN OUT UINTN *BufferSize,\r
- OUT UINT32 *AuthenticationStatus\r
+ OUT UINT32 *AuthenticationStatus,\r
+ IN BOOLEAN IsFfs3Fv\r
);\r
\r
\r
IN EFI_LOCK *Lock\r
);\r
\r
+\r
+/**\r
+ An empty function to pass error checking of CreateEventEx ().\r
+\r
+ @param Event Event whose notification function is being invoked.\r
+ @param Context Pointer to the notification function's context,\r
+ which is implementation-dependent.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+CoreEmptyCallbackFunction (\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
+ );\r
+\r
#endif\r