]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Library/BdsLib/BdsInternal.h
ARM Packages: Removed trailing spaces
[mirror_edk2.git] / ArmPkg / Library / BdsLib / BdsInternal.h
index 07f722e03fdd65a515a12ad94dd6f853fcf924b1..88117016ce50f5ea154012a14df009a3be9f32f0 100644 (file)
-/** @file
-*
-*  Copyright (c) 2011, ARM Limited. All rights reserved.
-*  
-*  This program and the accompanying materials                          
-*  are licensed and made available under the terms and conditions of the BSD License         
-*  which accompanies this distribution.  The full text of the license may be found at        
-*  http://opensource.org/licenses/bsd-license.php                                            
-*
-*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
-*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             
-*
-**/
-
-#ifndef __BDS_INTERNAL_H__
-#define __BDS_INTERNAL_H__
-
-#include <PiDxe.h>
-#include <Library/BaseLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-#include <Library/DevicePathLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/DebugLib.h>
-#include <Library/BdsUnixLib.h>
-
-#include <Guid/FileInfo.h>
-
-#include <Protocol/DevicePath.h>
-#include <Protocol/DevicePathFromText.h>
-#include <Protocol/SimpleFileSystem.h>
-#include <Protocol/FirmwareVolume2.h>
-
-
-typedef enum { BDS_FILETYPE_MEM, BDS_FILETYPE_FS, BDS_FILETYPE_FV } BDS_FILE_TYPE;
-
-typedef struct {
-    UINT32                  MemoryType;
-    EFI_PHYSICAL_ADDRESS    StartingAddress;
-    EFI_PHYSICAL_ADDRESS    EndingAddress;
-} BDS_MEM_FILE;
-
-typedef struct {
-    EFI_FILE_PROTOCOL   *Handle;
-} BDS_FS_FILE;
-
-typedef struct {
-    EFI_FIRMWARE_VOLUME2_PROTOCOL *FvProtocol;
-    EFI_FV_FILETYPE               FileType;
-    EFI_GUID            Guid;
-} BDS_FV_FILE;
-
-typedef struct _BDS_FILE {
-    CHAR16* FilePath;
-    EFI_DEVICE_PATH_PROTOCOL    *DevicePath;
-    BDS_FILE_TYPE Type;
-    union {
-        BDS_MEM_FILE    Mem;
-        BDS_FS_FILE Fs;
-        BDS_FV_FILE Fv;
-    } File;
-} BDS_FILE;
-
-typedef struct _BDS_SYSTEM_MEMORY_RESOURCE {
-    LIST_ENTRY                  Link; // This attribute must be the first entry of this structure (to avoid pointer computation)
-    EFI_PHYSICAL_ADDRESS        PhysicalStart;
-    UINT64                      ResourceLength;
-} BDS_SYSTEM_MEMORY_RESOURCE;
-
-
-// BdsHelper.c
-EFI_STATUS
-ShutdownUefiBootServices( VOID );
-
-EFI_STATUS
-GetSystemMemoryResources (LIST_ENTRY *ResourceList);
-
-// BdsFilePath.c
-EFI_STATUS BdsLoadDevicePath(
-    IN  EFI_DEVICE_PATH_PROTOCOL* DevicePath,
-    OUT EFI_HANDLE                *Handle
-);
-
-EFI_STATUS BdsLoadFilePath(
-    IN  CONST CHAR16        *DeviceFilePath,
-    OUT BDS_FILE            *File
-);
-
-EFI_STATUS BdsCopyRawFileToRuntimeMemory(
-    IN  BDS_FILE            *File,
-    OUT VOID                **FileImage,
-    OUT UINTN               *FileSize
-);
-
-// BdsFilePathFs.c
-EFI_STATUS BdsLoadFileFromSimpleFileSystem(
-    IN  EFI_HANDLE Handle,
-    IN  CHAR16                              *FilePath,
-    OUT BDS_FILE            *File
-);
-
-EFI_STATUS BdsCopyRawFileToRuntimeMemoryFS(
-    IN  EFI_FILE_PROTOCOL   *File,
-    OUT VOID                **FileImage,
-    OUT UINTN               *FileSize
-);
-
-// BdsFilePathFv.c
-EFI_STATUS BdsLoadFileFromFirmwareVolume(
-    IN  EFI_HANDLE          FvHandle,
-    IN  CHAR16                              *FilePath,
-    IN  EFI_FV_FILETYPE     FileTypeFilter,
-    OUT BDS_FILE            *File
-);
-
-EFI_STATUS BdsCopyRawFileToRuntimeMemoryFV(
-    IN  BDS_FV_FILE         *FvFile,
-    OUT VOID                **FileImage,
-    OUT UINTN               *FileSize
-);
-
-// BdsFilePathMem.c
-EFI_STATUS BdsLoadFileFromMemMap (
-    IN  EFI_HANDLE                  Handle,
-    IN  EFI_DEVICE_PATH_PROTOCOL    *DevicePath,
-    OUT BDS_FILE                    *File
-);
-
-EFI_STATUS BdsCopyRawFileToRuntimeMemoryMemMap(
-    IN  BDS_MEM_FILE        *MemFile,
-    OUT VOID                **FileImage,
-    OUT UINTN               *FileSize
-);
-
-#endif
+/** @file\r
+*\r
+*  Copyright (c) 2011-2012, 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
+*  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
+*\r
+**/\r
+\r
+#ifndef __BDS_INTERNAL_H__\r
+#define __BDS_INTERNAL_H__\r
+\r
+#include <PiDxe.h>\r
+#include <Library/ArmLib.h>\r
+#include <Library/BaseLib.h>\r
+#include <Library/BaseMemoryLib.h>\r
+#include <Library/HobLib.h>\r
+#include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/UefiLib.h>\r
+#include <Library/DevicePathLib.h>\r
+#include <Library/MemoryAllocationLib.h>\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
+#include <Protocol/DevicePath.h>\r
+#include <Protocol/DevicePathFromText.h>\r
+#include <Protocol/SimpleFileSystem.h>\r
+#include <Protocol/FirmwareVolume2.h>\r
+#include <Protocol/LoadFile.h>\r
+#include <Protocol/PxeBaseCode.h>\r
+\r
+#include <Uefi.h>\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
+typedef EFI_STATUS (*BDS_FILE_LOADER_LOAD_IMAGE) (\r
+  IN     EFI_DEVICE_PATH        *DevicePath,\r
+  IN     EFI_HANDLE             Handle,\r
+  IN     EFI_DEVICE_PATH        *RemainingDevicePath,\r
+  IN     EFI_ALLOCATE_TYPE      Type,\r
+  IN OUT EFI_PHYSICAL_ADDRESS*  Image,\r
+  OUT    UINTN                  *ImageSize\r
+  );\r
+\r
+typedef struct {\r
+  BDS_FILE_LOADER_SUPPORT     Support;\r
+  BDS_FILE_LOADER_LOAD_IMAGE  LoadImage;\r
+} BDS_FILE_LOADER;\r
+\r
+typedef struct _BDS_SYSTEM_MEMORY_RESOURCE {\r
+  LIST_ENTRY                  Link; // This attribute must be the first entry of this structure (to avoid pointer computation)\r
+  EFI_PHYSICAL_ADDRESS        PhysicalStart;\r
+  UINT64                      ResourceLength;\r
+} BDS_SYSTEM_MEMORY_RESOURCE;\r
+\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
+  IN     EFI_ALLOCATE_TYPE     Type,\r
+  IN OUT EFI_PHYSICAL_ADDRESS* Image,\r
+  OUT    UINTN                 *FileSize\r
+  );\r
+\r
+#endif\r