]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Library/BdsLib/BdsInternal.h
ArmPkg/ArmExceptionLib: stack FPSR on common path
[mirror_edk2.git] / ArmPkg / Library / BdsLib / BdsInternal.h
index 602fd8dcf34c4ee5de1c2b4eff7aa1bd126aa10a..f70aae603d69f3ea0c473cb1e38e5d2f20b5681e 100644 (file)
@@ -1,6 +1,6 @@
 /** @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
@@ -77,22 +100,6 @@ typedef struct {
   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