summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/Include/Library/BiosIdLib.h86
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.c98
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.inf33
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/PlatformDxe/PlatformDxe.inf5
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf7
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf7
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc2
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc2
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc2
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/PlatformSetupDxe/PlatformSetupDxe.inf3
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/MiscBiosVendorFunction.c49
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf8
-rw-r--r--Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat27
-rwxr-xr-xPlatform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh46
14 files changed, 100 insertions, 275 deletions
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/Include/Library/BiosIdLib.h b/Platform/Intel/Vlv2TbltDevicePkg/Include/Library/BiosIdLib.h
deleted file mode 100644
index bd08c9a8..00000000
--- a/Platform/Intel/Vlv2TbltDevicePkg/Include/Library/BiosIdLib.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*++
-
- Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
-
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
- BiosIdLib.h
-
-Abstract:
-
- BIOS ID library definitions.
-
- This library provides functions to get BIOS ID, VERSION, DATE and TIME
-
---*/
-
-#ifndef _BIOS_ID_LIB_H_
-#define _BIOS_ID_LIB_H_
-
-//
-// BIOS ID string format:
-//
-// $(BOARD_ID)$(BOARD_REV).$(OEM_ID).$(VERSION_MAJOR).$(BUILD_TYPE)$(VERSION_MINOR).YYMMDDHHMM
-//
-// Example: "TRFTCRB1.86C.0008.D03.0506081529"
-//
-#pragma pack(1)
-
-typedef struct {
- CHAR16 BoardId[7]; // "TRFTCRB"
- CHAR16 BoardRev; // "1"
- CHAR16 Dot1; // "."
- CHAR16 OemId[3]; // "86C"
- CHAR16 Dot2; // "."
- CHAR16 VersionMajor[4]; // "0008"
- CHAR16 Dot3; // "."
- CHAR16 BuildType; // "D"
- CHAR16 VersionMinor[2]; // "03"
- CHAR16 Dot4; // "."
- CHAR16 TimeStamp[10]; // "YYMMDDHHMM"
- CHAR16 NullTerminator; // 0x0000
-} BIOS_ID_STRING;
-
-#define MEM_IFWIVER_START 0x7E0000
-#define MEM_IFWIVER_LENGTH 0x1000
-
-typedef struct _MANIFEST_OEM_DATA{
- UINT32 Signature;
- unsigned char FillNull[0x39];
- UINT32 IFWIVersionLen;
- unsigned char IFWIVersion[32];
-}MANIFEST_OEM_DATA;
-
-//
-// A signature precedes the BIOS ID string in the FV to enable search by external tools.
-//
-typedef struct {
- UINT8 Signature[8]; // "$IBIOSI$"
- BIOS_ID_STRING BiosIdString; // "TRFTCRB1.86C.0008.D03.0506081529"
-} BIOS_ID_IMAGE;
-
-#pragma pack()
-
-/**
- This function returns the Version & Release Date and Time by getting and converting
- BIOS ID.
-
- @param[in] BiosVersion The Bios Version out of the conversion.
- @param[in] BiosReleaseDate The Bios Release Date out of the conversion.
- @param[in] BiosReleaseTime The Bios Release Time out of the conversion.
-
- @retval EFI_SUCCESS BIOS Version & Release Date and Time have been got successfully.
- @retval EFI_NOT_FOUND BiosId image is not found, and no parameter will be modified.
- @retval EFI_INVALID_PARAMETER All the parameters are NULL.
-
-**/
-EFI_STATUS
-GetBiosVersionDateTime (
- OUT CHAR16 *BiosVersion, OPTIONAL
- OUT CHAR16 *BiosReleaseDate, OPTIONAL
- OUT CHAR16 *BiosReleaseTime OPTIONAL
- );
-
-#endif
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.c b/Platform/Intel/Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.c
deleted file mode 100644
index f6ab3731..00000000
--- a/Platform/Intel/Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/*++
-
-Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved
-
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-Module Name:
-
- BiosIdLib.c
-
-Abstract:
-
- Boot service DXE BIOS ID library implementation.
-
- These functions in this file can be called during DXE and cannot be called during runtime
- or in SMM which should use a RT or SMM library.
-
---*/
-
-#include <PiDxe.h>
-#include <Library/BaseLib.h>
-
-#include <Library/BiosIdLib.h>
-
-/**
- This function returns the Version & Release Date and Time by getting and converting
- BIOS ID.
-
- @param BiosVersion The Bios Version out of the conversion.
- @param BiosReleaseDate The Bios Release Date out of the conversion.
- @param BiosReleaseTime - The Bios Release Time out of the conversion.
-
- @retval EFI_SUCCESS - BIOS Version & Release Date and Time have been got successfully.
- @retval EFI_NOT_FOUND - BiosId image is not found, and no parameter will be modified.
- @retval EFI_INVALID_PARAMETER - All the parameters are NULL.
-
-**/
-EFI_STATUS
-GetBiosVersionDateTime (
- OUT CHAR16 *BiosVersion, OPTIONAL
- OUT CHAR16 *BiosReleaseDate, OPTIONAL
- OUT CHAR16 *BiosReleaseTime OPTIONAL
- )
-{
- if ((BiosVersion == NULL) && (BiosReleaseDate == NULL) && (BiosReleaseTime == NULL)) {
- return EFI_INVALID_PARAMETER;
- }
-
- if (BiosVersion != NULL) {
- //
- // Fill the BiosVersion data from the BIOS ID.
- //
- StrCpy (BiosVersion, L"MNW2MAX1.X64.0084.D01");
- }
-
- if (BiosReleaseDate != NULL) {
- //
- // Fill the build timestamp date from the BIOS ID in the "MM/DD/YY" format.
- //
- BiosReleaseDate[0] = L'0';
- BiosReleaseDate[1] = L'1';
- BiosReleaseDate[2] = L'/';
-
- BiosReleaseDate[3] = L'0';
- BiosReleaseDate[4] = L'1';
- BiosReleaseDate[5] = L'/';
-
- //
- // Add 20 for SMBIOS table
- // Current Linux kernel will misjudge 09 as year 0, so using 2009 for SMBIOS table
- //
- BiosReleaseDate[6] = L'2';
- BiosReleaseDate[7] = L'0';
- BiosReleaseDate[8] = L'1';
- BiosReleaseDate[9] = L'9';
-
- BiosReleaseDate[10] = L'\0';
- }
-
- if (BiosReleaseTime != NULL) {
-
- //
- // Fill the build timestamp time from the BIOS ID in the "HH:MM" format.
- //
-
- BiosReleaseTime[0] = L'0';
- BiosReleaseTime[1] = L'0';
- BiosReleaseTime[2] = L':';
-
- BiosReleaseTime[3] = L'0';
- BiosReleaseTime[4] = L'0';
-
- BiosReleaseTime[5] = L'\0';
- }
-
- return EFI_SUCCESS;
-}
-
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.inf b/Platform/Intel/Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.inf
deleted file mode 100644
index 0d38d73a..00000000
--- a/Platform/Intel/Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.inf
+++ /dev/null
@@ -1,33 +0,0 @@
-#/*++
-#
-# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-# Module Name:
-#
-# BiosIdLib.inf
-#
-# Abstract:
-#
-# Component description file for BIOS ID library
-#
-#--*/
-[Defines]
- INF_VERSION = 0x00010005
- BASE_NAME = BiosIdLib
- FILE_GUID = 98546145-64F1-4d2e-814F-6BF963DB7930
- MODULE_TYPE = BASE
- VERSION_STRING = 1.0
- LIBRARY_CLASS = BiosIdLib
- PI_SPECIFICATION_VERSION = 0x0001000A
-
-[Sources]
- BiosIdLib.c
-
-[Packages]
- MdePkg/MdePkg.dec
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
- Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec
- Vlv2TbltDevicePkg/PlatformPkg.dec
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformDxe/PlatformDxe.inf b/Platform/Intel/Vlv2TbltDevicePkg/PlatformDxe/PlatformDxe.inf
index 9fee6913..88c9b36c 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformDxe/PlatformDxe.inf
+++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformDxe/PlatformDxe.inf
@@ -48,10 +48,11 @@
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
- Vlv2TbltDevicePkg/PlatformPkg.dec
- Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec
SecurityPkg/SecurityPkg.dec
CryptoPkg/CryptoPkg.dec
+ BoardModulePkg/BoardModulePkg.dec
+ Vlv2TbltDevicePkg/PlatformPkg.dec
+ Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec
[LibraryClasses]
BaseLib
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf
index c538fe4a..dd4550dd 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf
+++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf
@@ -382,6 +382,13 @@ APRIORI DXE {
INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
}
+#
+# gBiosIdGuid
+#
+FILE FREEFORM = C3E36D09-8294-4b97-A857-D5288FE33E28 {
+ SECTION RAW = $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/BiosId.bin
+ }
+
#
# EDK II Related Platform codes
#
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
index bd9d4159..b6e8e405 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
+++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
@@ -331,6 +331,13 @@ APRIORI DXE {
INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
}
+#
+# gBiosIdGuid
+#
+FILE FREEFORM = C3E36D09-8294-4b97-A857-D5288FE33E28 {
+ SECTION RAW = $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/BiosId.bin
+ }
+
#
# EDK II Related Platform codes
#
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
index 6317bc13..26c1caad 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
+++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
@@ -221,7 +221,7 @@
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
!endif
- BiosIdLib|Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.inf
+ BiosIdLib|BoardModulePkg/Library/BiosIdLib/DxeBiosIdLib.inf
CpuIA32Lib|Vlv2TbltDevicePkg/Library/CpuIA32Lib/CpuIA32Lib.inf
StallSmmLib|Vlv2TbltDevicePkg/Library/StallSmmLib/StallSmmLib.inf
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
index 8f69bb47..dc6d8b1b 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
+++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
@@ -219,7 +219,7 @@
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
!endif
- BiosIdLib|Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.inf
+ BiosIdLib|BoardModulePkg/Library/BiosIdLib/DxeBiosIdLib.inf
CpuIA32Lib|Vlv2TbltDevicePkg/Library/CpuIA32Lib/CpuIA32Lib.inf
StallSmmLib|Vlv2TbltDevicePkg/Library/StallSmmLib/StallSmmLib.inf
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
index d1463217..cbc87aa9 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
+++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
@@ -221,7 +221,7 @@
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
!endif
- BiosIdLib|Vlv2TbltDevicePkg/Library/BiosIdLib/BiosIdLib.inf
+ BiosIdLib|BoardModulePkg/Library/BiosIdLib/DxeBiosIdLib.inf
CpuIA32Lib|Vlv2TbltDevicePkg/Library/CpuIA32Lib/CpuIA32Lib.inf
StallSmmLib|Vlv2TbltDevicePkg/Library/StallSmmLib/StallSmmLib.inf
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformSetupDxe/PlatformSetupDxe.inf b/Platform/Intel/Vlv2TbltDevicePkg/PlatformSetupDxe/PlatformSetupDxe.inf
index 85e8b1e8..8ff24604 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformSetupDxe/PlatformSetupDxe.inf
+++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformSetupDxe/PlatformSetupDxe.inf
@@ -60,9 +60,10 @@
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
+ SecurityPkg/SecurityPkg.dec
+ BoardModulePkg/BoardModulePkg.dec
Vlv2TbltDevicePkg/PlatformPkg.dec
Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec #for PchAccess.h
- SecurityPkg/SecurityPkg.dec
[LibraryClasses]
BaseLib
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/MiscBiosVendorFunction.c b/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/MiscBiosVendorFunction.c
index fb4fa820..0fbd5ac0 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/MiscBiosVendorFunction.c
+++ b/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/MiscBiosVendorFunction.c
@@ -163,12 +163,6 @@ MISC_SMBIOS_TABLE_FUNCTION(MiscBiosVendor)
SMBIOS_TABLE_TYPE0 *SmbiosRecord;
EFI_SMBIOS_HANDLE SmbiosHandle;
EFI_MISC_BIOS_VENDOR *ForType0InputData;
- UINT16 UVerStr[32];
- UINTN LoopIndex;
- UINTN CopyIndex;
- MANIFEST_OEM_DATA *IFWIVerStruct;
- UINT8 *Data8 = NULL;
- UINT16 SpaceVer[2]={0x0020,0x0000};
UINT16 BIOSVersionTemp[100];
ForType0InputData = (EFI_MISC_BIOS_VENDOR *)RecordData;
@@ -208,49 +202,8 @@ MISC_SMBIOS_TABLE_FUNCTION(MiscBiosVendor)
TokenToGet = STRING_TOKEN (STR_MISC_BIOS_VERSION);
Version = SmbiosMiscGetString (TokenToGet);
- ZeroMem (UVerStr, 2*32);
- ZeroMem (BIOSVersionTemp, 2*100);
+ ZeroMem (BIOSVersionTemp, sizeof (BIOSVersionTemp));
StrCat (BIOSVersionTemp,Version);
- Data8 = AllocatePool (SECTOR_SIZE_4KB);
- ZeroMem (Data8, SECTOR_SIZE_4KB);
-
- Status = gBS->LocateProtocol (
- &gEfiSpiProtocolGuid,
- NULL,
- (VOID **)&mSpiProtocol
- );
- if (!EFI_ERROR(Status)) {
- //
- // Get data form SPI ROM.
- //
- Status = FlashRead (
- MEM_IFWIVER_START,
- Data8,
- SECTOR_SIZE_4KB,
- EnumSpiRegionAll
- );
- if (!EFI_ERROR(Status)) {
- for(LoopIndex = 0; LoopIndex <= SECTOR_SIZE_4KB; LoopIndex++) {
- IFWIVerStruct = (MANIFEST_OEM_DATA *)(Data8 + LoopIndex);
- if(IFWIVerStruct->Signature == SIGNATURE_32('$','F','U','D')) {
- DEBUG ((EFI_D_ERROR, "the IFWI Length is:%d\n", IFWIVerStruct->IFWIVersionLen));
- if(IFWIVerStruct->IFWIVersionLen < 32) {
- for(CopyIndex = 0; CopyIndex < IFWIVerStruct->IFWIVersionLen; CopyIndex++) {
- UVerStr[CopyIndex] = (UINT16)IFWIVerStruct->IFWIVersion[CopyIndex];
- }
- UVerStr[CopyIndex] = 0x0000;
- DEBUG ((EFI_D_ERROR, "The IFWI Version is :%s,the IFWI Length is:%d\n", UVerStr,IFWIVerStruct->IFWIVersionLen));
- StrCat(BIOSVersionTemp,SpaceVer);
- StrCat(BIOSVersionTemp,UVerStr);
- DEBUG ((EFI_D_ERROR, "The BIOS and IFWI Version is :%s\n", BIOSVersionTemp));
- }
- break;
- }
- }
- }
- }
- FreePool(Data8);
-
VerStrLen = StrLen(BIOSVersionTemp);
if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {
return EFI_UNSUPPORTED;
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf b/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
index 92b51b17..016fb53b 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
+++ b/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
@@ -81,12 +81,13 @@
MiscMemoryDeviceFunction.c
[Packages]
- MdeModulePkg/MdeModulePkg.dec
- Vlv2TbltDevicePkg/PlatformPkg.dec
MdePkg/MdePkg.dec
- Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec
+ MdeModulePkg/MdeModulePkg.dec
NetworkPkg/NetworkPkg.dec
UefiCpuPkg/UefiCpuPkg.dec
+ BoardModulePkg/BoardModulePkg.dec
+ Vlv2TbltDevicePkg/PlatformPkg.dec
+ Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec
[LibraryClasses]
HiiLib
@@ -120,7 +121,6 @@
gMemInfoProtocolGuid
gEfiTdtOperationProtocolGuid
gDxePchPlatformPolicyProtocolGuid
- gEfiSpiProtocolGuid
gEfiSimpleNetworkProtocolGuid
[Pcd]
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat b/Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat
index 5cae78bb..ffd67225 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat
+++ b/Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat
@@ -207,11 +207,15 @@ if defined VS140COMNTOOLS (
)
echo Ensuring correct build directory is present
+if not exist %WORKSPACE%\Build mkdir %WORKSPACE%\Build
if "%Arch%"=="IA32" (
+ if not exist %WORKSPACE%\Build\%PLATFORM_NAME%IA32 mkdir %WORKSPACE%\Build\%PLATFORM_NAME%IA32
set BUILD_PATH=%WORKSPACE%\Build\%PLATFORM_NAME%IA32\%TARGET%_%TOOL_CHAIN_TAG%
) else (
+ if not exist %WORKSPACE%\Build\%PLATFORM_NAME% mkdir %WORKSPACE%\Build\%PLATFORM_NAME%
set BUILD_PATH=%WORKSPACE%\Build\%PLATFORM_NAME%\%TARGET%_%TOOL_CHAIN_TAG%
)
+if not exist %BUILD_PATH% mkdir %BUILD_PATH%
echo Modifing Conf files for this build...
:: Remove lines with these tags from target.txt
@@ -235,6 +239,29 @@ echo MAX_CONCURRENT_THREAD_NUMBER = %build_threads% >> %WOR
move /Y %WORKSPACE%\Conf\target.txt.tmp %WORKSPACE%\Conf\target.txt >nul
::**********************************************************************
+:: Generate BIOS ID
+::**********************************************************************
+
+echo BOARD_ID = MNW2MAX > %BUILD_PATH%/BiosId.env
+echo BOARD_REV = 1 >> %BUILD_PATH%/BiosId.env
+if "%Arch%"=="IA32" (
+ echo BOARD_EXT = I32 >> %BUILD_PATH%/BiosId.env
+)
+if "%Arch%"=="X64" (
+ echo BOARD_EXT = X64 >> %BUILD_PATH%/BiosId.env
+)
+echo VERSION_MAJOR = 0090 >> %BUILD_PATH%/BiosId.env
+if "%TARGET%"=="DEBUG" (
+ echo BUILD_TYPE = D >> %BUILD_PATH%/BiosId.env
+)
+if "%TARGET%"=="RELEASE" (
+ echo BUILD_TYPE = R >> %BUILD_PATH%/BiosId.env
+)
+echo VERSION_MINOR = 01 >> %BUILD_PATH%/BiosId.env
+
+%WORKSPACE%\edk2-platforms\Platform\Intel\Tools\GenBiosId\GenBiosId.py -i %BUILD_PATH%/BiosId.env -o %BUILD_PATH%/BiosId.bin -ot %BUILD_PATH%/BiosId.txt
+
+::**********************************************************************
:: Build BIOS
::**********************************************************************
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh b/Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh
index aac85346..03fa0623 100755
--- a/Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh
+++ b/Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh
@@ -66,6 +66,7 @@ cd $CORE_PATH
make -C BaseTools
## Define platform specific environment variables.
+PLATFORM_NAME=Vlv2TbltDevicePkg
PLATFORM_PACKAGE=Vlv2TbltDevicePkg
PLATFORM_PKG_PATH=$PLATFORM_PATH/$PLATFORM_PACKAGE
config_file=$PLATFORM_PKG_PATH/PlatformPkgConfig.dsc
@@ -186,6 +187,51 @@ else
echo TARGET_ARCH = IA32 X64 >> $WORKSPACE/Conf/target.txt
fi
+
+## Set and Create $BUILD_PATH if necessary
+if [ ! -d ${WORKSPACE}/Build ]; then
+ mkdir ${WORKSPACE}/Build
+fi
+
+if [ $Arch == "IA32" ]; then
+ if [ ! -d ${WORKSPACE}/Build/${PLATFORM_NAME}IA32 ]; then
+ mkdir ${WORKSPACE}/Build/${PLATFORM_NAME}IA32
+ fi
+ BUILD_PATH=${WORKSPACE}/Build/${PLATFORM_NAME}IA32/${TARGET}_${TOOL_CHAIN_TAG}
+else
+ if [ ! -d ${WORKSPACE}/Build/${PLATFORM_NAME} ]; then
+ mkdir ${WORKSPACE}/Build/${PLATFORM_NAME}
+ fi
+ BUILD_PATH=${WORKSPACE}/Build/${PLATFORM_NAME}/${TARGET}_${TOOL_CHAIN_TAG}
+fi
+
+if [ ! -d $BUILD_PATH ]; then
+ mkdir $BUILD_PATH
+fi
+
+##**********************************************************************
+## Generate BIOS ID
+##**********************************************************************
+
+echo BOARD_ID = MNW2MAX > $BUILD_PATH/BiosId.env
+echo BOARD_REV = 1 >> $BUILD_PATH/BiosId.env
+if [ $Arch == "IA32" ]; then
+ echo BOARD_EXT = I32 >> $BUILD_PATH/BiosId.env
+fi
+if [ $Arch == "X64" ]; then
+ echo BOARD_EXT = X64 >> $BUILD_PATH/BiosId.env
+fi
+echo VERSION_MAJOR = 0090 >> $BUILD_PATH/BiosId.env
+if [ $TARGET == "DEBUG" ]; then
+ echo BUILD_TYPE = D >> $BUILD_PATH/BiosId.env
+fi
+if [ $TARGET == "RELEASE" ]; then
+ echo BUILD_TYPE = R >> $BUILD_PATH/BiosId.env
+fi
+echo VERSION_MINOR = 01 >> $BUILD_PATH/BiosId.env
+
+python $WORKSPACE/edk2-platforms/Platform/Intel/Tools/GenBiosId/GenBiosId.py -i $BUILD_PATH/BiosId.env -o $BUILD_PATH/BiosId.bin -ot $BUILD_PATH/BiosId.txt
+
##**********************************************************************
## Build BIOS
##**********************************************************************