diff options
author | Star Zeng <star.zeng@intel.com> | 2015-08-24 01:42:37 +0000 |
---|---|---|
committer | lzeng14 <lzeng14@Edk2> | 2015-08-24 01:42:37 +0000 |
commit | 6eff5d22b4644852b8f05b55e366bb093844e892 (patch) | |
tree | b9944dbd1b3b05a7be9aa75bdc47a729dfb90d8a /BaseTools/Source/C/Common | |
parent | 4018f2057416bf47da0607b904f2c245eeefbf77 (diff) | |
download | edk2-platforms-6eff5d22b4644852b8f05b55e366bb093844e892.tar.xz |
BaseTools: Follow PI spec to update ExtendedSize in EFI_FFS_FILE_HEADER2
for FFS data above 16 bytes alignment requirement.
PI spec requires FFS header to be at 8 bytes alignment to FV header.
And, FFS data alignment requires the beginning of the file data must
be aligned on a particular boundary, such as 1, 16, 128 bytes or above.
If FFS data alignment requires to be above 16 bytes, and FFS header
must be at 8 byte alignment, so FFS header size must be multiple of 8.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18262 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'BaseTools/Source/C/Common')
-rw-r--r-- | BaseTools/Source/C/Common/FirmwareVolumeBuffer.c | 4 | ||||
-rw-r--r-- | BaseTools/Source/C/Common/FvLib.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/BaseTools/Source/C/Common/FirmwareVolumeBuffer.c b/BaseTools/Source/C/Common/FirmwareVolumeBuffer.c index 01d4e72a56..7988d8e43a 100644 --- a/BaseTools/Source/C/Common/FirmwareVolumeBuffer.c +++ b/BaseTools/Source/C/Common/FirmwareVolumeBuffer.c @@ -1,7 +1,7 @@ /** @file
EFI Firmware Volume routines which work on a Fv image in buffers.
-Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 1999 - 2015, 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
@@ -864,7 +864,7 @@ Returns: return 0;
}
if (Ffs->Attributes & FFS_ATTRIB_LARGE_FILE) {
- return ((EFI_FFS_FILE_HEADER2 *)Ffs)->ExtendedSize;
+ return (UINT32) ((EFI_FFS_FILE_HEADER2 *)Ffs)->ExtendedSize;
}
return FvBufExpand3ByteSize(Ffs->Size);
}
diff --git a/BaseTools/Source/C/Common/FvLib.c b/BaseTools/Source/C/Common/FvLib.c index 1b3c08bf16..938aa098f5 100644 --- a/BaseTools/Source/C/Common/FvLib.c +++ b/BaseTools/Source/C/Common/FvLib.c @@ -1,7 +1,7 @@ /** @file
These functions assist in parsing and manipulating a Firmware Volume.
-Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2015, 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
@@ -784,7 +784,7 @@ Returns: return 0;
}
if (FfsHeader->Attributes & FFS_ATTRIB_LARGE_FILE) {
- return ((EFI_FFS_FILE_HEADER2 *)FfsHeader)->ExtendedSize;
+ return (UINT32) ((EFI_FFS_FILE_HEADER2 *)FfsHeader)->ExtendedSize;
} else {
return GetLength(FfsHeader->Size);
}
|