alder_lake_bios/Intel/AlderLake/AlderLakeFspPkg/BuildFv.cmd

592 lines
31 KiB
Batchfile

@REM ******************************************************************************
@REM * Copyright (c) 2020, Insyde Software Corp. All Rights Reserved.
@REM *
@REM * You may not reproduce, distribute, publish, display, perform, modify, adapt,
@REM * transmit, broadcast, present, recite, release, license or otherwise exploit
@REM * any part of this publication in any form, by any means, without the prior
@REM * written permission of Insyde Software Corporation.
@REM *
@REM ******************************************************************************
@REM @file
@REM
@REM @copyright
@REM INTEL CONFIDENTIAL
@REM Copyright 2016 - 2021 Intel Corporation.
@REM
@REM The source code contained or described herein and all documents related to the
@REM source code ("Material") are owned by Intel Corporation or its suppliers or
@REM licensors. Title to the Material remains with Intel Corporation or its suppliers
@REM and licensors. The Material may contain trade secrets and proprietary and
@REM confidential information of Intel Corporation and its suppliers and licensors,
@REM and is protected by worldwide copyright and trade secret laws and treaty
@REM provisions. No part of the Material may be used, copied, reproduced, modified,
@REM published, uploaded, posted, transmitted, distributed, or disclosed in any way
@REM without Intel's prior express written permission.
@REM
@REM No license under any patent, copyright, trade secret or other intellectual
@REM property right is granted to or conferred upon you by disclosure or delivery
@REM of the Materials, either expressly, by implication, inducement, estoppel or
@REM otherwise. Any license under such intellectual property rights must be
@REM express and approved by Intel in writing.
@REM
@REM Unless otherwise agreed by Intel in writing, you may not remove or alter
@REM this notice or any other notice embedded in Materials by Intel or
@REM Intel's suppliers or licensors in any way.
@REM
@REM This file contains an 'Intel Peripheral Driver' and is uniquely identified as
@REM "Intel Reference Module" and is licensed for Intel CPUs and chipsets under
@REM the terms of your license agreement with Intel or your vendor. This file may
@REM be modified by the user, subject to additional terms of the license agreement.
@REM
@REM @par Specification
@REM
@echo off
set PLATFORM_SI_PACKAGE=ClientOneSiliconPkg
set FSP_PKG_NAME=AlderLakeFspPkg
set FSP_BIN_PKG_NAME=AlderLakeFspBinPkg
@if not defined PYTHON_COMMAND (
set PYTHON_COMMAND=py -3
)
@REM
@REM Parse input parameters
@REM
@set FspTargetOption=
@set BuildTypeFSP=
@set CatalogOption=
@set BuildHeaderOnly=FALSE
@set OUT_DIR=%WORKSPACE%\Build
@REM[-start-200710-IB10181004-add]REM
@set FSP_DEBUG=NO
@REM[-end-200710-IB10181004-add]REM
:ArgParse
if /I "%1" == "" (
goto Continue
) else if /I "%1" == "/h" (
goto Usage
) else if /I "%1" == "/?" (
goto Usage
) else if /I "%1" == "/clean" (
goto Clean
) else if /I "%1" == "/r" (
@set BuildTypeFSP=/r
) else if /I "%1" == "/tr" (
@set BuildTypeFSP=/tr
) else if /I "%1" == "/rp" (
@set BuildTypeFSP=/rp
) else if /I "%1" == "/d" (
@REM[-start-200710-IB10181004-add]REM
@set FSP_DEBUG=YES
@REM[-end-200710-IB10181004-add]REM
@set BuildTypeFSP=/d
) else if /I "%1" == "/catalog" (
@set CatalogOption=/catalog
) else if /I "%1" == "/header" (
@set BuildHeaderOnly=TRUE
) else if /I "%1" == "AlderLakeP" (
@set FspTargetOption=AlderLakeP
@REM[-start-200917-IB06462159-add]REM
@REM
@REM H2O code base needs to split different FspBinPkg for each sku.
@REM
set FSP_BIN_PKG_NAME=AlderLakePFspBinPkg
@REM[-end-200917-IB06462159-add]REM
) else if /I "%1" == "AlderLakeS" (
@set FspTargetOption=AlderLakeS
@REM[-start-200710-IB10181004-add]REM
) else if /I "%1" == "/ddt" (
@set BuildTypeFSP=/d
) else if /I "%1" == "/uefi64ut" (
@set BuildTypeFSP=/r
) else if /I "%1" == "/uefi64ddtut" (
@set BuildTypeFSP=/ddt
@REM [-start-201118-IB14630442-add]REM
) else if /I "%1" == "/perf" (
@set BuildTypeFSP=/r
@set FSP_BUILD_OPTION_PCD=%FSP_BUILD_OPTION_PCD% --pcd gAlderLakeFspPkgTokenSpaceGuid.PcdFspPerformanceEnable=TRUE
@REM [-end-201118-IB14630442-add]REM
) else (
@echo ERROR: %BuildTypeFSP% is not valid parameter.
goto Usage
)
@REM[-end-200710-IB10181004-add]REM
@shift
goto ArgParse
:Continue
@REM
@REM If any target option is not specified, AlderLake build by default
@REM
@if /I "%FspTargetOption%" == "" set FspTargetOption=AlderLake
@if not exist %WORKSPACE%\Conf mkdir %WORKSPACE%\Conf
@REM[-start-200820-IB06462153-modify]REM
@REM[-start-200710-IB10181004-modify]REM
@rem set GET_TIME_COMMAND=%PYTHON_COMMAND% %WORKSPACE_CORE%\BaseTools\Scripts\GetUtcDateTime.py
set GET_TIME_COMMAND=%WORKSPACE%\BaseTools\Bin\Win32\GetUtcDateTime.exe
@REM[-end-200710-IB10181004-modify]REM
@REM[-end-200820-IB06462153-modify]REM
@if /I "%NOTIMESTAMP%" == "1" (
echo Set time to zero.
set YYYY=0
set MMDD=0
set HHmm=0
) else (
echo Get UTC time as build time.
for /f %%a in ('%GET_TIME_COMMAND% --year') do set YYYY=%%a
for /f %%b in ('%GET_TIME_COMMAND% --date') do set MMDD=%%b
for /f %%c in ('%GET_TIME_COMMAND% --time') do set HHmm=%%c
)
echo %YYYY%
echo %MMDD%
echo %HHmm%
@echo off
@set TARGET_PLATFORM=AlderLake
pushd %WORKSPACE_SILICON%\%FSP_PKG_NAME%
@if /I "%FspTargetOption%" == "AlderLake" (
@REM Default AlderLake build
@echo Target CPU is %FspTargetOption%. Build on %FSP_PKG_NAME%
@echo Target PCH is %FspTargetOption%. Build on %FSP_PKG_NAME%
) else if /I "%FspTargetOption%" == "AlderLakeP" (
@REM AlderLakeP build
set FSP_BUILD_OPTION_PCD=%FSP_BUILD_OPTION_PCD% --pcd gSiPkgTokenSpaceGuid.PcdAdlLpSupport=TRUE
@echo Target CPU is AlderLake. Build on %FSP_PKG_NAME%
@echo Target PCH is AlderLakeP. Build on %FSP_PKG_NAME%
) else if /I "%FspTargetOption%" == "AlderLakeS" (
@REM AlderLakeS build
set FSP_BUILD_OPTION_PCD=%FSP_BUILD_OPTION_PCD% --pcd gSiPkgTokenSpaceGuid.PcdAdlLpSupport=FALSE
@echo Target CPU is AlderLake. Build on %FSP_PKG_NAME%
@echo Target PCH is AlderLakeS. Build on %FSP_PKG_NAME%
) else (
@REM Default AlderLakeS build
@echo Target CPU is AlderLake. Build on %FSP_PKG_NAME%
@echo Target PCH is AlderLakeS. Build on %FSP_PKG_NAME%
)
popd
@REM
@REM SiPkg DEC file check
@REM
@set SIPKG_DEC=%WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\SiPkg.dec
@if not exist %SIPKG_DEC% (
@echo "Error: %SIPKG_DEC% does not exist"
@exit /b 1
)
if /I "%CatalogOption%" == "/catalog" (
%PYTHON_COMMAND% --version
if not %ERRORLEVEL% == 0 (
echo.
echo !!! ERROR !!! Catalog feature requirement issue: PYTHON_COMMAND is not defined and py -3 is invalid.
echo.
goto :PreBuildFail
) else (
call %PYTHON_COMMAND% -c "import sys;print(sys.executable.split('python.exe')[0])" > Output
set /p PYTHON_DIR= < Output
del Output
)
@if exist %WORKSPACE_COMMON%\%PLATFORM_SI_PACKAGE%\Tools\Catalog\CatalogEncoder.py (
set CATALOG_ENCODER=%WORKSPACE_COMMON%\%PLATFORM_SI_PACKAGE%\Tools\Catalog\CatalogEncoder.py
) else (
echo.
echo !!! ERROR !!! Catalog feature requirement issue: CatalogEncoder.py is not found.
echo.
goto :PreBuildFail
)
set NUMBER_OF_BUILD_PROCESSORS=1
)
if /I "%BuildTypeFSP%"=="/r" goto ReleaseBuild
if /I "%BuildTypeFSP%"=="/tr" goto ReleaseTypeTest
if /I "%BuildTypeFSP%"=="/rp" goto ReleaseBuildPdb
if /I "%BuildTypeFSP%"=="/d" goto DebugBuild
if /I "%BuildTypeFSP%"=="" (
goto DebugBuild
) else (
echo.
echo ERROR: %BuildTypeFSP% is not valid parameter.
goto Usage
)
:Clean
echo Build Clean from FspPkg Start
if exist %OUT_DIR% rmdir %OUT_DIR% /s /q
@REM[-start-200722-IB06462126-modify]REM
if exist %WORKSPACE%\Conf\.cache rmdir %WORKSPACE%\Conf\.cache /s /q
@REM[-end-200722-IB06462126-modify]REM
if exist *.log del *.log /q /f
@REM[-start-210127-IB17040189-remove]REM
@REM if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\*.fd del %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\*.fd
@REM[-end-210127-IB17040189-remove]REM
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\*.bsf del %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\*.bsf
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FirmwareVersionInfo.h del %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FirmwareVersionInfo.h
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\Fsp*Upd.h del %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\Fsp*Upd.h
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\HobUsageDataHob.h del %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\HobUsageDataHob.h
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\MemInfoHob.h del %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\MemInfoHob.h
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\SmbiosCacheInfoHob.h del %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\SmbiosCacheInfoHob.h
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\SmbiosProcessorInfoHob.h del %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\SmbiosProcessorInfoHob.h
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\FspPkgPcdShare.dsc del %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\FspPkgPcdShare.dsc
if exist %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\Fsp*Upd.h del %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\Fsp*Upd.h
if exist %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\MemInfoHob.h del %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\MemInfoHob.h
set WORKSPACE=
set EDK_TOOLS_PATH=
echo Build Clean from FspPkg End
goto End
:ReleaseTypeTest
set BD_TARGET=RELEASE
set BD_MACRO=-D CFG_OUTDIR=%OUT_DIR% -D TARGET=%BD_TARGET% %EXT_BUILD_FLAGS%
set BD_ARGS=-p %WORKSPACE_SILICON%\%FSP_PKG_NAME%\%FSP_PKG_NAME%.dsc -b RELEASE %BD_MACRO% -a IA32 -a X64 -n %NUMBER_OF_PROCESSORS% -t %TOOL_CHAIN_TAG% -y ReportRelease.log -Y PCD -Y LIBRARY %VAR_BUILD_FLAGS%
set FSP_BUILD_TYPE=0x0001
set FSP_RELEASE_TYPE=0x0000
goto Build
:ReleaseBuildPdb
set FSP_BUILD_OPTION_PCD=%FSP_BUILD_OPTION_PCD% --pcd gAlderLakeFspPkgTokenSpaceGuid.PcdSymbolInReleaseEnable=TRUE
set BD_TARGET=RELEASE
set BD_MACRO=-D CFG_OUTDIR=%OUT_DIR% -D TARGET=%BD_TARGET% %EXT_BUILD_FLAGS%
set BD_ARGS=-p %WORKSPACE_SILICON%\%FSP_PKG_NAME%\%FSP_PKG_NAME%.dsc -b RELEASE %BD_MACRO% -a IA32 -a X64 -n %NUMBER_OF_PROCESSORS% -t %TOOL_CHAIN_TAG% -y ReportRelease.log -Y PCD -Y LIBRARY %VAR_BUILD_FLAGS%
set FSP_BUILD_TYPE=0x0001
set FSP_RELEASE_TYPE=0x0002
goto Build
:ReleaseBuild
set BD_TARGET=RELEASE
set BD_MACRO=-D CFG_OUTDIR=%OUT_DIR% -D TARGET=%BD_TARGET% %EXT_BUILD_FLAGS%
@REM[-start-200710-IB10181004-modify]REM
set BD_ARGS=-p %WORKSPACE_SILICON%\%FSP_PKG_NAME%\%FSP_PKG_NAME%.dsc -b RELEASE %BD_MACRO% -a IA32 -a X64 -n %NUMBER_OF_PROCESSORS% -t %TOOL_CHAIN_TAG% -y ReportRelease.log -Y PCD -Y LIBRARY %VAR_BUILD_FLAGS% -D FSP_DEBUG=%FSP_DEBUG%
@REM[-end-200710-IB10181004-modify]REM
set FSP_BUILD_TYPE=0x0001
set FSP_RELEASE_TYPE=0x0002
goto Build
:DebugBuild
set BD_TARGET=DEBUG
set BD_MACRO=-D CFG_OUTDIR=%OUT_DIR% -D TARGET=%BD_TARGET% %EXT_BUILD_FLAGS%
@REM[-start-200710-IB10181004-modify]REM
set BD_ARGS=-p %WORKSPACE_SILICON%\%FSP_PKG_NAME%\%FSP_PKG_NAME%.dsc -b DEBUG %BD_MACRO% -a IA32 -a X64 -n %NUMBER_OF_PROCESSORS% -t %TOOL_CHAIN_TAG% -y ReportDebug.log -Y PCD -Y LIBRARY %VAR_BUILD_FLAGS% -D FSP_DEBUG=%FSP_DEBUG%
@REM[-end-200710-IB10181004-modify]REM
set FSP_BUILD_TYPE=0x0000
set FSP_RELEASE_TYPE=0x0000
goto Build
:Build
call :PreBuild CALL_RET
if "%CALL_RET%"=="1" exit /b 1
@if /I "%BuildHeaderOnly%" == "TRUE" (
goto GenHeader
)
call build %BD_ARGS% %SI_BUILD_OPTION_PCD% %FSP_BUILD_OPTION_PCD%
if ERRORLEVEL 1 exit /b 1
call :PostBuild
goto End
:Usage
echo. ================================================================
@REM[-start-200710-IB10181004-modify]REM
echo Usage: "BuildFv.cmd [/h | /? | /r | /rp | /tr | /d | /ddt | /clean | /catalog | Target Platform] [/header]"
@REM[-end-200710-IB10181004-modify]REM
echo
echo Supported Target Platform :
echo AlderLake
echo
echo Note : AlderLake build by default if you don't put any Target Platform option.
echo Example :
echo - BuildFv.cmd AlderLake /r
echo
echo. ================================================================
exit /B 1
@REM :CopyBin
@REM @if exist %1\*.efi xcopy %1\*.efi %2 /D /U /Y > NUL
@REM @if exist %1\*.inf xcopy %1\*.inf %2 /D /U /Y > NUL
@REM @if exist %1\*.depex xcopy %1\*.depex %2 /D /U /Y > NUL
@REM goto:EOF
:PreBuild
echo Start of PreBuild ...
@if not exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include mkdir %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include
if exist %WORKSPACE_SILICON%\%FSP_PKG_NAME%\%FSP_PKG_NAME%.dsc attrib -r %WORKSPACE_SILICON%\%FSP_PKG_NAME%\%FSP_PKG_NAME%.dsc
set %~1=1
set FSP_T_UPD_GUID=34686CA3-34F9-4901-B82A-BA630F0714C6
set FSP_M_UPD_GUID=39A250DB-E465-4DD1-A2AC-E2BD3C0E2385
set FSP_S_UPD_GUID=CAE3605B-5B34-4C85-B3D7-27D54273C40F
@REM[-start-200710-IB10181004-modify]REM
@echo WORKSPACE_SILICON = %WORKSPACE_SILICON%
%PYTHON_COMMAND% %WORKSPACE_EDK_PLATFORM%\IntelFsp2Pkg\Tools\GenCfgOpt.py UPDTXT ^
%WORKSPACE_SILICON%\%FSP_PKG_NAME%\%FSP_PKG_NAME%.dsc ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV ^
%BD_MACRO% %SI_BUILD_OPTION_PCD% %FSP_BUILD_OPTION_PCD%
@REM[-end-200710-IB10181004-modify]REM
if "%ERRORLEVEL%"=="256" (
REM DSC is not changed, no need to recreate MAP and BIN file
) else (
if ERRORLEVEL 1 goto:PreBuildFail
echo UPD TXT file was generated successfully !
echo Generate VPD Header File ...
del /Q /f %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_T_UPD_GUID%.bin ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_T_UPD_GUID%.map 2>nul
del /Q /f %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_M_UPD_GUID%.bin ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_M_UPD_GUID%.map 2>nul
del /Q /f %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_S_UPD_GUID%.bin ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_S_UPD_GUID%.map 2>nul
call BPDG ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_T_UPD_GUID%.txt ^
-o %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_T_UPD_GUID%.bin ^
-m %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_T_UPD_GUID%.map
if ERRORLEVEL 1 goto:PreBuildFail
call BPDG ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_M_UPD_GUID%.txt ^
-o %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_M_UPD_GUID%.bin ^
-m %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_M_UPD_GUID%.map
if ERRORLEVEL 1 goto:PreBuildFail
call BPDG ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_S_UPD_GUID%.txt ^
-o %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_S_UPD_GUID%.bin ^
-m %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\%FSP_S_UPD_GUID%.map
if ERRORLEVEL 1 goto:PreBuildFail
)
@REM[-start-200710-IB10181004-modify]REM
%PYTHON_COMMAND% %WORKSPACE_EDK_PLATFORM%\IntelFsp2Pkg\Tools\GenCfgOpt.py HEADER ^
%WORKSPACE_SILICON%\%FSP_PKG_NAME%\%FSP_PKG_NAME%.dsc ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV ^
%WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\BootLoaderPlatformData.h ^
%BD_MACRO% %SI_BUILD_OPTION_PCD% %FSP_BUILD_OPTION_PCD%
@REM[-end-200710-IB10181004-modify]REM
if "%ERRORLEVEL%"=="256" (
REM No need to recreate header file
) else (
if ERRORLEVEL 1 goto:PreBuildFail
echo Vpd header file was generated successfully !
echo Generate BSF File ...
@REM[-start-201201-IB16740125-modify]REM Add temporarily for fsp build error in RC1451 (Intel coding error)
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.bsf DEL %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.bsf
@REM[-end-201201-IB16740125-modify]REM
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.bsf attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.bsf
@REM[-start-200710-IB10181004-modify]REM
%PYTHON_COMMAND% %WORKSPACE_EDK_PLATFORM%\IntelFsp2Pkg\Tools\GenCfgOpt.py GENBSF ^
%WORKSPACE_SILICON%\%FSP_PKG_NAME%\%FSP_PKG_NAME%.dsc ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV ^
%WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.bsf ^
%BD_MACRO% %SI_BUILD_OPTION_PCD% %FSP_BUILD_OPTION_PCD%
@REM[-end-200710-IB10181004-modify]REM
if ERRORLEVEL 1 goto:PreBuildFail
echo BSF file was generated successfully !
if exist %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FspUpd.h attrib -r %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FspUpd.h
if exist "%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspUpd.h" (
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspUpd.h %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FspUpd.h
)
if exist %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FsptUpd.h attrib -r %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FsptUpd.h
if exist "%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FsptUpd.h" (
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FsptUpd.h %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FsptUpd.h
)
if exist %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FspmUpd.h attrib -r %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FspmUpd.h
if exist "%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspmUpd.h" (
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspmUpd.h %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FspmUpd.h
)
if exist "%WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\SystemAgent\Include\MemInfoHob.h" (
copy /y %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\SystemAgent\Include\MemInfoHob.h %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\MemInfoHob.h
)
if exist %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FspsUpd.h attrib -r %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FspsUpd.h
if exist "%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspsUpd.h" (
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspsUpd.h %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Include\FspsUpd.h
)
if exist %WORKSPACE_CORE_SILICON%\IntelSiliconPkg\Include\IndustryStandard\FirmwareVersionInfo.h attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FirmwareVersionInfo.h
if exist "%WORKSPACE_CORE_SILICON%\IntelSiliconPkg\Include\IndustryStandard\FirmwareVersionInfo.h" (
copy /y %WORKSPACE_CORE_SILICON%\IntelSiliconPkg\Include\IndustryStandard\FirmwareVersionInfo.h %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\
)
)
:PreBuildRet
set %~1=0
echo End of PreBuild ...
echo.
goto:EOF
:PreBuildFail
del /q /f %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspUpd.h
del /q /f %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FsptUpd.h
del /q /f %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspmUpd.h
del /q /f %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspsUpd.h
echo.
(goto) 2>nul & endlocal & exit /b 1
goto:EOF
:PostBuild
echo Start of PostBuild ...
echo Patch FSP-T Image ...
@REM
@REM @todo Change FSP.fd to Fsp.fd
@REM
@REM[-start-200710-IB10181004-modify]REM
%PYTHON_COMMAND% %WORKSPACE_EDK_PLATFORM%\IntelFsp2Pkg\Tools\PatchFv.py ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV ^
FSP-T:FSP ^
"0x0000, _BASE_FSP-T_, @Temporary Base" ^
"<[0x0000]>+0x00AC, [<[0x0000]>+0x0020], @FSP-T Size" ^
"<[0x0000]>+0x00B0, [0x0000], @FSP-T Base" ^
"<[0x0000]>+0x00B4, ([<[0x0000]>+0x00B4] & 0xFFFFFFFF) | 0x0001, @FSP-T Image Attribute" ^
"<[0x0000]>+0x00B6, ([<[0x0000]>+0x00B6] & 0xFFFF0FFC) | 0x1000 | %FSP_BUILD_TYPE% | %FSP_RELEASE_TYPE%, @FSP-T Component Attribute" ^
"<[0x0000]>+0x00B8, 70BCF6A5-FFB1-47D8-B1AE-EFE5508E23EA:0x1C - <[0x0000]>, @FSP-T CFG Offset" ^
"<[0x0000]>+0x00BC, [70BCF6A5-FFB1-47D8-B1AE-EFE5508E23EA:0x14] & 0xFFFFFF - 0x001C, @FSP-T CFG Size" ^
"<[0x0000]>+0x00C4, FspSecCoreT:_TempRamInitApi - [0x0000], @TempRamInit API" ^
"<[0x0000]>+0x0100, 0x%YYYY%, @BuildTimeStamp" ^
"<[0x0000]>+0x0104, 0x%MMDD%, @BuildTimeStamp" ^
"<[0x0000]>+0x0108, 0x%HHmm%, @BuildTimeStamp" ^
"0x0000, 0x00000000, @Restore the value" ^
"FspSecCoreT:_FspInfoHeaderRelativeOff, FspSecCoreT:_AsmGetFspInfoHeader - {912740BE-2284-4734-B971-84B027353F0C:0x1C}, @FSP-T Header Offset"^
"FspSecCoreT:_SiFspInfoHeaderRelativeOff, FspSecCoreT:_SiAsmGetFspInfoHeader - {912740BE-2284-4734-B971-84B027353F0C:0x1C}, @FSP-T Header Offset"
@REM[-end-200710-IB10181004-modify]REM
if ERRORLEVEL 1 goto:PreBuildFail
echo Patch FSP-M Image ...
@REM
@REM @todo Change FSP.fd to Fsp.fd
@REM
@REM[-start-200710-IB10181004-modify]REM
%PYTHON_COMMAND% %WORKSPACE_EDK_PLATFORM%\IntelFsp2Pkg\Tools\PatchFv.py ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV ^
FSP-M:FSP ^
"0x0000, _BASE_FSP-M_, @Temporary Base" ^
"<[0x0000]>+0x00AC, [<[0x0000]>+0x0020], @FSP-M Size" ^
"<[0x0000]>+0x00B0, [0x0000], @FSP-M Base" ^
"<[0x0000]>+0x00B4, ([<[0x0000]>+0x00B4] & 0xFFFFFFFF) | 0x0001, @FSP-M Image Attribute" ^
"<[0x0000]>+0x00B6, ([<[0x0000]>+0x00B6] & 0xFFFF0FFC) | 0x2000 | %FSP_BUILD_TYPE% | %FSP_RELEASE_TYPE%, @FSP-M Component Attribute" ^
"<[0x0000]>+0x00B8, D5B86AEA-6AF7-40D4-8014-982301BC3D89:0x1C - <[0x0000]>, @FSP-M CFG Offset" ^
"<[0x0000]>+0x00BC, [D5B86AEA-6AF7-40D4-8014-982301BC3D89:0x14] & 0xFFFFFF - 0x001C, @FSP-M CFG Size" ^
"<[0x0000]>+0x00D0, FspSecCoreM:_FspMemoryInitApi - [0x0000], @MemoryInitApi API" ^
"<[0x0000]>+0x00D4, FspSecCoreM:_TempRamExitApi - [0x0000], @TempRamExit API" ^
"<[0x0000]>+0x0100, 0x%YYYY%, @BuildTimeStamp" ^
"<[0x0000]>+0x0104, 0x%MMDD%, @BuildTimeStamp" ^
"<[0x0000]>+0x0108, 0x%HHmm%, @BuildTimeStamp" ^
"FspSecCoreM:_FspPeiCoreEntryOff, PeiCore:__ModuleEntryPoint - [0x0000], @PeiCore Entry" ^
"0x0000, 0x00000000, @Restore the value" ^
"FspSecCoreM:_FspInfoHeaderRelativeOff, FspSecCoreM:_AsmGetFspInfoHeader - {912740BE-2284-4734-B971-84B027353F0C:0x1C}, @FSP-M Header Offset" ^
"FspGlobalDataInitPei:_FspInfoHeaderRelativeOff, FspGlobalDataInitPei:_AsmGetFspInfoHeader - {912740BE-2284-4734-B971-84B027353F0C:0x1C}, @FSP-M Header Offset"
@REM[-end-200710-IB10181004-modify]REM
if ERRORLEVEL 1 goto:PreBuildFail
echo Patch FSP-S Image ...
@REM
@REM @todo Change FSP.fd to Fsp.fd
@REM
@REM[-start-200710-IB10181004-modify]REM
%PYTHON_COMMAND% %WORKSPACE_EDK_PLATFORM%\IntelFsp2Pkg\Tools\PatchFv.py ^
%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV ^
FSP-S:FSP ^
"0x0000, _BASE_FSP-S_, @Temporary Base" ^
"<[0x0000]>+0x00AC, [<[0x0000]>+0x0020], @FSP-S Size" ^
"<[0x0000]>+0x00B0, [0x0000], @FSP-S Base" ^
"<[0x0000]>+0x00B4, ([<[0x0000]>+0x00B4] & 0xFFFFFFFF) | 0x0001, @FSP-S Image Attribute" ^
"<[0x0000]>+0x00B6, ([<[0x0000]>+0x00B6] & 0xFFFF0FFC) | 0x3000 | %FSP_BUILD_TYPE% | %FSP_RELEASE_TYPE%, @FSP-S Component Attribute" ^
"<[0x0000]>+0x00B8, E3CD9B18-998C-4F76-B65E-98B154E5446F:0x1C - <[0x0000]>, @FSP-S CFG Offset" ^
"<[0x0000]>+0x00BC, [E3CD9B18-998C-4F76-B65E-98B154E5446F:0x14] & 0xFFFFFF - 0x001C, @FSP-S CFG Size" ^
"<[0x0000]>+0x00D8, Fsp22SecCoreS:_FspSiliconInitApi - [0x0000], @SiliconInit API" ^
"<[0x0000]>+0x00CC, Fsp22SecCoreS:_NotifyPhaseApi - [0x0000], @NotifyPhase API" ^
"<[0x0000]>+0x00DC, Fsp22SecCoreS:_FspMultiPhaseSiInitApi - [0x0000], @FspMultiPhaseSiInitApi API" ^
"<[0x0000]>+0x0100, 0x%YYYY%, @BuildTimeStamp" ^
"<[0x0000]>+0x0104, 0x%MMDD%, @BuildTimeStamp" ^
"<[0x0000]>+0x0108, 0x%HHmm%, @BuildTimeStamp" ^
"0x0000, 0x00000000, @Restore the value" ^
"Fsp22SecCoreS:_FspInfoHeaderRelativeOff, Fsp22SecCoreS:_AsmGetFspInfoHeader - {912740BE-2284-4734-B971-84B027353F0C:0x1C}, @FSP-S Header Offset"
@REM[-end-200710-IB10181004-modify]REM
if ERRORLEVEL 1 goto:PreBuildFail
:GenHeader
@REM Copy FSP binary to AlderLakeFspBinPkg
echo on
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.bsf attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.bsf
@REM[-start-200710-IB10181004-modify]REM
@rem if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.fd attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.fd
@rem copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FSP.fd %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.fd
@if "%BD_TARGET%" == "RELEASE" (
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.fd attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.fd
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FSP.fd %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp.fd
)
@if "%BD_TARGET%" == "DEBUG" (
@if "%FSP_DEBUG%" == "YES" (
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp_Efidebug.fd attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp_Efidebug.fd
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FSP.fd %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp_Efidebug.fd
) else (
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp_Ddt.fd attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp_Ddt.fd
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FSP.fd %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Fsp_Ddt.fd
)
)
@REM[-end-200710-IB10181004-modify]REM
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FspUpd.h attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FspUpd.h
if exist "%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspUpd.h" (
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspUpd.h %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\
)
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FsptUpd.h attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FsptUpd.h
if exist "%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FsptUpd.h" (
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FsptUpd.h %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\
)
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FspmUpd.h attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FspmUpd.h
if exist "%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspmUpd.h" (
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspmUpd.h %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\
)
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FspsUpd.h attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\FspsUpd.h
if exist "%OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspsUpd.h" (
copy /y %OUT_DIR%\%FSP_PKG_NAME%\%BD_TARGET%_%TOOL_CHAIN_TAG%\FV\FspsUpd.h %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\
)
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\MemInfoHob.h attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\MemInfoHob.h
if exist "%WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\SystemAgent\Include\MemInfoHob.h" (
copy /y %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\SystemAgent\Include\MemInfoHob.h %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\
)
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\SmbiosCacheInfoHob.h attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\SmbiosCacheInfoHob.h
if exist "%WORKSPACE_COMMON%\%PLATFORM_SI_PACKAGE%\Include\SmbiosCacheInfoHob.h" (
copy /y %WORKSPACE_COMMON%\%PLATFORM_SI_PACKAGE%\Include\SmbiosCacheInfoHob.h %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\
)
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\SmbiosProcessorInfoHob.h attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\SmbiosProcessorInfoHob.h
if exist "%WORKSPACE_COMMON%\%PLATFORM_SI_PACKAGE%\Include\SmbiosProcessorInfoHob.h" (
copy /y %WORKSPACE_COMMON%\%PLATFORM_SI_PACKAGE%\Include\SmbiosProcessorInfoHob.h %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\
)
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\HobUsageDataHob.h attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\HobUsageDataHob.h
if exist %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Include\HobUsageDataHob.h (
copy /y %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Include\HobUsageDataHob.h %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\Include\
)
if exist %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\FspPkgPcdShare.dsc attrib -r %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\FspPkgPcdShare.dsc
if exist %WORKSPACE_SILICON%\%FSP_PKG_NAME%\FspPkgPcdShare.dsc (
copy /y %WORKSPACE_SILICON%\%FSP_PKG_NAME%\FspPkgPcdShare.dsc %WORKSPACE_SILICON%\%FSP_BIN_PKG_NAME%\
)
@if /I "%BuildHeaderOnly%" == "TRUE" (
call %WORKSPACE_SILICON%\%PLATFORM_SI_PACKAGE%\Fsp\Tools\GenPartialHeader\partial_header.bat^
%WORKSPACE_SILICON%/%FSP_BIN_PKG_NAME%/Include^
%WORKSPACE_SILICON%/%FSP_PKG_NAME%/Upd/UpdList
if ERRORLEVEL 1 goto:PreBuildFail
)
echo off
echo Patch is DONE
goto:EOF
:End
echo.