Revision: 17296
          http://sourceforge.net/p/edk2/code/17296
Author:   oliviermartin
Date:     2015-05-05 14:56:51 +0000 (Tue, 05 May 2015)
Log Message:
-----------
ArmPlatformPkg/Scripts/Makefile: Added support to automatically update the FIP

Some ARM development platforms use ARM Trusted Firmware to boot.
ARM Trusted Firmware encapsulates UEFI into the FIP (Firmware
Image Package) binary.
This change allows to update the FIP binary after building UEFI.

Example to build UEFI for FVP Base model:
$ make -f ArmPlatformPkg/Scripts/Makefile \
   EDK2_DSC=ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc \
   EDK2_ARCH=AARCH64 EDK2_TOOLCHAIN=GCC49 \
   FIP_BIN=~/arm-trusted-firmware/build/fvp/release/fip.bin

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <[email protected]>
Reviewed-by: Ronald Cron <[email protected]>

Modified Paths:
--------------
    trunk/edk2/ArmPlatformPkg/Scripts/Makefile

Modified: trunk/edk2/ArmPlatformPkg/Scripts/Makefile
===================================================================
--- trunk/edk2/ArmPlatformPkg/Scripts/Makefile  2015-05-05 07:29:56 UTC (rev 
17295)
+++ trunk/edk2/ArmPlatformPkg/Scripts/Makefile  2015-05-05 14:56:51 UTC (rev 
17296)
@@ -1,5 +1,5 @@
 #/* @file
-#  Copyright (c) 2011-2014, ARM Limited. All rights reserved.
+#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.
 #  
 #  This program and the accompanying materials                          
 #  are licensed and made available under the terms and conditions of the BSD 
License         
@@ -23,6 +23,11 @@
 ifeq ($(EDK2_DSC),"")
   $(error The Makfile macro 'EDK2_DSC' must be defined with an EDK2 DSC file.)
 endif
+ifeq 
("$(EDK2_DSC)","ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc")
+  BUILD_FIP=1
+  BUILD_PATH=$(WORKSPACE)/Build/ArmVExpress-FVP-AArch64
+  UEFI_BIN=FVP_AARCH64_EFI.fd
+endif
 
 ifeq ("$(OS)","Windows_NT")
 export WORKSPACE?=$(PWD)
@@ -39,12 +44,31 @@
 
 EDK2_CONF = Conf/BuildEnv.sh Conf/build_rule.txt Conf/target.txt 
Conf/tools_def.txt
 
+#
+# FIP Support
+#
+ifeq ($(BUILD_FIP),"1")
+  ifeq ($(FIP_BIN),"")
+    $(info Define location of the FIP to automatically update the package 
after building UEFI.)
+  endif
+endif
+
 all: $(EDK2_CONF)
 ifeq ("$(OS)","Windows_NT")
        build -a $(EDK2_ARCH) -p $(EDK2_DSC) -t $(EDK2_TOOLCHAIN) -b 
$(EDK2_BUILD) $(EDK2_MACROS)
 else
        . ./edksetup.sh; build -a $(EDK2_ARCH) -p $(EDK2_DSC) -t 
$(EDK2_TOOLCHAIN) -b $(EDK2_BUILD) $(EDK2_MACROS)
 endif
+ifeq ("$(BUILD_FIP)","1")
+ifneq ($(FIP_BIN),"")
+       $(SILENT)which fip_create ; \
+       if [ $$? -ne 0 ]; then \
+         $(ECHO) "Warning: 'fip_create' tool is not in the PATH. The UEFI 
binary will not be added in the Firmware Image Package (FIP)."; \
+       else \
+         fip_create --bl33 
$(BUILD_PATH)/$(EDK2_BUILD)_$(EDK2_TOOLCHAIN)/FV/$(UEFI_BIN) --dump $(FIP_BIN); 
\
+       fi
+endif
+endif
 
 $(EDK2_CONF):
 ifeq ("$(OS)","Windows_NT")


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to