From ec6b0aace4cbe9d6d8d2596bf9077e8988b5cf32 Mon Sep 17 00:00:00 2001 From: Ryan Harkin Date: Tue, 21 Aug 2012 11:01:34 +0100 Subject: VEA9: Add single binary config Allow a single UEFI binary to be built, containing both the secure and non-secure images in one. This is achieved at build time by passing the option: -D EDK2_ARMVE_SINGLE_BINARY Eg: build -a ARM -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc \ -t ARMLINUXGCC -D EDK2_ARMVE_STANDALONE=1 -D EDK2_ARMVE_SINGLE_BINARY=1 Signed-off-by: Ryan Harkin --- .../ArmVExpressPkg/ArmVExpress-CTA9x4.fdf | 27 +++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf index 34b9d250a..42b3c6412 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf +++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf @@ -25,6 +25,7 @@ # ################################################################################ +!ifndef $(EDK2_ARMVE_SINGLE_BINARY) [FD.Sec_ArmVExpress_EFI] BaseAddress = 0x44000000|gArmTokenSpaceGuid.PcdSecureFdBaseAddress #The base address of the Secure FLASH Device. Size = 0x00080000|gArmTokenSpaceGuid.PcdSecureFdSize #The size in bytes of the Secure FLASH Device @@ -51,20 +52,32 @@ NumBlocks = 0x80 0x00000000|0x00080000 gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize FV = FVMAIN_SEC - +!endif [FD.ArmVExpress_EFI] !if $(EDK2_ARMVE_STANDALONE) == 1 +!if $(EDK2_ARMVE_SINGLE_BINARY) == 1 +BaseAddress = 0x44000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash. +!else BaseAddress = 0x45000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash. +!endif !else BaseAddress = 0x80000000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in remapped DRAM. !endif +!if $(EDK2_ARMVE_SINGLE_BINARY) == 1 +Size = 0x00280000|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device +!else Size = 0x00200000|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device +!endif ErasePolarity = 1 # This one is tricky, it must be: BlockSize * NumBlocks = Size BlockSize = 0x00001000 +!if $(EDK2_ARMVE_SINGLE_BINARY) == 1 +NumBlocks = 0x280 +!else NumBlocks = 0x200 +!endif ################################################################################ # @@ -81,11 +94,19 @@ NumBlocks = 0x200 # RegionType # ################################################################################ - +!if $(EDK2_ARMVE_SINGLE_BINARY) == 1 +0x00000000|0x00080000 +gArmTokenSpaceGuid.PcdSecureFvBaseAddress|gArmTokenSpaceGuid.PcdSecureFvSize +FV = FVMAIN_SEC + +0x00080000|0x00200000 +gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize +FV = FVMAIN_COMPACT +!else 0x00000000|0x00200000 gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize FV = FVMAIN_COMPACT - +!endif ################################################################################ # -- cgit v1.2.3