/** @file\r
*\r
-* Copyright (c) 2011-2012, ARM Limited. All rights reserved.\r
+* Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
*\r
* This program and the accompanying materials\r
* are licensed and made available under the terms and conditions of the BSD License\r
#include <Library/DebugLib.h>\r
#include <Library/BdsLib.h>\r
#include <Library/PcdLib.h>\r
-#include <Library/PerformanceLib.h>\r
#include <Library/PrintLib.h>\r
#include <Library/UefiRuntimeServicesTableLib.h>\r
\r
-#include <Guid/ArmMpCoreInfo.h>\r
#include <Guid/GlobalVariable.h>\r
#include <Guid/FileInfo.h>\r
\r
\r
#include <Uefi.h>\r
\r
+/**\r
+ * Check if the file loader can support this device path.\r
+ *\r
+ * @param DevicePath EFI Device Path of the image to load.\r
+ * This device path generally comes from the boot entry (ie: Boot####).\r
+ * @param Handle Handle of the driver supporting the device path\r
+ * @param RemainingDevicePath Part of the EFI Device Path that has not been resolved during\r
+ * the Device Path discovery\r
+ */\r
typedef BOOLEAN (*BDS_FILE_LOADER_SUPPORT) (\r
IN EFI_DEVICE_PATH *DevicePath,\r
IN EFI_HANDLE Handle,\r
IN EFI_DEVICE_PATH *RemainingDevicePath\r
);\r
\r
+/**\r
+ * Function to load an image from a given Device Path for a\r
+ * specific support (FileSystem, TFTP, PXE, ...)\r
+ *\r
+ * @param DevicePath EFI Device Path of the image to load.\r
+ * This device path generally comes from the boot entry (ie: Boot####).\r
+ * This path is also defined as 'OUT' as there are some device paths that\r
+ * might not be completed such as EFI path for removable device. In these\r
+ * cases, it is expected the loader to add \EFI\BOOT\BOOT(ARM|AA64).EFI\r
+ * @param Handle Handle of the driver supporting the device path\r
+ * @param RemainingDevicePath Part of the EFI Device Path that has not been resolved during\r
+ * the Device Path discovery\r
+ * @param Type Define where the image should be loaded (see EFI_ALLOCATE_TYPE definition)\r
+ * @param Image Base Address of the image has been loaded\r
+ * @param ImageSize Size of the image that has been loaded\r
+ */\r
typedef EFI_STATUS (*BDS_FILE_LOADER_LOAD_IMAGE) (\r
- IN EFI_DEVICE_PATH *DevicePath,\r
+ IN OUT EFI_DEVICE_PATH **DevicePath,\r
IN EFI_HANDLE Handle,\r
IN EFI_DEVICE_PATH *RemainingDevicePath,\r
IN EFI_ALLOCATE_TYPE Type,\r
UINT64 LastReportedNbOfBytes;\r
} BDS_TFTP_CONTEXT;\r
\r
-// BdsHelper.c\r
-EFI_STATUS\r
-ShutdownUefiBootServices (\r
- VOID\r
- );\r
-\r
-EFI_STATUS\r
-GetSystemMemoryResources (\r
- LIST_ENTRY *ResourceList\r
- );\r
-\r
-VOID\r
-PrintPerformance (\r
- VOID\r
- );\r
-\r
EFI_STATUS\r
BdsLoadImage (\r
IN EFI_DEVICE_PATH *DevicePath,\r