Sync BaseTool trunk (version r2640) into EDKII BaseTools.

Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Liu, Jiang A <jiang.a.liu@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15089 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Gao, Liming
2014-01-10 05:25:50 +00:00
committed by lgao4
parent 8d9e16963e
commit 2bc3256ca6
62 changed files with 906 additions and 265 deletions

View File

@@ -1,6 +1,6 @@
/** @file
Copyright (c) 1999 - 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 1999 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
distribution. The full text of the license may be found at
@@ -237,6 +237,7 @@ Returns:
PCI_3_0_DATA_STRUCTURE *PciDs30;
UINT32 Index;
UINT8 ByteCheckSum;
UINT16 CodeType;
PciDs23 = NULL;
PciDs30 = NULL;
@@ -337,8 +338,10 @@ Returns:
//
if (mOptions.Pci23 == 1) {
PciDs23->ImageLength = (UINT16) (TotalSize / 512);
CodeType = PciDs23->CodeType;
} else {
PciDs30->ImageLength = (UINT16) (TotalSize / 512);
CodeType = PciDs30->CodeType;
}
//
@@ -359,14 +362,16 @@ Returns:
}
}
ByteCheckSum = 0;
for (Index = 0; Index < FileSize - 1; Index++) {
ByteCheckSum = (UINT8) (ByteCheckSum + Buffer[Index]);
}
if (CodeType != PCI_CODE_TYPE_EFI_IMAGE) {
ByteCheckSum = 0;
for (Index = 0; Index < FileSize - 1; Index++) {
ByteCheckSum = (UINT8) (ByteCheckSum + Buffer[Index]);
}
Buffer[FileSize - 1] = (UINT8) ((~ByteCheckSum) + 1);
if (mOptions.Verbose) {
VerboseMsg(" Checksum = %02x\n\n", Buffer[FileSize - 1]);
Buffer[FileSize - 1] = (UINT8) ((~ByteCheckSum) + 1);
if (mOptions.Verbose) {
VerboseMsg(" Checksum = %02x\n\n", Buffer[FileSize - 1]);
}
}
//
@@ -449,6 +454,8 @@ Returns:
UINT16 MachineType;
UINT16 SubSystem;
UINT32 HeaderPadBytes;
UINT32 PadBytesBeforeImage;
UINT32 PadBytesAfterImage;
//
// Try to open the input file
@@ -559,6 +566,18 @@ Returns:
TotalSize = (TotalSize + 0x200) &~0x1ff;
}
//
// Workaround:
// If compressed, put the pad bytes after the image,
// else put the pad bytes before the image.
//
if ((InFile->FileFlags & FILE_FLAG_COMPRESS) != 0) {
PadBytesBeforeImage = 0;
PadBytesAfterImage = TotalSize - (FileSize + HeaderSize);
} else {
PadBytesBeforeImage = TotalSize - (FileSize + HeaderSize);
PadBytesAfterImage = 0;
}
//
// Check size
//
if (TotalSize > MAX_OPTION_ROM_SIZE) {
@@ -581,7 +600,7 @@ Returns:
RomHdr.EfiSignature = EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE;
RomHdr.EfiSubsystem = SubSystem;
RomHdr.EfiMachineType = MachineType;
RomHdr.EfiImageHeaderOffset = (UINT16) HeaderSize;
RomHdr.EfiImageHeaderOffset = (UINT16) (HeaderSize + PadBytesBeforeImage);
RomHdr.PcirOffset = (UINT16) (sizeof (RomHdr) + HeaderPadBytes);
//
// Set image as compressed or not
@@ -686,11 +705,18 @@ Returns:
goto BailOut;
}
}
//
// Keep track of how many bytes left to write
//
TotalSize -= HeaderSize;
//
// Pad head to make it a multiple of 512 bytes
//
while (PadBytesBeforeImage > 0) {
if (putc (~0, OutFptr) == EOF) {
Error (NULL, 0, 2000, "Failed to write trailing pad bytes output file!", NULL);
Status = STATUS_ERROR;
goto BailOut;
}
PadBytesBeforeImage--;
}
//
// Now dump the input file's contents to the output file
//
@@ -700,18 +726,17 @@ Returns:
goto BailOut;
}
TotalSize -= FileSize;
//
// Pad the rest of the image to make it a multiple of 512 bytes
//
while (TotalSize > 0) {
while (PadBytesAfterImage > 0) {
if (putc (~0, OutFptr) == EOF) {
Error (NULL, 0, 2000, "Failed to write trailing pad bytes output file!", NULL);
Status = STATUS_ERROR;
goto BailOut;
}
TotalSize--;
PadBytesAfterImage--;
}
BailOut:
@@ -1205,7 +1230,7 @@ Returns:
//
// Copyright declaration
//
fprintf (stdout, "Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.\n\n");
fprintf (stdout, "Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.\n\n");
//
// Details Option

View File

@@ -458,9 +458,9 @@ Returns:
case 0:
//
// 8 byte alignment, mini alignment requirement for FFS file.
// 1 byte alignment
//
*Alignment = 3;
*Alignment = 0;
break;
case 1:
@@ -2212,7 +2212,8 @@ Returns:
mFvDataInfo.FvNameGuid.Data4[7]);
}
if (CompareGuid (&mFvDataInfo.FvFileSystemGuid, &mEfiFirmwareFileSystem2Guid) == 0) {
if (CompareGuid (&mFvDataInfo.FvFileSystemGuid, &mEfiFirmwareFileSystem2Guid) == 0 ||
CompareGuid (&mFvDataInfo.FvFileSystemGuid, &mEfiFirmwareFileSystem3Guid) == 0) {
mFvDataInfo.IsPiFvImage = TRUE;
}

View File

@@ -168,7 +168,7 @@ Abstract:
// VTF (Firmware Volume Top File) signatures
//
#define IA32_X64_VTF_SIGNATURE_OFFSET 0x14
#define IA32_X64_VTF0_SIGNATURE EFI_SIGNATURE_32('V','T','F',0)
#define IA32_X64_VTF0_SIGNATURE SIGNATURE_32('V','T','F',0)
//
// Defines to calculate the offset for PEI CORE entry points

View File

@@ -14,4 +14,4 @@
**/
#define __BUILD_VERSION "Build 2610"
#define __BUILD_VERSION "Build 2640"

View File

@@ -111,7 +111,7 @@ typedef struct {
EFI_FV_BLOCK_MAP_ENTRY BlockMap[1];
} EFI_FIRMWARE_VOLUME_HEADER;
#define EFI_FVH_SIGNATURE EFI_SIGNATURE_32 ('_', 'F', 'V', 'H')
#define EFI_FVH_SIGNATURE SIGNATURE_32 ('_', 'F', 'V', 'H')
///
/// Firmware Volume Header Revision definition

View File

@@ -1,7 +1,7 @@
/** @file
Defines data types and constants introduced in UEFI.
Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
@@ -146,10 +146,10 @@ typedef union {
//
// Define macros to build data structure signatures from characters.
//
#define EFI_SIGNATURE_16(A, B) ((A) | (B << 8))
#define EFI_SIGNATURE_32(A, B, C, D) (EFI_SIGNATURE_16 (A, B) | (EFI_SIGNATURE_16 (C, D) << 16))
#define EFI_SIGNATURE_64(A, B, C, D, E, F, G, H) \
(EFI_SIGNATURE_32 (A, B, C, D) | ((UINT64) (EFI_SIGNATURE_32 (E, F, G, H)) << 32))
#define SIGNATURE_16(A, B) ((A) | (B << 8))
#define SIGNATURE_32(A, B, C, D) (SIGNATURE_16 (A, B) | (SIGNATURE_16 (C, D) << 16))
#define SIGNATURE_64(A, B, C, D, E, F, G, H) \
(SIGNATURE_32 (A, B, C, D) | ((UINT64) (SIGNATURE_32 (E, F, G, H)) << 32))
//

View File

@@ -4,7 +4,7 @@
@bug Fix text - doc as defined in MSFT EFI specification.
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
@@ -648,7 +648,7 @@ typedef struct {
///
/// Debug Data Structure defined by Apple Mach-O to Coff utility
///
#define CODEVIEW_SIGNATURE_MTOC EFI_SIGNATURE_32('M', 'T', 'O', 'C')
#define CODEVIEW_SIGNATURE_MTOC SIGNATURE_32('M', 'T', 'O', 'C')
typedef struct {
UINT32 Signature; ///< "MTOC"
EFI_GUID MachOUuid;

View File

@@ -1,7 +1,7 @@
/** @file
Support for PCI 2.2 standard.
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
@@ -335,7 +335,7 @@ typedef union {
#pragma pack()
#define PCI_EXPANSION_ROM_HEADER_SIGNATURE 0xaa55
#define PCI_DATA_STRUCTURE_SIGNATURE EFI_SIGNATURE_32 ('P', 'C', 'I', 'R')
#define PCI_DATA_STRUCTURE_SIGNATURE SIGNATURE_32 ('P', 'C', 'I', 'R')
#define PCI_CODE_TYPE_PCAT_IMAGE 0x00
#define PCI_CODE_TYPE_EFI_IMAGE 0x03
#define EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED 0x0001

View File

@@ -2,7 +2,7 @@
VfrCompiler main class and main function.
Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -406,8 +406,8 @@ CVfrCompiler::Usage (
UINT32 Index;
CONST CHAR8 *Help[] = {
" ",
"VfrCompile version " VFR_COMPILER_VERSION __BUILD_VERSION VFR_COMPILER_UPDATE_TIME,
"Copyright (c) 2004-2011 Intel Corporation. All rights reserved.",
"VfrCompile version " VFR_COMPILER_VERSION __BUILD_VERSION,
"Copyright (c) 2004-2013 Intel Corporation. All rights reserved.",
" ",
"Usage: VfrCompile [options] VfrFile",
" ",

View File

@@ -23,8 +23,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "ParseInf.h"
#define PROGRAM_NAME "VfrCompile"
#define VFR_COMPILER_VERSION " 2.00 (UEFI 2.3.1)"
#define VFR_COMPILER_UPDATE_TIME " updated on 2011/07/15"
#define VFR_COMPILER_VERSION " 2.00 (UEFI 2.4) "
//
// This is how we invoke the C preprocessor on the VFR source file
// to resolve #defines, #includes, etc. To make C source files

View File

@@ -855,17 +855,6 @@ CFormPkg::DeclarePendingQuestion (
// Get VarStoreType
//
ReturnCode = lCVfrDataStorage.GetVarStoreId (FName, &Info.mVarStoreId);
if (ReturnCode == VFR_RETURN_UNDEFINED) {
lCVfrDataStorage.DeclareBufferVarStore (
FName,
LocalFormSetGuid,
&lCVfrVarDataTypeDB,
FName,
EFI_VARSTORE_ID_INVALID,
FALSE
);
ReturnCode = lCVfrDataStorage.GetVarStoreId (FName, &Info.mVarStoreId, LocalFormSetGuid);
}
if (ReturnCode != VFR_RETURN_SUCCESS) {
gCVfrErrorHandle.PrintMsg (pNode->mLineNo, FName, "Error", "Var Store Type is not defined");
return ReturnCode;