+++ /dev/null
-#!/usr/bin/env bash
-##**********************************************************************
-## Function define
-##**********************************************************************
-function Usage() {
- echo
- echo "***************************************************************************"
- echo "Build BIOS rom for VLV platforms."
- echo
- echo "Usage: bld_vlv.bat PlatformType [Build Target]"
- echo
- echo
- echo " Platform Types: MNW2"
- echo " Build Targets: Debug, Release (default: Debug)"
- echo
- echo "***************************************************************************"
- echo "Press any key......"
- read
- exit 0
-}
-
-
-echo -e $(date)
-##**********************************************************************
-## Initial Setup
-##**********************************************************************
-#WORKSPACE=$(pwd)
-#build_threads=($NUMBER_OF_PROCESSORS)+1
-Build_Flags=
-exitCode=0
-Arch=X64
-SpiLock=0
-
-## Clean up previous build files.
-if [ -e $(pwd)/EDK2.log ]; then
- rm $(pwd)/EDK2.log
-fi
-
-if [ -e $(pwd)/Unitool.log ]; then
- rm $(pwd)/Unitool.log
-fi
-
-if [ -e $(pwd)/Conf/target.txt ]; then
- rm $(pwd)/Conf/target.txt
-fi
-
-if [ -e $(pwd)/Conf/BiosId.env ]; then
- rm $(pwd)/Conf/BiosId.env
-fi
-
-if [ -e $(pwd)/Conf/tools_def.txt ]; then
- rm $(pwd)/Conf/tools_def.txt
-fi
-
-if [ -e $(pwd)/Conf/build_rule.txt ]; then
- rm $(pwd)/Conf/build_rule.txt
-fi
-
-
-## Setup EDK environment. Edksetup puts new copies of target.txt, tools_def.txt, build_rule.txt in WorkSpace\Conf
-## Also run edksetup as soon as possible to avoid it from changing environment variables we're overriding
-. edksetup.sh BaseTools
-make -C BaseTools
-
-## Define platform specific environment variables.
-PLATFORM_PACKAGE=Vlv2TbltDevicePkg
-config_file=$WORKSPACE/$PLATFORM_PACKAGE/PlatformPkgConfig.dsc
-auto_config_inc=$WORKSPACE/$PLATFORM_PACKAGE/AutoPlatformCFG.txt
-
-## default ECP (override with /ECP flag)
-EDK_SOURCE=$WORKSPACE/EdkCompatibilityPkg
-
-## create new AutoPlatformCFG.txt file
-if [ -f "$auto_config_inc" ]; then
- rm $auto_config_inc
-fi
-touch $auto_config_inc
-
-##**********************************************************************
-## Parse command line arguments
-##**********************************************************************
-
-## Optional arguments
-for (( i=1; i<=$#; ))
- do
- if [ "$1" == "/?" ]; then
- Usage
- elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/Q" ]; then
- Build_Flags="$Build_Flags --quiet"
- shift
- elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/L" ]; then
- Build_Flags="$Build_Flags -j EKD2.log"
- shift
- elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/C" ]; then
- echo Removing previous build files ...
- if [ -d "Build" ]; then
- rm -r Build
- fi
- shift
- elif [ "$(echo $1 | tr 'a-z' 'A-Z')" == "/ECP" ]; then
- ECP_SOURCE=$WORKSPACE/EdkCompatibilityPkgEcp
- EDK_SOURCE=$WORKSPACE/EdkCompatibilityPkgEcp
- echo DEFINE ECP_BUILD_ENABLE = TRUE >> $auto_config_inc
- shift
- 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
- done
-
-
-
-
-
-## Required argument(s)
-if [ "$2" == "" ]; then
- Usage
-fi
-
-## Remove the values for Platform_Type and Build_Target from BiosIdX.env and stage in Conf
-if [ $Arch == "IA32" ]; then
- cp $PLATFORM_PACKAGE/BiosIdR.env Conf/BiosId.env
- echo DEFINE X64_CONFIG = FALSE >> $auto_config_inc
-else
- cp $PLATFORM_PACKAGE/BiosIdx64R.env Conf/BiosId.env
- echo DEFINE X64_CONFIG = TRUE >> $auto_config_inc
-fi
-sed -i '/^BOARD_ID/d' Conf/BiosId.env
-sed -i '/^BUILD_TYPE/d' Conf/BiosId.env
-
-
-
-## -- Build flags settings for each Platform --
-## AlpineValley (ALPV): SVP_PF_BUILD = TRUE, ENBDT_PF_BUILD = FALSE, TABLET_PF_BUILD = FALSE, BYTI_PF_BUILD = FALSE, IVI_PF_BUILD = FALSE
-## BayleyBay (BBAY): SVP_PF_BUILD = FALSE, ENBDT_PF_BUILD = TRUE, TABLET_PF_BUILD = FALSE, BYTI_PF_BUILD = FALSE, IVI_PF_BUILD = FALSE
-## BayLake (BLAK): SVP_PF_BUILD = FALSE, ENBDT_PF_BUILD = FALSE, TABLET_PF_BUILD = TRUE, BYTI_PF_BUILD = FALSE, IVI_PF_BUILD = FALSE
-## Bakersport (BYTI): SVP_PF_BUILD = FALSE, ENBDT_PF_BUILD = FALSE, TABLET_PF_BUILD = FALSE, BYTI_PF_BUILD = TRUE, IVI_PF_BUILD = FALSE
-## Crestview Hills (CVHS): SVP_PF_BUILD = FALSE, ENBDT_PF_BUILD = FALSE, TABLET_PF_BUILD = FALSE, BYTI_PF_BUILD = TRUE, IVI_PF_BUILD = TRUE
-## FFD8 (BLAK): SVP_PF_BUILD = FALSE, ENBDT_PF_BUILD = FALSE, TABLET_PF_BUILD = TRUE, BYTI_PF_BUILD = FALSE, IVI_PF_BUILD = FALSE
-echo "Setting $1 platform configuration and BIOS ID..."
-if [ "$(echo $1 | tr 'a-z' 'A-Z')" == "MNW2" ]; then
- echo BOARD_ID = MNW2MAX >> Conf/BiosId.env
- echo DEFINE ENBDT_PF_BUILD = TRUE >> $auto_config_inc
-else
- echo "Error - Unsupported PlatformType: $1"
- Usage
-fi
-
-Platform_Type=$1
-
-if [ "$(echo $2 | tr 'a-z' 'A-Z')" == "RELEASE" ]; then
- TARGET=RELEASE
- BUILD_TYPE=R
- echo BUILD_TYPE = R >> Conf/BiosId.env
-else
- TARGET=DEBUG
- BUILD_TYPE=D
- echo BUILD_TYPE = D >> Conf/BiosId.env
-fi
-
-
-##**********************************************************************
-## Additional EDK Build Setup/Configuration
-##**********************************************************************
-echo "Ensuring correct build directory is present for GenBiosId..."
-
-echo Modifing Conf files for this build...
-## Remove lines with these tags from target.txt
-sed -i '/^ACTIVE_PLATFORM/d' Conf/target.txt
-sed -i '/^TARGET /d' Conf/target.txt
-sed -i '/^TARGET_ARCH/d' Conf/target.txt
-sed -i '/^TOOL_CHAIN_TAG/d' Conf/target.txt
-sed -i '/^MAX_CONCURRENT_THREAD_NUMBER/d' Conf/target.txt
-
-gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}')
-case $gcc_version in
- 4.9.*|4.1[0-9].*|5.*.*|6.*.*)
- TARGET_TOOLS=GCC49
- ;;
- *)
- TARGET_TOOLS=GCC48
- ;;
-esac
-
-ACTIVE_PLATFORM=$PLATFORM_PACKAGE/PlatformPkgGcc"$Arch".dsc
-TOOL_CHAIN_TAG=$TARGET_TOOLS
-MAX_CONCURRENT_THREAD_NUMBER=1
-echo ACTIVE_PLATFORM = $ACTIVE_PLATFORM >> Conf/target.txt
-echo TARGET = $TARGET >> Conf/target.txt
-echo TOOL_CHAIN_TAG = $TOOL_CHAIN_TAG >> Conf/target.txt
-echo MAX_CONCURRENT_THREAD_NUMBER = $MAX_CONCURRENT_THREAD_NUMBER >> Conf/target.txt
-if [ $Arch == "IA32" ]; then
- echo TARGET_ARCH = IA32 >> Conf/target.txt
-else
- echo TARGET_ARCH = IA32 X64 >> Conf/target.txt
-fi
-
-##**********************************************************************
-## Build BIOS
-##**********************************************************************
-echo Skip "Running UniTool..."
-echo "Make GenBiosId Tool..."
-BUILD_PATH=Build/$PLATFORM_PACKAGE/"$TARGET"_"$TOOL_CHAIN_TAG"
-if [ ! -d "$BUILD_PATH/$Arch" ]; then
- mkdir -p $BUILD_PATH/$Arch
-fi
-if [ -e "$BUILD_PATH/$Arch/BiosId.bin" ]; then
- rm -f $BUILD_PATH/$Arch/BiosId.bin
-fi
-
-
-./$PLATFORM_PACKAGE/GenBiosId -i Conf/BiosId.env -o $BUILD_PATH/$Arch/BiosId.bin
-
-
-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
-##**********************************************************************
-
-echo Skip "Running fce..."
-
-echo Skip "Running KeyEnroll..."
-
-## Set the Board_Id, Build_Type, Version_Major, and Version_Minor environment variables
-VERSION_MAJOR=$(grep '^VERSION_MAJOR' Conf/BiosId.env | cut -d ' ' -f 3 | cut -c 1-4)
-VERSION_MINOR=$(grep '^VERSION_MINOR' Conf/BiosId.env | cut -d ' ' -f 3 | cut -c 1-2)
-BOARD_ID=$(grep '^BOARD_ID' Conf/BiosId.env | cut -d ' ' -f 3 | cut -c 1-7)
-BIOS_Name="$BOARD_ID"_"$Arch"_"$BUILD_TYPE"_"$VERSION_MAJOR"_"$VERSION_MINOR".ROM
-BIOS_ID="$BOARD_ID"_"$Arch"_"$BUILD_TYPE"_"$VERSION_MAJOR"_"$VERSION_MINOR"_GCC.bin
-SEC_VERSION=1.0.2.1060v5
-cat $IFWI_HEADER_FILE ../Vlv2Binaries/Vlv2SocBinPkg/SEC/$SEC_VERSION/VLV_SEC_REGION.bin ../Vlv2Binaries/Vlv2SocBinPkg/SEC/$SEC_VERSION/Vacant.bin $BUILD_PATH/FV/VLV.fd > ./$PLATFORM_PACKAGE/Stitch/$BIOS_ID
-
-
-echo Skip "Running BIOS_Signing ..."
-
-echo
-echo Build location: $BUILD_PATH
-echo BIOS ROM Created: $BIOS_Name
-echo
-echo -------------------- The EDKII BIOS build has successfully completed. --------------------
-echo