]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPlatformPkg/ArmVExpressDxe: remove FDT handling from ArmFvpDxe
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 29 Mar 2017 12:58:42 +0000 (13:58 +0100)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 11 Apr 2017 17:23:17 +0000 (18:23 +0100)
Replace the elaborate but awkward handling of FDT images using device
paths and string PCDs initialized to 128 spaces with a simple scheme
involving a set of builtin DTBs and a bit of runtime logic to select
between them.

This is sufficient for ordinary use, which makes it more suitable as
reference code. Note that overriding the DTB presented to the OS can
easily be done with a UEFI application that simply installs a new DTB
image under the existing FDT configuration table GUID.

For this module, this simply involves removing all code that is involved
in deciding which platform we are running on, and for reasoning about
FDT device paths.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/AArch64/ArmFvpDxeAArch64.c [deleted file]
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.c
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmVExpressCommon.c [deleted file]
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmVExpressInternal.h [deleted file]
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressPkg.dec

diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/AArch64/ArmFvpDxeAArch64.c b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/AArch64/ArmFvpDxeAArch64.c
deleted file mode 100644 (file)
index c368957..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/** @file\r
-\r
-  Copyright (c) 2014-2015, ARM Ltd. All rights reserved.\r
-\r
-  This program and the accompanying materials are licensed and made available\r
-  under the terms and conditions of the BSD License which accompanies this\r
-  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, WITHOUT\r
-  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "ArmVExpressInternal.h"\r
-#include <Library/ArmGicLib.h>\r
-\r
-//\r
-// Description of the AARCH64 model platforms :\r
-// Platform ids are defined in ArmVExpressInternal.h for\r
-// all "ArmVExpress-like" platforms (AARCH64 or ARM architecture,\r
-// model or hardware platforms).\r
-//\r
-CONST ARM_VEXPRESS_PLATFORM ArmVExpressPlatforms[] = {\r
-  { ARM_FVP_VEXPRESS_AEMv8x4,                  FixedPcdGetPtr (PcdFdtFvpVExpressAEMv8x4),        L"rtsm_ve-aemv8a.dtb"                  },\r
-  { ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV2,        FixedPcdGetPtr (PcdFdtFvpBaseAEMv8x4GicV2),       L"fvp-base-gicv2-psci.dtb"             },\r
-  { ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV2_LEGACY, FixedPcdGetPtr (PcdFdtFvpBaseAEMv8x4GicV2Legacy), L"fvp-base-gicv2legacy-psci.dtb"       },\r
-  { ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV3,        FixedPcdGetPtr (PcdFdtFvpBaseAEMv8x4GicV3),       L"fvp-base-gicv3-psci.dtb"             },\r
-  { ARM_FVP_FOUNDATION_GICV2,                  FixedPcdGetPtr (PcdFdtFvpFoundationGicV2),        L"fvp-foundation-gicv2-psci.dtb"       },\r
-  { ARM_FVP_FOUNDATION_GICV2_LEGACY,           FixedPcdGetPtr (PcdFdtFvpFoundationGicV2Legacy),  L"fvp-foundation-gicv2legacy-psci.dtb" },\r
-  { ARM_FVP_FOUNDATION_GICV3,                  FixedPcdGetPtr (PcdFdtFvpFoundationGicV3),        L"fvp-foundation-gicv3-psci.dtb"       },\r
-  { ARM_FVP_VEXPRESS_UNKNOWN }\r
-};\r
-\r
-/**\r
-  Get information about the VExpress platform the firmware is running on.\r
-\r
-  @param[out]  Platform   Address where the pointer to the platform information\r
-                          (type ARM_VEXPRESS_PLATFORM*) should be stored.\r
-                          The returned pointer does not point to an allocated\r
-                          memory area.\r
-\r
-  @retval  EFI_SUCCESS    The platform information was returned.\r
-  @retval  EFI_NOT_FOUND  The platform was not recognised.\r
-\r
-**/\r
-EFI_STATUS\r
-ArmVExpressGetPlatform (\r
-  OUT CONST ARM_VEXPRESS_PLATFORM** Platform\r
-  )\r
-{\r
-  EFI_STATUS            Status;\r
-  UINT32                SysId;\r
-  UINT32                FvpSysId;\r
-  UINT32                VariantSysId;\r
-  ARM_GIC_ARCH_REVISION GicRevision;\r
-\r
-  ASSERT (Platform != NULL);\r
-\r
-  Status = EFI_NOT_FOUND;\r
-\r
-  SysId = MmioRead32 (ARM_VE_SYS_ID_REG);\r
-  if (SysId != ARM_RTSM_SYS_ID) {\r
-    // Remove the GIC variant to identify if we are running on the FVP Base or\r
-    // Foundation models\r
-    FvpSysId     = SysId & (ARM_FVP_SYS_ID_HBI_MASK |\r
-                            ARM_FVP_SYS_ID_PLAT_MASK );\r
-    // Extract the variant from the SysId\r
-    VariantSysId = SysId & ARM_FVP_SYS_ID_VARIANT_MASK;\r
-\r
-    if (FvpSysId == ARM_FVP_BASE_BOARD_SYS_ID) {\r
-      if (VariantSysId == ARM_FVP_GIC_VE_MMAP) {\r
-        // FVP Base Model with legacy GIC memory map\r
-        Status = ArmVExpressGetPlatformFromId (ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV2_LEGACY, Platform);\r
-      } else {\r
-        GicRevision = ArmGicGetSupportedArchRevision ();\r
-\r
-        if (GicRevision == ARM_GIC_ARCH_REVISION_2) {\r
-          // FVP Base Model with GICv2 support\r
-          Status = ArmVExpressGetPlatformFromId (ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV2, Platform);\r
-        } else {\r
-          // FVP Base Model with GICv3 support\r
-          Status = ArmVExpressGetPlatformFromId (ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV3, Platform);\r
-        }\r
-      }\r
-    } else if (FvpSysId == ARM_FVP_FOUNDATION_BOARD_SYS_ID) {\r
-      if (VariantSysId == ARM_FVP_GIC_VE_MMAP) {\r
-        // FVP Foundation Model with legacy GIC memory map\r
-        Status = ArmVExpressGetPlatformFromId (ARM_FVP_FOUNDATION_GICV2_LEGACY, Platform);\r
-      } else {\r
-        GicRevision = ArmGicGetSupportedArchRevision ();\r
-\r
-        if (GicRevision == ARM_GIC_ARCH_REVISION_2) {\r
-          // FVP Foundation Model with GICv2\r
-          Status = ArmVExpressGetPlatformFromId (ARM_FVP_FOUNDATION_GICV2, Platform);\r
-        } else {\r
-          // FVP Foundation Model with GICv3\r
-          Status = ArmVExpressGetPlatformFromId (ARM_FVP_FOUNDATION_GICV3, Platform);\r
-        }\r
-      }\r
-    }\r
-  } else {\r
-    // FVP Versatile Express AEMv8\r
-    Status = ArmVExpressGetPlatformFromId (ARM_FVP_VEXPRESS_AEMv8x4, Platform);\r
-  }\r
-\r
-  if (EFI_ERROR (Status)) {\r
-    DEBUG ((EFI_D_ERROR, "Unsupported AArch64 RTSM (SysId:0x%X).\n", SysId));\r
-    ASSERT_EFI_ERROR (Status);\r
-  }\r
-\r
-  return Status;\r
-}\r
index 8c42814a04dc0f4b43eea013a6f7bf3fef2a4153..7827c50d8bbf80a5cd36641bdd9b29052aafaa9d 100644 (file)
 \r
 **/\r
 \r
-#include "ArmVExpressInternal.h"\r
-\r
 #include <PiDxe.h>\r
+\r
+#include <Library/ArmShellCmdLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
+#include <Library/DebugLib.h>\r
+#include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/VirtioMmioDeviceLib.h>\r
-#include <Library/ArmShellCmdLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/DevicePathLib.h>\r
 \r
-#include <Protocol/FirmwareVolume2.h>\r
+#include <VExpressMotherBoard.h>\r
 \r
 #define ARM_FVP_BASE_VIRTIO_BLOCK_BASE    0x1c130000\r
 \r
@@ -55,95 +54,6 @@ VIRTIO_BLK_DEVICE_PATH mVirtioBlockDevicePath =
   }\r
 };\r
 \r
-STATIC\r
-EFI_STATUS\r
-InternalFindFdtByGuid (\r
-  IN OUT   EFI_DEVICE_PATH  **FdtDevicePath,\r
-  IN CONST EFI_GUID         *FdtGuid\r
-  )\r
-{\r
-  MEDIA_FW_VOL_FILEPATH_DEVICE_PATH    FileDevicePath;\r
-  EFI_HANDLE                           *HandleBuffer;\r
-  UINTN                                HandleCount;\r
-  UINTN                                Index;\r
-  EFI_FIRMWARE_VOLUME2_PROTOCOL        *FvProtocol;\r
-  EFI_GUID                             NameGuid;\r
-  UINTN                                Size;\r
-  VOID                                 *Key;\r
-  EFI_FV_FILETYPE                      FileType;\r
-  EFI_FV_FILE_ATTRIBUTES               Attributes;\r
-  EFI_DEVICE_PATH                      *FvDevicePath;\r
-  EFI_STATUS                           Status;\r
-\r
-  if (FdtGuid == NULL) {\r
-    return EFI_NOT_FOUND;\r
-  }\r
-\r
-  EfiInitializeFwVolDevicepathNode (&FileDevicePath, FdtGuid);\r
-\r
-  HandleBuffer = NULL;\r
-  Status = gBS->LocateHandleBuffer (\r
-                  ByProtocol,\r
-                  &gEfiFirmwareVolume2ProtocolGuid,\r
-                  NULL,\r
-                  &HandleCount,\r
-                  &HandleBuffer\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  for (Index = 0; Index < HandleCount; Index++) {\r
-    Status = gBS->HandleProtocol (\r
-                    HandleBuffer[Index],\r
-                    &gEfiFirmwareVolume2ProtocolGuid,\r
-                    (VOID **) &FvProtocol\r
-                    );\r
-    if (EFI_ERROR (Status)) {\r
-      return Status;\r
-    }\r
-\r
-    // Allocate Key\r
-    Key = AllocatePool (FvProtocol->KeySize);\r
-    ASSERT (Key != NULL);\r
-    ZeroMem (Key, FvProtocol->KeySize);\r
-\r
-    do {\r
-      FileType = EFI_FV_FILETYPE_RAW;\r
-      Status = FvProtocol->GetNextFile (FvProtocol, Key, &FileType, &NameGuid, &Attributes, &Size);\r
-      if (Status == EFI_NOT_FOUND) {\r
-        break;\r
-      }\r
-      if (EFI_ERROR (Status)) {\r
-        return Status;\r
-      }\r
-\r
-      //\r
-      // Check whether this file is the one we are looking for. If so,\r
-      // create a device path for it and return it to the caller.\r
-      //\r
-      if (CompareGuid (&NameGuid, FdtGuid)) {\r
-          Status = gBS->HandleProtocol (HandleBuffer[Index], &gEfiDevicePathProtocolGuid, (VOID **)&FvDevicePath);\r
-          if (!EFI_ERROR (Status)) {\r
-            *FdtDevicePath = AppendDevicePathNode (FvDevicePath,\r
-                               (EFI_DEVICE_PATH_PROTOCOL *)&FileDevicePath);\r
-          }\r
-          goto Done;\r
-      }\r
-    } while (TRUE);\r
-    FreePool (Key);\r
-  }\r
-\r
-  if (Index == HandleCount) {\r
-    Status = EFI_NOT_FOUND;\r
-  }\r
-  return Status;\r
-\r
-Done:\r
-  FreePool (Key);\r
-  return Status;\r
-}\r
-\r
 /**\r
  * Generic UEFI Entrypoint for 'ArmFvpDxe' driver\r
  * See UEFI specification for the details of the parameters\r
@@ -155,12 +65,7 @@ ArmFvpInitialise (
   IN EFI_SYSTEM_TABLE   *SystemTable\r
   )\r
 {\r
-  CONST ARM_VEXPRESS_PLATFORM* Platform;\r
   EFI_STATUS                   Status;\r
-  CHAR16                       *TextDevicePath;\r
-  UINTN                        TextDevicePathSize;\r
-  VOID                         *Buffer;\r
-  EFI_DEVICE_PATH              *FdtDevicePath;\r
 \r
   Status = gBS->InstallProtocolInterface (&ImageHandle,\r
                  &gEfiDevicePathProtocolGuid, EFI_NATIVE_INTERFACE,\r
@@ -169,38 +74,6 @@ ArmFvpInitialise (
     return Status;\r
   }\r
 \r
-  Status = ArmVExpressGetPlatform (&Platform);\r
-  if (!EFI_ERROR (Status)) {\r
-    FdtDevicePath = NULL;\r
-    Status = InternalFindFdtByGuid (&FdtDevicePath, Platform->FdtGuid);\r
-    if (!EFI_ERROR (Status)) {\r
-      TextDevicePath = ConvertDevicePathToText (FdtDevicePath, FALSE, FALSE);\r
-      if (TextDevicePath != NULL) {\r
-        TextDevicePathSize = StrSize (TextDevicePath);\r
-      }\r
-      FreePool (FdtDevicePath);\r
-    } else {\r
-      TextDevicePathSize  = StrSize ((CHAR16*)PcdGetPtr (PcdFvpFdtDevicePathsBase)) - sizeof (CHAR16);\r
-      TextDevicePathSize += StrSize (Platform->FdtName);\r
-\r
-      TextDevicePath = AllocatePool (TextDevicePathSize);\r
-      if (TextDevicePath != NULL) {\r
-        StrCpy (TextDevicePath, ((CHAR16*)PcdGetPtr (PcdFvpFdtDevicePathsBase)));\r
-        StrCat (TextDevicePath, Platform->FdtName);\r
-      }\r
-    }\r
-    if (TextDevicePath != NULL) {\r
-      Buffer = PcdSetPtr (PcdFdtDevicePaths, &TextDevicePathSize, TextDevicePath);\r
-      if (Buffer == NULL) {\r
-        DEBUG ((\r
-          EFI_D_ERROR,\r
-          "ArmFvpDxe: Setting of FDT device path in PcdFdtDevicePaths failed - %r\n", EFI_BUFFER_TOO_SMALL\r
-          ));\r
-      }\r
-      FreePool (TextDevicePath);\r
-    }\r
-  }\r
-\r
   // Declare the Virtio BlockIo device\r
   Status = VirtioMmioInstallDevice (ARM_FVP_BASE_VIRTIO_BLOCK_BASE, ImageHandle);\r
   if (EFI_ERROR (Status)) {\r
index 2a8c8388a3b2c70701ff5994012f4c894303d023..a0dd9cba19a98429ea1a19ca8d7d1a8c0f1302d2 100644 (file)
 \r
 [Sources.common]\r
   ArmFvpDxe.c\r
-  ArmVExpressCommon.c\r
-\r
-[Sources.AARCH64]\r
-  AArch64/ArmFvpDxeAArch64.c\r
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   ArmPkg/ArmPkg.dec\r
   ArmPlatformPkg/ArmPlatformPkg.dec\r
-  ArmPlatformPkg/ArmVExpressPkg/ArmVExpressPkg.dec\r
-  EmbeddedPkg/EmbeddedPkg.dec\r
   OvmfPkg/OvmfPkg.dec\r
 \r
 [LibraryClasses]\r
-  PcdLib\r
   ArmShellCmdRunAxfLib\r
-  ArmLib\r
-  ArmPlatformLib\r
   BaseMemoryLib\r
-  DxeServicesTableLib\r
-  MemoryAllocationLib\r
   UefiDriverEntryPoint\r
   UefiBootServicesTableLib\r
   VirtioMmioDeviceLib\r
-  DevicePathLib\r
-\r
-[LibraryClasses.AARCH64]\r
-  ArmGicLib\r
-\r
-[Protocols]\r
-  gEfiFirmwareVolume2ProtocolGuid\r
-  gEfiDevicePathProtocolGuid\r
-\r
-[FixedPcd]\r
-  gArmVExpressTokenSpaceGuid.PcdFvpFdtDevicePathsBase\r
-\r
-[FixedPcd.AARCH64]\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpVExpressAEMv8x4\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2Legacy\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV3\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2Legacy\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV3\r
 \r
-[Pcd]\r
-  gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths\r
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmVExpressCommon.c b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmVExpressCommon.c
deleted file mode 100644 (file)
index e1cac7f..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/** @file\r
-\r
-  Copyright (c) 2014, ARM Ltd. All rights reserved.\r
-\r
-  This program and the accompanying materials are licensed and made available\r
-  under the terms and conditions of the BSD License which accompanies this\r
-  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, WITHOUT\r
-  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "ArmVExpressInternal.h"\r
-\r
-/**\r
-  Get information about the VExpress platform the firmware is running on given its Id.\r
-\r
-  @param[in]   PlatformId  Id of the VExpress platform.\r
-  @param[out]  Platform    Address where the pointer to the platform information\r
-                           (type ARM_VEXPRESS_PLATFORM*) should be stored.\r
-                           The returned pointer does not point to an allocated\r
-                           memory area.\r
-\r
-  @retval  EFI_SUCCESS    The platform information was returned.\r
-  @retval  EFI_NOT_FOUND  The platform was not recognised.\r
-\r
-**/\r
-EFI_STATUS\r
-ArmVExpressGetPlatformFromId (\r
-  IN  CONST ARM_VEXPRESS_PLATFORM_ID PlatformId,\r
-  OUT CONST ARM_VEXPRESS_PLATFORM**  Platform\r
-  )\r
-{\r
-  UINTN Index;\r
-\r
-  ASSERT (Platform != NULL);\r
-\r
-  for (Index = 0; ArmVExpressPlatforms[Index].Id != ARM_FVP_VEXPRESS_UNKNOWN; Index++) {\r
-    if (ArmVExpressPlatforms[Index].Id == PlatformId) {\r
-      *Platform = &ArmVExpressPlatforms[Index];\r
-      return EFI_SUCCESS;\r
-    }\r
-  }\r
-\r
-  return EFI_NOT_FOUND;\r
-}\r
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmVExpressInternal.h b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmVExpressInternal.h
deleted file mode 100644 (file)
index e123eea..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/** @file\r
-\r
-  Copyright (c) 2014-2015, ARM Ltd. All rights reserved.\r
-\r
-  This program and the accompanying materials are licensed and made available\r
-  under the terms and conditions of the BSD License which accompanies this\r
-  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, WITHOUT\r
-  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef __ARM_VEXPRESS_INTERNAL_H__\r
-#define __ARM_VEXPRESS_INTERNAL_H__\r
-\r
-#include <Uefi.h>\r
-\r
-#include <Library/ArmLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiLib.h>\r
-\r
-#include <VExpressMotherBoard.h>\r
-\r
-// This 'enum' is needed as variations based on existing platform exist\r
-typedef enum {\r
-  ARM_FVP_VEXPRESS_UNKNOWN = 0,\r
-  ARM_FVP_VEXPRESS_A9x4,\r
-  ARM_FVP_VEXPRESS_A15x1,\r
-  ARM_FVP_VEXPRESS_A15x2,\r
-  ARM_FVP_VEXPRESS_A15x4,\r
-  ARM_FVP_VEXPRESS_A15x1_A7x1,\r
-  ARM_FVP_VEXPRESS_A15x4_A7x4,\r
-  ARM_FVP_VEXPRESS_AEMv8x4,\r
-  ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV2,\r
-  ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV2_LEGACY,\r
-  ARM_FVP_BASE_AEMv8x4_AEMv8x4_GICV3,\r
-  ARM_FVP_FOUNDATION_GICV2,\r
-  ARM_FVP_FOUNDATION_GICV2_LEGACY,\r
-  ARM_FVP_FOUNDATION_GICV3,\r
-  ARM_HW_A9x4,\r
-  ARM_HW_A15x2_A7x3,\r
-  ARM_HW_A15,\r
-  ARM_HW_A5\r
-} ARM_VEXPRESS_PLATFORM_ID;\r
-\r
-typedef struct {\r
-  ARM_VEXPRESS_PLATFORM_ID  Id;\r
-\r
-  // Flattened Device Tree (FDT) File\r
-  CONST EFI_GUID            *FdtGuid; /// Name of the FDT when present into the FV\r
-  CONST CHAR16              *FdtName; /// Name of the FDT when present into a File System\r
-} ARM_VEXPRESS_PLATFORM;\r
-\r
-// Array that contains the list of the VExpress based platform supported by this DXE driver\r
-extern CONST ARM_VEXPRESS_PLATFORM ArmVExpressPlatforms[];\r
-\r
-/**\r
-  Get information about the VExpress platform the firmware is running on given its Id.\r
-\r
-  @param[in]   PlatformId  Id of the VExpress platform.\r
-  @param[out]  Platform    Address where the pointer to the platform information\r
-                           (type ARM_VEXPRESS_PLATFORM*) should be stored.\r
-                           The returned pointer does not point to an allocated\r
-                           memory area.\r
-\r
-  @retval  EFI_SUCCESS    The platform information was returned.\r
-  @retval  EFI_NOT_FOUND  The platform was not recognised.\r
-\r
-**/\r
-EFI_STATUS\r
-ArmVExpressGetPlatformFromId (\r
-  IN  CONST ARM_VEXPRESS_PLATFORM_ID PlatformId,\r
-  OUT CONST ARM_VEXPRESS_PLATFORM**  Platform\r
-  );\r
-\r
-/**\r
-\r
-  Get information about the VExpress platform the firmware is running on.\r
-\r
-  @param[out]  Platform   Address where the pointer to the platform information\r
-                          (type ARM_VEXPRESS_PLATFORM*) should be stored.\r
-                          The returned pointer does not point to an allocated\r
-                          memory area.\r
-\r
-  @retval  EFI_SUCCESS    The platform information was returned.\r
-  @retval  EFI_NOT_FOUND  The platform was not recognised.\r
-\r
-**/\r
-EFI_STATUS\r
-ArmVExpressGetPlatform (\r
-  OUT CONST ARM_VEXPRESS_PLATFORM** Platform\r
-  );\r
-\r
-#endif // __ARM_VEXPRESS_INTERNAL_H__\r
index 39f046541502de35828c271ea9cff3098499aabb..3814513c2241c03a8c45fda92d571c65368f64b4 100644 (file)
   # Device path of block device on which Fastboot will flash partitions\r
   #\r
   gArmVExpressTokenSpaceGuid.PcdAndroidFastbootNvmDevicePath|""|VOID*|0x00000004\r
-\r
-  # FVP platforms : install FDT from SemiHosting\r
-  gArmVExpressTokenSpaceGuid.PcdFvpFdtDevicePathsBase|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/"|VOID*|0x00000005\r
-  # HW platforms : install FDT from NOR Flash\r
-  gArmVExpressTokenSpaceGuid.PcdHwFdtDevicePathsBase|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/"|VOID*|0x00000006\r
-\r
-  #\r
-  # ARM Versatile Express FDT Guids\r
-  #\r
-\r
-  # AArch64 FVP platforms\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpVExpressAEMv8x4|{ 0xa8, 0x95, 0x5f, 0xf6, 0x32, 0x7b, 0xf3, 0x16, 0x12, 0x32, 0x45, 0x50, 0xbd, 0x54, 0xca, 0xe5 }|VOID*|0x00000010\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2|{ 0x66, 0xcf, 0x57, 0xa4, 0xac, 0x7e, 0x7f, 0x3d, 0x21, 0x88, 0x3a, 0x58, 0x3c, 0x27, 0xd7, 0xe8 }|VOID*|0x00000011\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2Legacy|{ 0x8b, 0xcb, 0xe0, 0x14, 0xd1, 0x46, 0x79, 0xae, 0x7f, 0x20, 0xcf, 0x84, 0x22, 0xc7, 0x94, 0x4a }|VOID*|0x00000012\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV3|{ 0x4d, 0x03, 0xb8, 0x77, 0x63, 0x25, 0x0a, 0x7f, 0xe9, 0x72, 0xfa, 0x68, 0x74, 0xc7, 0x5e, 0xb5 }|VOID*|0x00000013\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2|{ 0x36, 0x4f, 0x61, 0x92, 0x86, 0xb1, 0xa2, 0x16, 0x32, 0x65, 0x35, 0x3f, 0x01, 0xf3, 0x3b, 0x64 }|VOID*|0x00000014\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2Legacy|{ 0xf6, 0xcb, 0x9d, 0x86, 0x38, 0x74, 0x8a, 0xb0, 0xfe, 0x40, 0x08, 0x0f, 0x3f, 0xb3, 0x50, 0x7c }|VOID*|0x00000015\r
-  gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV3|{ 0x51, 0xd0, 0x75, 0x6b, 0x9d, 0x35, 0x1b, 0x1b, 0xa6, 0xc6, 0xab, 0xa0, 0x90, 0xf9, 0xf0, 0x0a }|VOID*|0x00000016\r