]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmVirtPkg: use 'auto' alignment and FIXED placement for XIP modules
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 31 Jul 2015 08:24:18 +0000 (08:24 +0000)
committerabiesheuvel <abiesheuvel@Edk2>
Fri, 31 Jul 2015 08:24:18 +0000 (08:24 +0000)
Now that GenFw correctly propagates the minimum alignment of the ELF
input sections to the PE/COFF binary, we can simply select 'auto'
alignment in the FDF Rule section instead of tweaking it by hand.

Also add the FIXED FFS attribute to the module types that may execute
in place. This enables a newly added optimization in GenFfs that strips
redundant padding, preventing excessive waste of FV space if the section
alignment is considerable (i.e., 2 KB or 4 KB)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18122 6f19259b-4bc3-4df7-8a09-765794883524

ArmVirtPkg/ArmVirtQemu.fdf
ArmVirtPkg/ArmVirtXen.fdf

index 4ef0f8bb6aa49919f536d326c18b05f0726703bf..3c0487cd95b637dc679765f8fc1c860814d9540a 100644 (file)
@@ -309,20 +309,20 @@ READ_LOCK_STATUS   = TRUE
 ############################################################################\r
 \r
 [Rule.Common.SEC]\r
-  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {\r
-    TE  TE Align = 128                  $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED FIXED {\r
+    TE  TE Align = Auto                 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
   }\r
 \r
 [Rule.Common.PEI_CORE]\r
-  FILE PEI_CORE = $(NAMED_GUID) {\r
-    TE     TE Align = 8                 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+  FILE PEI_CORE = $(NAMED_GUID) FIXED {\r
+    TE     TE Align = Auto              $(INF_OUTPUT)/$(MODULE_NAME).efi\r
     UI     STRING ="$(MODULE_NAME)" Optional\r
   }\r
 \r
 [Rule.Common.PEIM]\r
-  FILE PEIM = $(NAMED_GUID) {\r
+  FILE PEIM = $(NAMED_GUID) FIXED {\r
      PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-     TE       TE Align = 8              $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+     TE       TE Align = Auto           $(INF_OUTPUT)/$(MODULE_NAME).efi\r
      UI       STRING="$(MODULE_NAME)" Optional\r
   }\r
 \r
index f98772b7191d78e16bdf597ea3d8ee8b10ad5971..97cab4b058f24d5bbf529f6e28010829331e49aa 100644 (file)
@@ -220,20 +220,20 @@ READ_LOCK_STATUS   = TRUE
 ############################################################################\r
 \r
 [Rule.Common.SEC]\r
-  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {\r
-    TE  TE Align = 4K                   $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED FIXED {\r
+    TE  TE Align = Auto                 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
   }\r
 \r
 [Rule.Common.PEI_CORE]\r
-  FILE PEI_CORE = $(NAMED_GUID) {\r
-    TE     TE Align = 8                 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+  FILE PEI_CORE = $(NAMED_GUID) FIXED {\r
+    TE     TE Align = Auto              $(INF_OUTPUT)/$(MODULE_NAME).efi\r
     UI     STRING ="$(MODULE_NAME)" Optional\r
   }\r
 \r
 [Rule.Common.PEIM]\r
-  FILE PEIM = $(NAMED_GUID) {\r
+  FILE PEIM = $(NAMED_GUID) FIXED {\r
      PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex\r
-     TE       TE Align = 8              $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+     TE       TE Align = Auto           $(INF_OUTPUT)/$(MODULE_NAME).efi\r
      UI       STRING="$(MODULE_NAME)" Optional\r
   }\r
 \r