summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* FmpDevicePkg FmpDxe: Need repopulate after SetImage is calledStar Zeng2018-08-081-15/+6
| | | | | | | | | | | No need repopulate if SetImage is not called. But need repopulate after SetImage is called to update LastAttemptVersion and LastAttemptStatus Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* BaseTools: Use gGuidPattern for Guid regular expressionYunhua Feng2018-08-081-5/+2
| | | | | | | | | | Use GlobalData.py gGuidPattern for Guid regular expression Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* PatchCheck - add error message for invalid parameterJaben Carsey2018-08-081-3/+6
| | | | | | | | | | | | Currently if an invalid parameter is passed, it gives a stack trace. This changes it to an error message. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> Tested-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Debug message make confusedYunhua Feng2018-08-081-1/+1
| | | | | | | | | | | | Debug message make confused Fix https://bugzilla.tianocore.org/show_bug.cgi?id=995 Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix incorrect %EDK_TOOLS_PATH%Yunhua Feng2018-08-081-14/+25
| | | | | | | | | | | | | | | | For non-root folder, such as "X:\test", the EDK_TOOLS_PATH will resolve to "X:\test\edk2\BaseTools". This is OK. But if WORKSPACE is at a root folder, such as "X:\", the EDK_TOOLS_PATH will look like "X:\\BaseTools". The *double backslash* can fail the command like "del" and thus affect the %ERRORLEVEL% variable, which may break subsequent build processing. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* ShellPkg/acpi: Fix XCODE5 X64 build failureRuiyu Ni2018-08-072-2/+2
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Dandan Bi <dandan.bi@intel.com>
* OvmfPkg/PlatformDebugLibIoPort: fix port detection for use in the DXE CoreLaszlo Ersek2018-08-061-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DXE Core is one of those modules that call ProcessLibraryConstructorList() manually. Before DxeMain() [MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c] calls ProcessLibraryConstructorList(), and through it, our PlatformDebugLibIoPortConstructor() function, DxeMain() invokes the DEBUG() macro multiple times. That macro lands in our PlatformDebugLibIoPortFound() function -- which currently relies on the "mDebugIoPortFound" global variable that has (not yet) been set by the constructor. As a result, early debug messages from the DXE Core are lost. Move the device detection into PlatformDebugLibIoPortFound(), also caching the fact (not just the result) of the device detection. (We could introduce a separate DebugLib instance just for the DXE Core, but the above approach works for all modules that currently consume the PlatformDebugLibIoPort instance (which means "everything but SEC").) This restores messages such as: > CoreInitializeMemoryServices: > BaseAddress - 0x7AF21000 Length - 0x3CDE000 MinimalMemorySizeNeeded - 0x10F4000 Keep the empty constructor function -- OVMF's DebugLib instances have always had constructors; we had better not upset constructor dependency ordering by making our instance(s) constructor-less. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Fixes: c09d9571300a089c35f5df2773b70edc25050d0d Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Tested-by: Brijesh Singh <brijesh.singh@amd.com> [lersek@redhat.com: sanitize blank lines around "mDebugIoPortChecked"]
* MdeModulePkg: Remove DxeSmmPerformanceLibDandan Bi2018-08-064-959/+0
| | | | | | | | | | | | | | | | DxeSmmPerformanceLib previously is used by DP tool. But in new pweformance infrastructure, we have updated Dp tool to get the performance data from firmware performance data table in ACPI. Now the DxeSmmPerformanceLib is not used by any module. So remove it from edk2 code base to avoid being used by mistake. Cc: Liming Gao <liming.gao@intel.com> Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* ShellPkg: Remove DxeSmmPerformanceLibDandan Bi2018-08-061-6/+1
| | | | | | | | | | | | | | | DxeSmmPerformanceLib previously is used by DP tool. But in new pweformance infrastructure, we have updated Dp tool to get the performance data from firmware performance data table in ACPI. So remove the usage of DxeSmmPerformanceLib here. Cc: Jaben Carsey <jaben.carsey@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
* Vlv2TbltDevicePkg: Remove DxeSmmPerformanceLibDandan Bi2018-08-063-6/+0
| | | | | | | | | | | | | | | DxeSmmPerformanceLib previously is used by DP tool. But in new pweformance infrastructure, we have updated Dp tool to get the performance data from firmware performance data table in ACPI. So remove the usage of DxeSmmPerformanceLib here. Cc: David Wei <david.wei@intel.com> Cc: Mang Guo <mang.guo@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: David Wei <david.wei@intel.com>
* QuarkPlatformPkg: Remove DxeSmmPerformanceLibDandan Bi2018-08-062-5/+1
| | | | | | | | | | | | | | | DxeSmmPerformanceLib previously is used by DP tool. But in new pweformance infrastructure, we have updated Dp tool to get the performance data from firmware performance data table in ACPI. So remove the usage of DxeSmmPerformanceLib here. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Kelly Steele <kelly.steele@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/BinToPcd: Open output file as text fileKinney, Michael D2018-08-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1069 Undo changes from following commit: https://github.com/tianocore/edk2/commit/83964ebc5e74549d6efc7134af19150a0b2079aa Change the open mode for the output file from 'wb' to 'w' so the output file is written as a text file and not a binary file. This resolves the issue where the text file was not writable from Python 3.x and also removes b'' from output file when the string was encoded as a bytearray. Cc: YanYan Sun <yanyan.sun@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Tested-by:YanYan Sun <yanyan.sun@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* ShellPkg/acpi: Code cleanup to pass static code checkerRuiyu Ni2018-08-063-2/+3
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <Hao.a.wu@intel.com>
* MdePkg/BaseLib: Add an additional check within AsciiStriCmpRuiyu Ni2018-08-061-1/+1
| | | | | | | | | | | This commit adds an addtional check in AsciiStriCmp. It explicitly checks the end of the sting pointed by 'SecondString' to make the code logic easier for reading and to prevent possible mis-reports by static code checkers. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <Hao.a.wu@intel.com>
* BaseTools/Pkcs7Sign: Add PKCS7 test key include filesKinney, Michael D2018-08-033-0/+42
| | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1073 Add PCD statement include files for the PKCS7 test key. * gEfiSecurityPkgTokenSpaceGuid.PcdPkcs7CertBuffer * gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr These include files can be used in !include statements in PCD sections of a platform DSC file to assign these PCDs to the test key certificate values. Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* ArmPkg/GenericWatchdogDxe: Split 64bit register write to 2x32bitMarcin Wojtas2018-08-032-2/+4
| | | | | | | | | | | | | | | | According to the SBSA specification the Watchdog Compare Register is split into two separate 32bit registers. EDK2 code uses a single 64bit transaction to update them, which can be problematic, depending on the SoC implementation and could result in unpredictable behavior. Fix this by modifying WatchdogWriteCompareRegister routine to use two consecutive 32bit writes to the Watchdog Compare Register Low and High, using new dedicated macros. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* BaseTools: Guid.xref doesn't specify the correct GUID value for DriverYunhua Feng2018-08-031-1/+10
| | | | | | | | | | | | | | | | | | | | In DSC, we can define the driver with the different FILE GUID. So this driver name and its FILE GUID should also be listed in Build output Guid.xref. But now, Guid.xref still lists the driver MODULE_GUID. The case in Platform.dsc: MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf { <Defines> FILE_GUID = 3A4A354F-6935-40fa-B19C-500EEEBF0BC2 <LibraryClasses> PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf } Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/BinToPcd: Encode string returned from ByteArray()Kinney, Michael D2018-08-021-1/+2
| | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1069 The ByteArray() method returns a string with the hex bytes of a PCD value. Make sure the string is always encoded as a string, so it can be used to build a complete PCD statement string and be written out to a file. This change is required for Python 3.x compatibility. Cc: YanYan Sun <yanyan.sun@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* NetworkPkg/HttpDxe: Strip square brackets in IPv6 expressed HostName.Jiaxin Wu2018-08-031-3/+15
| | | | | | | | | | | | | | | | | | | *v2: Optimize the patch by calculating AsciiStrSize() only once. In URI, the colon (:) is used to terminate the HostName path before a port number. However, if HostName is expressed as IPv6 format, colon characters in IPv6 addresses will conflict with the colon before port number. To alleviate this conflict in URI, the IPv6 expressed HostName are enclosed in square brackets ([]). To record the real IPv6 HostName, square brackets should be stripped. Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* MdeModulePkg DxeCapsuleLibFmp: Add NULL check to the return buffersStar Zeng2018-08-031-1/+3
| | | | | | | | | | Add NULL check to the return buffers from GetFmpHandleBufferByType(). Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Hao A Wu <Hao.a.wu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Hao A Wu <Hao.a.wu@intel.com>
* MdeModulePkg/BdsDxe: Move display of test key usage into BDS moduleKinney, Michael D2018-08-022-0/+13
| | | | | | | | | Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Eric Dong <eric.dong@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
* FmpDevicePkg: Remove useless lib mapping in dscStar Zeng2018-08-021-19/+0
| | | | | | | | | | NOTE: This patch is based on thread https://lists.01.org/pipermail/edk2-devel/2018-July/027810.html. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Fix XCODE build failureStar Zeng2018-08-021-1/+1
| | | | | | | | | | | | | FmpDxe.c:517:18: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] NOTE: This patch is based on thread https://lists.01.org/pipermail/edk2-devel/2018-July/027810.html. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Use local variable to store test key digest sizeStar Zeng2018-08-021-1/+3
| | | | | | | | | | | | Some static tool reports "the condition in 'if' statement is constant". This patch updates the code to use local variable to store test key digest size. It can pass the static tool's check. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg: Fix code style issueStar Zeng2018-08-0211-73/+75
| | | | | | | Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Initialize DeviceLibLowestSupportedVersionStar Zeng2018-08-021-0/+1
| | | | | | | | | | | | | | | | | | Some static tool reports "DeviceLibLowestSupportedVersion" is used, but is uninitialized. It is false positive reporting based because DeviceLibLowestSupportedVersion will have assigned value after FmpDeviceGetLowestSupportedVersion() returns SUCCESS. This patch updates the code to initialize DeviceLibLowestSupportedVersion to DEFAULT_LOWESTSUPPORTEDVERSION before calling FmpDeviceGetLowestSupportedVersion(). It can pass the static tool's check. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Return UNSUPPORTED if device has been lockedStar Zeng2018-08-021-1/+1
| | | | | | | | | | | Instead of EFI_ACCESS_DENIED which is not defined in retval by UEFI spec, return UNSUPPORTED if device has been locked in SetTheImage(). Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Add comment in mFmpDeviceLocked's declarationStar Zeng2018-08-021-0/+7
| | | | | | | | | Add comment in mFmpDeviceLocked's declaration to make it more clear. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Use Attributes to know whether reset is requiredStar Zeng2018-08-025-17/+10
| | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1040 Use Attributes to know whether reset is required and remove PcdFmpDeviceSystemResetRequired. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Check ImageIndex first before Image/ImageSizeStar Zeng2018-08-021-10/+9
| | | | | | | | | | It does not make sense to check the Image/ImageSize if ImageIndex has been invalid. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Add NULL check to return Value from GetVariable2Star Zeng2018-08-021-4/+4
| | | | | | | Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg: Remove DisplayUpdateProgressLib mapping for FmpDxeStar Zeng2018-08-021-9/+5
| | | | | | | | | | | FmpDxe does not consume DisplayUpdateProgressLib, so remove the mapping in FmpDevicePkg.dsc. Also rename the ESRT GUIDs. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Fix typo "EFI_SECURITY_VIOLATIO"Star Zeng2018-08-021-4/+4
| | | | | | | | | Fix typo "EFI_SECURITY_VIOLATIO" to "EFI_SECURITY_VIOLATION". Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Add EFI_ABORTED in retval of CheckTheImage()Star Zeng2018-08-021-0/+1
| | | | | | | Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Check Progress!= NULL before calling Progress(100)Star Zeng2018-08-021-4/+6
| | | | | | | Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg: Add DISABLE_NEW_DEPRECATED_INTERFACES build optionsStar Zeng2018-08-021-0/+3
| | | | | | | | | | Add DISABLE_NEW_DEPRECATED_INTERFACES build options to make sure no deprecated interface used in this package. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg: Remove IPFStar Zeng2018-08-026-6/+6
| | | | | | | Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Return 0 when LSV check is not requiredStar Zeng2018-08-021-3/+6
| | | | | | | | | | | | | | Current code return 1 when LSV check is not required, but 1 LSV will make 0 Version capsule image update failed. 0 LSV is valid, this patch updates the code to return 0 when LSV check is not required We can see even the DEFAULT_LOWESTSUPPORTEDVERSION is 0. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg FmpDxe: Update function comment for FmpDxeEntryPointStar Zeng2018-08-021-1/+1
| | | | | | | | | FmpDxeEntryPoint is used by both FmpDxe and FmpDxeLib. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* FmpDevicePkg: Add DSC file to build all package componentsKinney, Michael D2018-08-021-0/+134
| | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=922 Based on content from the following branch: https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport/MsCapsuleUpdatePkg Adds a DSC file that is used to verify that all of the FmpDevicePkg libraries and modules build without error. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
* FmpDevicePkg: Add FmpDxe moduleKinney, Michael D2018-08-028-0/+2480
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=922 Based on content from the following branch: https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport/MsCapsuleUpdatePkg The FmpDxe directory contains 2 INF files. FmpDxe.inf is a DXE driver that is used in a platform to add a Firmware Management Protocol for firmware device that supports firmware updates. FmpDxeLib.inf is a NULL library instance with the exact same functionality as FmpDxe.inf, but allows the the Firmware Management Protocol feature to be added to an existing device driver. The FmpDxe component is intended to be used "as is" with no need for any device specific or platform specific changes. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
* FmpDevicePkg: Add library instancesKinney, Michael D2018-08-029-0/+948
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=922 Based on content from the following branch: https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport/MsCapsuleUpdatePkg Add library instances for FmpDeviceLib, CapsuleUpdatePolicyLib, and FmpPayloadHeaderLib. Library Classes =============== * FmpDeviceLibNull - Non-functional template of the FmpDeviceLib that can be used as a starting point for an FmpDeviceLib for a specific firmware storage device. * CapsuleUpdatePolicyLibNull - Functional template of the CapsuleUpdatePolicyLib that can be used as a starting point of a platform specific implementation. * FmpPayloadHeaderLibV1 - Version 1 of the FmpPayloadHeaderLib. This library is indented to be used "as is" with no need for any device specific or platform specific changes. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
* FmpDevicePkg: Add package, library classes, and PCDsKinney, Michael D2018-08-026-0/+855
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=922 Based on content from the following branch: https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport/MsCapsuleUpdatePkg Create FmpDevicePkg with library classes and PCDs used to customize the behavior of a Firmware Management Protocol instance. Library Classes =============== * FmpDeviceLib - Provides firmware device specific services to support updates of a firmware image stored in a firmware device. * CapsuleUpdatePolicyLib - Provides platform policy services used during a capsule update. * FmpPayloadHeaderLib - Provides services to retrieve values from a capsule's FMP Payload Header. The structure is not included in the library class. Instead, services are provided to retrieve information from the FMP Payload Header. If information is added to the FMP Payload Header, then new services may be added to this library class to retrieve the new information. PCDs set per module ==================== * PcdFmpDeviceSystemResetRequired - Indicates if a full system reset is required before a firmware update to a firmware devices takes effect * PcdFmpDeviceTestKeySha256Digest - The SHA-256 hash of a PKCS7 test key that is used to detect if a test key is being used to authenticate capsules. Test key detection is disabled by setting the value to {0}. * PcdFmpDeviceProgressColor - The color of the progress bar during a firmware update. * PcdFmpDeviceImageIdName - The Null-terminated Unicode string used to fill in the ImageIdName field of the EFI_FIRMWARE_IMAGE_DESCRIPTOR structure that is returned by the GetImageInfo() service of the Firmware Management Protocol for the firmware device. * PcdFmpDeviceBuildTimeLowestSupportedVersion - The build time value used to fill in the LowestSupportedVersion field of the EFI_FIRMWARE_IMAGE_DESCRIPTOR structure that is returned by the GetImageInfo() service of the Firmware Management Protocol. * PcdFmpDeviceProgressWatchdogTimeInSeconds - The time in seconds to arm a watchdog timer during the update of a firmware device. PCDs set per module or for entire platform ========================================== * PcdFmpDevicePkcs7CertBufferXdr - One or more PKCS7 certificates used to verify a firmware device capsule update image. * PcdFmpDeviceLockEventGuid - An event GUID that locks the firmware device when the event is signaled. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
* BaseTools/Capsule: Support capsules without a payload headerKinney, Michael D2018-08-021-11/+23
| | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1028 Update --dump-info and --decode to show auth header information even if a payload header is not present. The --decode operation still fails if a payload header is not present. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/Capsule: Prevent traceback during signing operationsKinney, Michael D2018-08-021-2/+0
| | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1046 https://bugzilla.tianocore.org/show_bug.cgi?id=1048 https://bugzilla.tianocore.org/show_bug.cgi?id=1050 Remove raise statements that generate Tracebacks that were only intended for development/debug. With the raise statements removed proper error messages are shown. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/Capsule: Update file header with tool limitationsKinney, Michael D2018-08-021-0/+11
| | | | | | | | | | | | | | | | | Update file header to state that the tool does not support: * Multiple payloads * Drivers * Vendor code bytes https://bugzilla.tianocore.org/show_bug.cgi?id=1031 Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/Capsule: Update help for --fw-version and --lsvKinney, Michael D2018-08-021-2/+2
| | | | | | | | | | | | | | | Update help to state that --fw-version and -=-lsv are required for encode operations that sign a payload. https://bugzilla.tianocore.org/show_bug.cgi?id=1029 Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/Capsule: Do not support -o with --dump-infoKinney, Michael D2018-08-021-0/+4
| | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1025 Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/Capsule: Fix CertType GUID byte orderKinney, Michael D2018-08-021-1/+1
| | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1024 Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/Capsule: Remove support for PopulateSystemTableKinney, Michael D2018-08-021-5/+3
| | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1030 Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>