The internal header file includes the common header files, defines\r
internal structure and functions used by DxeCore module.\r
\r
-Copyright (c) 2006 - 2017, 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
-\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
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\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
#include <Library/CpuExceptionHandlerLib.h>\r
typedef struct {\r
UINTN Signature;\r
/// Image handle\r
- EFI_HANDLE Handle; \r
+ EFI_HANDLE Handle;\r
/// Image type\r
- UINTN Type; \r
+ UINTN Type;\r
/// If entrypoint has been called\r
- BOOLEAN Started; \r
+ BOOLEAN Started;\r
/// The image's entry point\r
- EFI_IMAGE_ENTRY_POINT EntryPoint; \r
+ EFI_IMAGE_ENTRY_POINT EntryPoint;\r
/// loaded image protocol\r
- EFI_LOADED_IMAGE_PROTOCOL Info; \r
+ EFI_LOADED_IMAGE_PROTOCOL Info;\r
/// Location in memory\r
- EFI_PHYSICAL_ADDRESS ImageBasePage; \r
+ EFI_PHYSICAL_ADDRESS ImageBasePage;\r
/// Number of pages\r
- UINTN NumberOfPages; \r
+ UINTN NumberOfPages;\r
/// Original fixup data\r
- CHAR8 *FixupData; \r
+ CHAR8 *FixupData;\r
/// Tpl of started image\r
- EFI_TPL Tpl; \r
+ EFI_TPL Tpl;\r
/// Status returned by started image\r
- EFI_STATUS Status; \r
+ EFI_STATUS Status;\r
/// Size of ExitData from started image\r
- UINTN ExitDataSize; \r
+ UINTN ExitDataSize;\r
/// Pointer to exit data from started image\r
- VOID *ExitData; \r
+ VOID *ExitData;\r
/// Pointer to pool allocation for context save/restore\r
- VOID *JumpBuffer; \r
+ VOID *JumpBuffer;\r
/// Pointer to buffer for context save/restore\r
- BASE_LIBRARY_JUMP_BUFFER *JumpContext; \r
+ BASE_LIBRARY_JUMP_BUFFER *JumpContext;\r
/// Machine type from PE image\r
- UINT16 Machine; \r
+ UINT16 Machine;\r
/// EBC Protocol pointer\r
- EFI_EBC_PROTOCOL *Ebc; \r
+ EFI_EBC_PROTOCOL *Ebc;\r
/// Runtime image list\r
- EFI_RUNTIME_IMAGE_ENTRY *RuntimeData; \r
+ EFI_RUNTIME_IMAGE_ENTRY *RuntimeData;\r
/// Pointer to Loaded Image Device Path Protocol\r
- EFI_DEVICE_PATH_PROTOCOL *LoadedImageDevicePath; \r
+ EFI_DEVICE_PATH_PROTOCOL *LoadedImageDevicePath;\r
/// PeCoffLoader ImageContext\r
- PE_COFF_LOADER_IMAGE_CONTEXT ImageContext; \r
+ PE_COFF_LOADER_IMAGE_CONTEXT ImageContext;\r
/// Status returned by LoadImage() service.\r
EFI_STATUS LoadImageStatus;\r
} LOADED_IMAGE_PRIVATE_DATA;\r
@retval EFI_NOT_FOUND 1) There are no EFI_DRIVER_BINDING_PROTOCOL instances\r
present in the system.\r
2) No drivers were connected to ControllerHandle.\r
- @retval EFI_SECURITY_VIOLATION \r
- The user has no permission to start UEFI device drivers on the device path \r
+ @retval EFI_SECURITY_VIOLATION\r
+ The user has no permission to start UEFI device drivers on the device path\r
associated with the ControllerHandle or specified by the RemainingDevicePath.\r
\r
**/\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
+ @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
+ @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
@param Attributes Specified attributes\r
\r
@retval EFI_SUCCESS The attributes were set for the memory region.\r
- @retval EFI_INVALID_PARAMETER Length is zero. \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
);\r
\r
\r
-/**\r
- Place holder function until all the Boot Services and Runtime Services are\r
- available.\r
-\r
- @return EFI_NOT_AVAILABLE_YET\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CoreEfiNotAvailableYetArg0 (\r
- VOID\r
- );\r
-\r
\r
/**\r
Place holder function until all the Boot Services and Runtime Services are\r
);\r
\r
/**\r
- Read data from Firmware Block by FVB protocol Read. \r
+ Read data from Firmware Block by FVB protocol Read.\r
The data may cross the multi block ranges.\r
\r
@param Fvb The FW_VOL_BLOCK_PROTOCOL instance from which to read data.\r
IN UINT64 Length\r
);\r
\r
+/**\r
+ Merge continous memory map entries whose have same attributes.\r
+\r
+ @param MemoryMap A pointer to the buffer in which firmware places\r
+ the current memory map.\r
+ @param MemoryMapSize A pointer to the size, in bytes, of the\r
+ MemoryMap buffer. On input, this is the size of\r
+ the current memory map. On output,\r
+ it is the size of new memory map after merge.\r
+ @param DescriptorSize Size, in bytes, of an individual EFI_MEMORY_DESCRIPTOR.\r
+**/\r
+VOID\r
+MergeMemoryMap (\r
+ IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,\r
+ IN OUT UINTN *MemoryMapSize,\r
+ IN UINTN DescriptorSize\r
+ );\r
+\r
#endif\r