BaseTools/VfrCompile: Avoid freeing freed memory in classes
For classes that contain dynamically allocated data members, copy
constructor and assignment operator should be implemented or both
operations should be prohibited to avoid freeing freed memory caused by
shallow copy.
This commit declares both copy constructor and assignment operator as
'private' for classes that contain dynamically allocated data members.
This will prevent freeing already freed memory.
Maurice Ma [Tue, 8 Nov 2016 06:44:01 +0000 (22:44 -0800)]
CorebootPayloadPkg: Fix typos in comments
- dirver -> driver
- futhure -> future
Cc: Maurice Ma <maurice.ma@intel.com> Cc: Prince Agyeman <prince.agyeman@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Maurice Ma <maurice.ma@intel.com>
hegdenag [Mon, 7 Nov 2016 08:40:48 +0000 (00:40 -0800)]
ShellPkg/Ping6: Add a note in help for TargetIp
'Ping6 TargetIp' is a valid command input but we bail out
when TargetIp is a link local address because we would want
the user to specify the NIC (via SourceIp) through which
he/she would want to ping to TargetIp. This patch updates
the help text to mention the same.
Cc: Ting Ye <ting.ye@intel.com> Cc: Qin Long <qin.long@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Qin Long <qin.long@intel.com>
Yonghong Zhu [Thu, 3 Nov 2016 03:16:29 +0000 (11:16 +0800)]
BaseTools: Add the support for character '<' and '>' in the map file
Current the regex for the symbol in the map file doesn't support the '<'
and '>' character, while user use Lambda Expression (C++11 feature), it
would generate the something like @V<lambda_xxx>@ in the map file which
cause build fail to parse the symbol in map file.
Ard Biesheuvel [Thu, 3 Nov 2016 17:29:01 +0000 (17:29 +0000)]
MdePkg/BaseMemoryLib*: check for zero length in ZeroMem ()
Unlike other string functions in this library, ZeroMem () does not
return early when the length of the input buffer is 0. So add the
same to ZeroMem () as well, for all implementations of BaseMemoryLib
living under MdePkg/
This fixes an issue with the ARM implementation of BaseMemoryLibOPtDxe,
whose InternalMemZeroMem code does not expect a length of 0, and always
writes at least a single byte.
Yonghong Zhu [Thu, 3 Nov 2016 07:44:17 +0000 (15:44 +0800)]
BaseTools: Fix the Windows GCC Build Failure with too long path
When path is too long, build tool will wrap them into resp.txt, then call
gcc @resp.txt. It will cause windows GCC build failure, because resp.txt
still uses windows directory separator \. This patch change the \ to /.
Dandan Bi [Fri, 28 Oct 2016 01:34:51 +0000 (09:34 +0800)]
IntelFrameworkModulePkg/BootMaint: Show "Change Boot order" page correctly
Some boot options may be deleted in the "Delete Boot Option page",
But the data BootOptionOrder in BmmFakeNvData may not be updated.
So when user enter the "Change Boot Order" page, we should not always
get the BootOptionOrder in BmmFakeNvData, it will result in incorrect
UI behaviors. When the Boot Options have been saved,
we should get the BootOptionOrder through function GetBootOrder.
For driver option codes need to do the same change.
This patch is to fix the issue in bugzilla:
https://bugzilla.tianocore.org/show_bug.cgi?id=39
Cc: Eric Dong <eric.dong@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
Jiewen Yao [Fri, 30 Sep 2016 07:45:50 +0000 (15:45 +0800)]
BaseTool/Pkcs7: Add TestRoot.cer.
We add this binary data file for TestRoot.cer.
So that a platform may include this default file in FDF,
to check if the platform is using default test key,
or different production key.
Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
Cinnamon Shia [Wed, 2 Nov 2016 02:40:34 +0000 (10:40 +0800)]
MdeModulePkg/PCD: Fix PcdGetNextToken may get a wrong PCD token
If there are two DynamicEx PCDs have the same PCD token number but
in different PCD token spaces, the PcdGetNextToken function may get
the wrong PCD token.
Liming Gao [Mon, 31 Oct 2016 05:27:19 +0000 (13:27 +0800)]
UefiCpuPkg PeiCpuExceptionHandlerLib: Add the missing nasm files in INF
All CpuExceptionHandlerLib library instances use nasm source files.
Cc: Reviewed-by: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Jeff Fan <jeff.fan@intel.com>
Liming Gao [Thu, 27 Oct 2016 06:50:54 +0000 (14:50 +0800)]
BaseTools LzmaCompress: Update LZMA to new 16.04 version
New version LZMA SDK improves the compression performance on windows OS,
and has no change on the compression ratio. I compress 8M FVMAIN image,
the compression time is reduced from 2.590s to 1.419s.
Ard Biesheuvel [Mon, 31 Oct 2016 15:43:49 +0000 (15:43 +0000)]
ArmPkg/CpuDxe: set DmaBufferAlignment according to CWG
The DmaBufferAlignment currently defaults to 4, which is dangerously
small and may result in lost data on platforms that perform non-coherent
DMA. So instead, take the CWG value from the cache info registers.
Qin Long [Tue, 1 Nov 2016 02:38:36 +0000 (10:38 +0800)]
CryptoPkg: Add PKCS5 PBKDF2 interface for password derivation.
Add one new API (Pkcs5HashPassword) to provide PKCS#5 v2.0 PBKDF2
support (Password based encryption key derivation function, specified
in RFC 2898).
Also update the Cryptest utility to include the new API testing (with
the test vector from RFC6070).
Cc: Ting Ye <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qin Long <qin.long@intel.com> Reviewed-by: Ting Ye <ting.ye@intel.com>
Qin Long [Tue, 1 Nov 2016 02:25:30 +0000 (10:25 +0800)]
CryptoPkg: Add xxxxHashAll APIs to facilitate the digest computation
Add new xxxxHashAll APIs to facilitate the digest computation of blob
data. New APIs include: Md4HashAll(), Md5HashAll(), Sha1HashAll(),
Sha256HashAll(), Sha384HashAll(), and Sha512HashAll().
The corresponding test cases were added in Cryptest utility.
Cc: Ting Ye <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qin Long <qin.long@intel.com> Reviewed-by: Ting Ye <ting.ye@intel.com>
Yonghong Zhu [Fri, 28 Oct 2016 01:09:48 +0000 (09:09 +0800)]
BaseTools: Fix a bug for tooldef class not include the newly Env
Prebuild script may update os.environ, but the tooldef class not include
the new ENV variables. so after the Launch prebuild script, we should
re-init the tooldef class to include the new ENV variables.
Yonghong Zhu [Fri, 28 Oct 2016 01:24:52 +0000 (09:24 +0800)]
BaseTools: Fix a bug for ExpandMacros to support mixed case ENV var
os.environ contains all environment variables uppercase on Windows which
cause the key in the self.MacroDictionary is uppercase, but the real
variable name maybe mixed case, eg:WINSDK81x86, then we can't find the
variable in the self.MacroDictionary.
Yonghong Zhu [Wed, 19 Oct 2016 09:09:43 +0000 (17:09 +0800)]
BaseTools: Fix the bug for OptionRom generation with different arch
The GenFds tool uses the same output for the same module with the
different arch, IA32 and X64 module will have the same output. The
solution is add the arch info in the output directory.
Jeff Fan [Tue, 1 Nov 2016 02:48:18 +0000 (10:48 +0800)]
UefiCpuPkg/LocalApicLib: Add EFIAPI for GetProcessorLocationByApicId()
We need to add EFIAPI for all interface service including library API.
Contributed-under: TianoCore Contribution Agreement 1.0 Cc: Leo Duran <leo.duran@amd.com> Cc: Michael Kinney <Michael.d.kinney@intel.com> Cc: Feng Tian <feng.tian@intel.com> Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Michael Kinney <Michael.d.kinney@intel.com> Reviewed-by: Leo Duran <leo.duran@amd.com>
GetProcessorLocation() is too generic and will conflict with the API defined in
Galileo Board Software Package v1.0.0.
This update is just to rename GetProcessorLocation() to one specific name
GetProcessorLocationByApicId().
Contributed-under: TianoCore Contribution Agreement 1.0 Cc: Leo Duran <leo.duran@amd.com> Cc: Michael Kinney <Michael.d.kinney@intel.com> Cc: Feng Tian <feng.tian@intel.com> Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Michael Kinney <Michael.d.kinney@intel.com> Reviewed-by: Leo Duran <leo.duran@amd.com>
Mudusuru, Giri P [Mon, 31 Oct 2016 16:56:35 +0000 (00:56 +0800)]
IntelSiliconPkg: Add SMBIOS data HOB GUID
Add gIntelSmbiosDataHobGuid used to publish SMBIOS data from PEI phase.
The HOB data format will be same as SMBIOS spec define formats for
Types 0 to 127 and OEM defined types for 128 to 255.
Generic library or DXE driver can add SMBIOS records using this HOB(s).
Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Michael Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Giri P Mudusuru <giri.p.mudusuru@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
Feng Tian [Mon, 31 Oct 2016 05:46:08 +0000 (13:46 +0800)]
MdeModulePkg/AtaAtapiPassThru: update AtaStatusBlock after cmd exec
AhciDumpPortStatus doesn't fully populate all the fields of
AtaStatusBlock after completing command execution, which may bring
issue if someone depends on the return status.
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
Leo Duran [Mon, 31 Oct 2016 19:42:57 +0000 (03:42 +0800)]
UefiCpuPkg: Move GetProcessorLocation() to LocalApicLib library
1) Remove SmmGetProcessorLocation() from PiSmmCpuDxeSmm driver.
2) Remove ExtractProcessorLocation() from MpInitLib library.
3) Add GetProcessorLocation() to BaseXApicLib and BaseXApicX2ApicLib.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leo Duran <leo.duran@amd.com> Signed-off-by: Michael Kinney <Michael.d.kinney@intel.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Michael Kinney <Michael.d.kinney@intel.com> Reviewed-by: Jeff Fan <jeff.fan@intel.com>
Tapan Shah [Fri, 28 Oct 2016 19:48:59 +0000 (12:48 -0700)]
ShellPkg: print only valid characters for file overwrite prompt
When copy command prompts to overwrite an existing file, pressing
backspace continuously removes everything including the shell prompt.
So print only valid characters for file overwrite prompt.
Ard Biesheuvel [Fri, 28 Oct 2016 15:10:16 +0000 (16:10 +0100)]
ArmPlatformPkg/ArmVExpressFastBootDxe: clean up code and comments
This module contains an implementation of the Android Fastboot Platform
protocol. So follow common Tianocore practice, and duplicate the per-method
comment blocks from the interface definition into the implementation.
In addition, let's make all methods and the procotol struct STATIC, given
that they are never referenced via external linkage.
Ard Biesheuvel [Fri, 28 Oct 2016 11:38:51 +0000 (12:38 +0100)]
ArmPlatformPkg/PrePi RVCT: use relative reference to mSystemMemoryEnd
Bring the RVCT version of the PrePi entry point code in line with the
GCC version, by using a relative rather than an absolute reference to
the mSystemMemoryEnd variable.
Ard Biesheuvel [Fri, 28 Oct 2016 11:36:19 +0000 (12:36 +0100)]
ArmPkg RVCT: add ADRL/LDRL macro equivalents
The GCC ARM builds have access to ADRL/LDRL macros that emit relative
symbol references, i.e., references that do not require fixing up at
load time (or FV generation time for XIP modules)
Implement equivalent functionality for RVCT: note that this does not
use movw/movt pairs, but the more compatible add/add/add or add/add/ldr
sequences (which Clang does not support, unfortunately, hence the use
of movw/movt for the GCC toolchain family)
Satya Yarlagadda [Fri, 21 Oct 2016 00:45:55 +0000 (08:45 +0800)]
IntelFsp2Pkg: Removing FSP Data Table
FSP Base address is part of FSP_INFO_HEADER and we don't need additional
table to report the base address of FSP components. we expect Boot
loaders to parse the FSP INFO Header to get the base address. Also, this
the FSP_DATA_TABLE is not defined in the FSP EAS and we don't see a need
for it.
Cc: Maurice Ma <maurice.ma@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Satya Yarlagadda <satya.p.yarlagadda@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>