]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmPlatformPkg-2ndstage.fdf
ArmVExpressPkg: restrict ArmVExpressSysConfigLib to SEC and DXE_DRIVER
[mirror_edk2.git] / ArmPlatformPkg / ArmPlatformPkg-2ndstage.fdf
index a88818ecbdf7b94a31e1d177e3d94fb3f364d9be..aa8661044645f93f6a06f60f5e90efddd84ae814 100644 (file)
@@ -1,13 +1,13 @@
 #\r
-#  Copyright (c) 2011, 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
+#  Copyright (c) 2011-2014, ARM Limited. All rights reserved.\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
+#  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
@@ -85,10 +85,10 @@ READ_STATUS        = TRUE
 READ_LOCK_CAP      = TRUE\r
 READ_LOCK_STATUS   = TRUE\r
 \r
-  INF MdeModulePkg/Core/Dxe/DxeMain.inf \r
+  INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
 \r
   #\r
-  # PI DXE Drivers producing Architectural Protocols (EFI Services) \r
+  # PI DXE Drivers producing Architectural Protocols (EFI Services)\r
   #\r
   INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
   INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
@@ -103,25 +103,25 @@ READ_LOCK_STATUS   = TRUE
 \r
   # Simple TextIn/TextOut for UEFI Terminal\r
   INF EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf\r
-  \r
+\r
   #\r
   # Semi-hosting filesystem (Required the Hardware Debugger to be connected)\r
   #\r
   INF ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-  \r
+\r
   #\r
   # FAT filesystem + GPT/MBR partitioning\r
   #\r
   INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
   INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
-  INF FatPkg/EnhancedFatDxe/Fat.inf\r
+  INF FatBinPkg/EnhancedFatDxe/Fat.inf\r
   INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
-  \r
+\r
+  #\r
+  # UEFI application (Shell Embedded Boot Loader)\r
   #\r
-  # UEFI application (Shell Embedded Boot Loader) \r
-  #  \r
   INF EmbeddedPkg/Ebl/Ebl.inf\r
-    \r
+\r
   #\r
   # Bds\r
   #\r
@@ -148,7 +148,7 @@ READ_LOCK_CAP      = TRUE
 READ_LOCK_STATUS   = TRUE\r
 \r
   INF ArmPlatformPkg/PrePi/PeiUniCore.inf\r
-  \r
+\r
   FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {\r
     SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {\r
       SECTION FV_IMAGE = FVMAIN\r
@@ -167,7 +167,7 @@ READ_LOCK_STATUS   = TRUE
 \r
 \r
 ############################################################################\r
-# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section   # \r
+# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section   #\r
 ############################################################################\r
 #\r
 #[Rule.Common.DXE_DRIVER]\r
@@ -184,22 +184,29 @@ READ_LOCK_STATUS   = TRUE
 #\r
 ############################################################################\r
 \r
-[Rule.Common.SEC]\r
+[Rule.ARM.SEC]\r
   FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {\r
     TE  TE    Align = 32                $(INF_OUTPUT)/$(MODULE_NAME).efi\r
   }\r
 \r
+# The AArch64 Vector Table requires a 2K alignment that is not supported by the FDF specification.\r
+# It is the reason 4K is used instead of 2K for the module alignment.\r
+[Rule.AARCH64.SEC]\r
+  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {\r
+    TE  TE    Align = 4K                $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+  }\r
+\r
 [Rule.Common.PEI_CORE]\r
   FILE PEI_CORE = $(NAMED_GUID) {\r
     TE     TE                           $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-    UI     STRING ="$(MODULE_NAME)" Optional         \r
+    UI     STRING ="$(MODULE_NAME)" Optional\r
   }\r
 \r
 [Rule.Common.PEIM]\r
   FILE PEIM = $(NAMED_GUID) {\r
      PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex\r
      TE       TE                        $(INF_OUTPUT)/$(MODULE_NAME).efi\r
-     UI       STRING="$(MODULE_NAME)" Optional         \r
+     UI       STRING="$(MODULE_NAME)" Optional\r
   }\r
 \r
 [Rule.Common.PEIM.TIANOCOMPRESSED]\r
@@ -224,6 +231,14 @@ READ_LOCK_STATUS   = TRUE
     UI           STRING="$(MODULE_NAME)" Optional\r
   }\r
 \r
+[Rule.Common.UEFI_DRIVER.BINARY]\r
+  FILE DRIVER = $(NAMED_GUID) {\r
+    DXE_DEPEX DXE_DEPEX Optional      |.depex\r
+    PE32      PE32                    |.efi\r
+    UI        STRING="$(MODULE_NAME)" Optional\r
+    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
+  }\r
+\r
 [Rule.Common.DXE_DRIVER]\r
   FILE DRIVER = $(NAMED_GUID) {\r
     DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
@@ -240,6 +255,6 @@ READ_LOCK_STATUS   = TRUE
 \r
 [Rule.Common.UEFI_APPLICATION]\r
   FILE APPLICATION = $(NAMED_GUID) {\r
-    UI     STRING ="$(MODULE_NAME)" Optional         \r
+    UI     STRING ="$(MODULE_NAME)" Optional\r
     PE32   PE32                         $(INF_OUTPUT)/$(MODULE_NAME).efi\r
   }\r