From 83586b5d50f10a57d02233c066a92cb88718f5a1 Mon Sep 17 00:00:00 2001 From: Tim He Date: Thu, 12 Nov 2015 08:33:12 +0000 Subject: [PATCH] Vlv2TbltDevicePkg: Sync the branch changes to Trunk, Add 'yL' build option to enable SPI lock for MinnowBoard Max. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tim He Reviewed-by: David Wei git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18777 6f19259b-4bc3-4df7-8a09-765794883524 --- Vlv2TbltDevicePkg/Build_IFWI.bat | 15 ++++++++------- Vlv2TbltDevicePkg/Build_IFWI.sh | 6 +++++- .../Stitch/Gcc/NvStorageVariable.bin | Bin 253952 -> 253952 bytes .../Stitch/IFWIHeader/IFWI_HEADER_SPILOCK.bin | Bin 0 -> 4096 bytes Vlv2TbltDevicePkg/Stitch/IFWIStitch.bat | 17 +++++++++++++++-- Vlv2TbltDevicePkg/bld_vlv.sh | 13 ++++++++++++- 6 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 Vlv2TbltDevicePkg/Stitch/IFWIHeader/IFWI_HEADER_SPILOCK.bin diff --git a/Vlv2TbltDevicePkg/Build_IFWI.bat b/Vlv2TbltDevicePkg/Build_IFWI.bat index a07a826df0..e33a3bd172 100644 --- a/Vlv2TbltDevicePkg/Build_IFWI.bat +++ b/Vlv2TbltDevicePkg/Build_IFWI.bat @@ -86,6 +86,12 @@ if /i "%~1"=="/nB" ( shift goto OptLoop ) +if /i "%~1"=="/yL" ( + set Stitch_Flags=%Stitch_Flags% /yL + shift + goto OptLoop +) + :: Require 2 input parameters if "%~2"=="" goto Usage @@ -93,6 +99,7 @@ if "%~2"=="" goto Usage :: Assign required arguments set Platform_Type=%~1 set Build_Target=%~2 + if "%~3"=="" ( set "IFWI_Suffix= " ) else set "IFWI_Suffix=/S %~3" @@ -151,16 +158,10 @@ echo Script to build BIOS firmware and stitch the entire IFWI. echo. echo Usage: Build_IFWI.bat [options] PlatformType BuildTarget [IFWI Suffix] echo. -echo /q Quiet mode. Only display Fatal Errors (slightly faster) -echo /l Log a copy of the build output to EDK2.log echo /c CleanAll before building -echo /ecp ECP build enable -echo /src Build silicon source code (default binary) echo /x64 Set Arch to X64 (default: X64) echo /IA32 Set Arch to IA32 (default: X64) -echo /nG Do NOT update the GOP driver when stitching (ie keep src version) -echo /nM Do NOT update the Microcode when stitching (ie keep src version) -echo /nB Do NOT create a backup of BIOS.ROM before modifying it for Stitch +echo /yL Enable SPI lock echo. echo Platform Types: MNW2 echo Build Targets: Release, Debug diff --git a/Vlv2TbltDevicePkg/Build_IFWI.sh b/Vlv2TbltDevicePkg/Build_IFWI.sh index f5e499c2d2..4a11a1cba9 100755 --- a/Vlv2TbltDevicePkg/Build_IFWI.sh +++ b/Vlv2TbltDevicePkg/Build_IFWI.sh @@ -6,9 +6,10 @@ function Usage ( ) { echo echo "Script to build BIOS firmware and stitch the entire IFWI." echo - echo "Usage: Build_IFWI.bat PlatformType BuildTarget " + echo "Usage: Build_IFWI.bat [options] PlatformType BuildTarget " echo echo + echo " /yL [option] : Enable SPI lock" echo " Platform Types: MNW2" echo " Build Targets: Release, Debug" echo @@ -60,6 +61,9 @@ for (( i=1; i<=$#; )) elif [ "$1" == "/nV" ]; then Stitch_Flags="$Stitch_Flags /nV" shift + elif [ "$1" == "/yL" ]; then + Build_Flags="$Build_Flags /yL" + shift else break fi diff --git a/Vlv2TbltDevicePkg/Stitch/Gcc/NvStorageVariable.bin b/Vlv2TbltDevicePkg/Stitch/Gcc/NvStorageVariable.bin index 0882391d7d71cb89f7f4cf2bd6596ee70b0f7c06..6aa2bb5aa530caf0a4a7744a398b16076a9e957f 100644 GIT binary patch delta 162 zcmZoTz~69ye?kT$^Tdnt6FWA5>CF+04QyZ*8y^D$gAViNf9zWsH*a8^#>m0=|Np8` zdj^nlHUXey1kdJsoOWzLNfow<4K7&v*Zi0o!1K^?|P;#`vh zgxDrKi1JO&5xT(5xP_6`h~Wey10&<)enIKY9O6QZjEv2S677l-j6lq^T~UI0`(Xe# CR4&K> delta 226 zcmZoTz~69ye?kT$`^1a#6FWA5>CF+04QyZ*8y^D$!!*Xt|Jb)OvN5g-wP#?T9LTNA zB*V73jN6WF@&|Diu)4`25(~f#Rvw^+fXz20JQ*j;Npeh1lN6imAa#MCfq{|L2uLt6 zG6EGaPAnAPY$h$l$O<+RXf>-8NZ;g}60*E545#Mj&R|9w@`S{_y4m8FLl@-t#zT diff --git a/Vlv2TbltDevicePkg/Stitch/IFWIHeader/IFWI_HEADER_SPILOCK.bin b/Vlv2TbltDevicePkg/Stitch/IFWIHeader/IFWI_HEADER_SPILOCK.bin new file mode 100644 index 0000000000000000000000000000000000000000..f32b1df394cc8a2ff24d72cf5c2a363f2ab6c441 GIT binary patch literal 4096 zcmezW9~DF`{lL%6z{14FB*3k}pva)gz`%g4LWMy9C;|Z>aWISZKRYACe-;q?zdWjX zAWsTa1lhEKXG44fBw1L2gn$Ge!vaS}sNi9C28P4T3=Hl-J_rxIYe!u$8UmvsFd71* zAut*OqaiRF0;3@?8UmvsFd72Hhrl5PF$PuzR)zNtP}%@WCy0Z^72xs^zPtwmgQ$Y2 Yg2HYHpLm-Fzsmc-uI%7nul @@ -47,6 +48,12 @@ if /i "%~1"=="/nB" ( shift goto OptLoop ) +if /i "%~1"=="/yL" ( + set SpiLock=1 + shift + goto OptLoop +) + if /i "%~1"=="/B" ( if "%~2"=="" goto Usage if not exist %~2 echo BIOS not found. & goto Usage @@ -103,6 +110,11 @@ for /f "delims== tokens=1,2" %%i in (%Stitch_Config%) do ( ) ) +if %SpiLock% EQU 1 ( + set IFWI_HEADER_FILE=IFWIHeader\!IFWI_HEADER!_SPILOCK.bin +) else ( + set IFWI_HEADER_FILE=IFWIHeader\!IFWI_HEADER!.bin +) :: ********************************************************************** :: The Main Stitching Loop @@ -168,7 +180,7 @@ for %%i in (%BIOS_Names%) do ( echo. echo Stitching IFWI for !BIOS_Rom! ... echo --------------------------------------------------------------------------- - echo IFWI Header: !IFWI_HEADER!.bin, SEC version: !SEC_VERSION!, + echo IFWI Header: !IFWI_HEADER_FILE!, SEC version: !SEC_VERSION!, echo BIOS Version: !BIOS_Version! echo Platform Type: !Platform_Type!, IFWI Prefix: %BIOS_ID% @@ -178,7 +190,8 @@ for %%i in (%BIOS_Names%) do ( echo. echo Generating IFWI... %BIOS_ID%.bin echo. - copy /b/y IFWIHeader\!IFWI_HEADER!.bin + ..\..\Vlv2MiscBinariesPkg\SEC\!SEC_VERSION!\VLV_SEC_REGION.bin + IFWIHeader\Vacant.bin + !BIOS_Rom! %BIOS_ID%.bin + + copy /b/y !IFWI_HEADER_FILE! + ..\..\Vlv2MiscBinariesPkg\SEC\!SEC_VERSION!\VLV_SEC_REGION.bin + ..\..\Vlv2MiscBinariesPkg\SEC\!SEC_VERSION!\Vacant.bin + !BIOS_Rom! %BIOS_ID%.bin echo. echo =========================================================================== ) diff --git a/Vlv2TbltDevicePkg/bld_vlv.sh b/Vlv2TbltDevicePkg/bld_vlv.sh index ade96dbd74..5b2ea3fa0f 100755 --- a/Vlv2TbltDevicePkg/bld_vlv.sh +++ b/Vlv2TbltDevicePkg/bld_vlv.sh @@ -29,6 +29,7 @@ echo -e $(date) Build_Flags= exitCode=0 Arch=X64 +SpiLock=0 ## Clean up previous build files. if [ -e $(pwd)/EDK2.log ]; then @@ -104,6 +105,9 @@ for (( i=1; i<=$#; )) elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/X64" ]; then Arch=X64 shift + elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/YL" ]; then + SpiLock=1 + shift else break fi @@ -206,6 +210,13 @@ fi echo "Invoking EDK2 build..." build +if [ $SpiLock == "1" ]; then + IFWI_HEADER_FILE=./$PLATFORM_PACKAGE/Stitch/IFWIHeader/IFWI_HEADER_SPILOCK.bin +else + IFWI_HEADER_FILE=./$PLATFORM_PACKAGE/Stitch/IFWIHeader/IFWI_HEADER.bin +fi + +echo $IFWI_HEADER_FILE ##********************************************************************** ## Post Build processing and cleanup @@ -223,7 +234,7 @@ BIOS_Name="$BOARD_ID"_"$Arch"_"$BUILD_TYPE"_"$VERSION_MAJOR"_"$VERSION_MINOR".RO BIOS_ID="$BOARD_ID"_"$Arch"_"$BUILD_TYPE"_"$VERSION_MAJOR"_"$VERSION_MINOR"_GCC.bin cp -f $BUILD_PATH/FV/VLV.fd $WORKSPACE/$BIOS_Name SEC_VERSION=1.0.2.1067 -cat ./$PLATFORM_PACKAGE/Stitch/IFWIHeader/IFWI_HEADER.bin ./Vlv2MiscBinariesPkg/SEC/$SEC_VERSION/VLV_SEC_REGION.bin ./$PLATFORM_PACKAGE/Stitch/IFWIHeader/Vacant.bin $BIOS_Name > ./$PLATFORM_PACKAGE/Stitch/$BIOS_ID +cat $IFWI_HEADER_FILE ./Vlv2MiscBinariesPkg/SEC/$SEC_VERSION/VLV_SEC_REGION.bin ./Vlv2MiscBinariesPkg/SEC/$SEC_VERSION/Vacant.bin $BIOS_Name > ./$PLATFORM_PACKAGE/Stitch/$BIOS_ID echo Skip "Running BIOS_Signing ..." -- 2.39.2