]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/Bds/BdsInternal.h
ArmPlatformPkg/Bds: Remove Linux specific boot path
[mirror_edk2.git] / ArmPlatformPkg / Bds / BdsInternal.h
index 447b8c9cd1901a57081fe759ac667ab1464e1349..fe4fd79289529ca194e1f1cd5f6f6be49e1bdd11 100644 (file)
 #include <Protocol/DevicePathToText.h>\r
 \r
 #include <Guid/GlobalVariable.h>\r
+#include <Guid/Fdt.h>\r
 \r
 #define BOOT_DEVICE_DESCRIPTION_MAX   100\r
 #define BOOT_DEVICE_FILEPATH_MAX      100\r
 #define BOOT_DEVICE_OPTION_MAX        300\r
 #define BOOT_DEVICE_ADDRESS_MAX       (sizeof(L"0x0000000000000000"))\r
 \r
-#define ARM_BDS_OPTIONAL_DATA_SIGNATURE   SIGNATURE_32('a', 'b', 'o', 'd')\r
-\r
-#define IS_ARM_BDS_BOOTENTRY(ptr)  \\r
-  (((ptr)->OptionalData != NULL) && \\r
-   (ReadUnaligned32 ((CONST UINT32*)&((ARM_BDS_LOADER_OPTIONAL_DATA*)((ptr)->OptionalData))->Header.Signature) \\r
-      == ARM_BDS_OPTIONAL_DATA_SIGNATURE))\r
-\r
 #define UPDATE_BOOT_ENTRY L"Update entry: "\r
 #define DELETE_BOOT_ENTRY L"Delete entry: "\r
-\r
-typedef enum {\r
-    BDS_LOADER_EFI_APPLICATION = 0,\r
-    BDS_LOADER_KERNEL_LINUX_ATAG,\r
-    BDS_LOADER_KERNEL_LINUX_FDT,\r
-} ARM_BDS_LOADER_TYPE;\r
-\r
-typedef struct {\r
-  UINT16                     CmdLineSize;\r
-  UINT16                     InitrdSize;\r
-\r
-  // These following fields have variable length and are packed:\r
-  //CHAR8                      *CmdLine;\r
-  //EFI_DEVICE_PATH_PROTOCOL   *InitrdPathList;\r
-} ARM_BDS_LINUX_ARGUMENTS;\r
-\r
-typedef union {\r
-  ARM_BDS_LINUX_ARGUMENTS    LinuxArguments;\r
-} ARM_BDS_LOADER_ARGUMENTS;\r
-\r
-typedef struct {\r
-  UINT32                     Signature;\r
-  ARM_BDS_LOADER_TYPE        LoaderType;\r
-} ARM_BDS_LOADER_OPTIONAL_DATA_HEADER;\r
-\r
-typedef struct {\r
-  ARM_BDS_LOADER_OPTIONAL_DATA_HEADER Header;\r
-  ARM_BDS_LOADER_ARGUMENTS            Arguments;\r
-} ARM_BDS_LOADER_OPTIONAL_DATA;\r
+#define MOVE_BOOT_ENTRY   L"Move entry: "\r
 \r
 typedef struct {\r
   LIST_ENTRY                  Link;\r
@@ -102,8 +68,12 @@ typedef struct _BDS_LOAD_OPTION_SUPPORT {
   BDS_SUPPORTED_DEVICE_TYPE   Type;\r
   EFI_STATUS    (*ListDevices)(IN OUT LIST_ENTRY* BdsLoadOptionList);\r
   BOOLEAN       (*IsSupported)(IN  EFI_DEVICE_PATH *DevicePath);\r
-  EFI_STATUS    (*CreateDevicePathNode)(IN CHAR16* FileName, OUT EFI_DEVICE_PATH_PROTOCOL **DevicePathNodes, OUT BOOLEAN *RequestBootType);\r
-  EFI_STATUS    (*UpdateDevicePathNode)(IN EFI_DEVICE_PATH *OldDevicePath, IN CHAR16* FileName, OUT EFI_DEVICE_PATH_PROTOCOL** NewDevicePath, OUT BOOLEAN *RequestBootType);\r
+  EFI_STATUS    (*CreateDevicePathNode)(IN CHAR16* FileName, OUT EFI_DEVICE_PATH_PROTOCOL **DevicePathNodes);\r
+  EFI_STATUS    (*UpdateDevicePathNode)(IN EFI_DEVICE_PATH *OldDevicePath, IN CHAR16* FileName, OUT EFI_DEVICE_PATH_PROTOCOL** NewDevicePath);\r
+\r
+  /// Define if the boot menu should request if the file is a EFI binary or a Linux kernel\r
+  /// Example: PXE boot always deliver a UEFI application.\r
+  BOOLEAN       RequestBootType;\r
 } BDS_LOAD_OPTION_SUPPORT;\r
 \r
 #define LOAD_OPTION_ENTRY_FROM_LINK(a)  BASE_CR(a, BDS_LOAD_OPTION_ENTRY, Link)\r
@@ -160,6 +130,12 @@ GetHIInputIP (
   OUT EFI_IP_ADDRESS   *Ip\r
   );\r
 \r
+EFI_STATUS\r
+EditHIInputIP (\r
+  IN  EFI_IP_ADDRESS  *InIpAddr,\r
+  OUT EFI_IP_ADDRESS  *OutIpAddr\r
+  );\r
+\r
 EFI_STATUS\r
 GetHIInputBoolean (\r
   OUT BOOLEAN *Value\r
@@ -218,7 +194,6 @@ BootOptionCreate (
   IN  UINT32                    Attributes,\r
   IN  CHAR16*                   BootDescription,\r
   IN  EFI_DEVICE_PATH_PROTOCOL* DevicePath,\r
-  IN  ARM_BDS_LOADER_TYPE       BootType,\r
   IN  UINT8*                    OptionalData,\r
   IN  UINTN                     OptionalDataSize,\r
   OUT BDS_LOAD_OPTION**         BdsLoadOption\r
@@ -230,7 +205,6 @@ BootOptionUpdate (
   IN  UINT32                    Attributes,\r
   IN  CHAR16*                   BootDescription,\r
   IN  EFI_DEVICE_PATH_PROTOCOL* DevicePath,\r
-  IN  ARM_BDS_LOADER_TYPE       BootType,\r
   IN UINT8*                     OptionalData,\r
   IN UINTN                      OptionalDataSize\r
   );\r
@@ -240,13 +214,6 @@ BootOptionDelete (
   IN  BDS_LOAD_OPTION *BootOption\r
   );\r
 \r
-EFI_STATUS\r
-BootDeviceGetType (\r
-  IN  EFI_DEVICE_PATH* DevicePath,\r
-  OUT ARM_BDS_LOADER_TYPE *BootType,\r
-  OUT UINT32 *Attributes\r
-  );\r
-\r
 EFI_STATUS\r
 BootMenuMain (\r
   VOID\r
@@ -278,4 +245,19 @@ IsPrintableString (
   OUT BOOLEAN *IsUnicode\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
+EmptyCallbackFunction (\r
+  IN EFI_EVENT                Event,\r
+  IN VOID                     *Context\r
+  );\r
+\r
 #endif /* _BDSINTERNAL_H_ */\r