Yao, Jiewen [Tue, 26 Jan 2016 01:29:38 +0000 (01:29 +0000)]
SecurityPkg: Add TPM PTP support in TPM2 device lib.
TPM2 hardware may support PTP FIFO/TIS interface
or PTP CRB interface. The original lib only handles
PTP FIFO/TIS interface. This patch adds PTP CRB
interface support.
The current logic is that lib will runtime detect
TPM device interface (CRB or FIFO/TIS) and call
proper function to access hardware.
It is compatible for old TPM2 FIFO/TIS device and
new TPM2 CRB device.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19740
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Tue, 26 Jan 2016 01:26:58 +0000 (01:26 +0000)]
MdePkg: Add TPM TIS definition.
TPM TIS (TPM Interface Specification) is TCG standard.
Add definition here.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19739
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Tue, 26 Jan 2016 01:26:45 +0000 (01:26 +0000)]
MdePkg: Add TPM PTP definition.
TPM PTP (Platform TPM Profile) is TCG standard.
Add definition here.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19738
6f19259b-4bc3-4df7-8a09-
765794883524
Paolo Bonzini [Mon, 25 Jan 2016 11:33:37 +0000 (11:33 +0000)]
MdeModulePkg/.../IdeMode: correctly report length of returned data
For some SCSI commands, notably INQUIRY, it's relatively common for
the device to provide less data than we intended to read, and for
this reason EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET makes
InTransferLength and OutTransferLength read-write. Make ATAPI
aware of this.
This makes it possible to handle EFI_NOT_READY always, not just
for read as done in r19685.
I've chosen to use a break statement instead of calling
CheckStatusRegister directly; the break statement reaches a
pre-existing call the CheckStatusRegister function. This
ensures that the assignment to *ByteCount is not missed, and
adds a further sanity check to DRQClear.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19737
6f19259b-4bc3-4df7-8a09-
765794883524
Cinnamon Shia [Mon, 25 Jan 2016 04:45:55 +0000 (04:45 +0000)]
Nt32Pkg: Fix asserts from running Nt32 64-bit on Win8
On Windows 8, 64-bit NT32 images are loaded above 4GB.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Cinnamon Shia <cinnamon.shia@hpe.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19736
6f19259b-4bc3-4df7-8a09-
765794883524
Eric Dong [Mon, 25 Jan 2016 03:38:19 +0000 (03:38 +0000)]
MdeModulePkg: HiiDatabase: Refine the code to make it more safely.
Refine the code to avoid potential buffer overflow or use NULL pointer.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19735
6f19259b-4bc3-4df7-8a09-
765794883524
Eric Dong [Mon, 25 Jan 2016 03:33:45 +0000 (03:33 +0000)]
SourceLevelDebugPkg: DebugCommunicationLibUsb3: Update local variable type.
Update the local variable type to avoid potential data overflow.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Hao Wu <hao.wu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19734
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Fri, 22 Jan 2016 06:30:08 +0000 (06:30 +0000)]
SecurityPkg: Update TCG PPI "1.3" for TCG2.
The Tcg2Smm follows TCG PPI 1.3 specification.
This patch updates the ASL code string to 1.3.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19733
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:30:43 +0000 (19:30 +0000)]
QuarkPlatformPkg: Add MEASURED_BOOT_ENABLE feature
Add MEASURED_BOOT_ENABLE flag
Add TPM_12_HARDWARE flag
Add TrEEConfigPei to detect TPM 1.2 hardware device
Use Tpm12DeviceLib instance for Atmel I2C TPM
Use Tpm12DeviceLib instance for Infineon I2C TPM
Add TcgPei and TcgDxe modules for TPM 1.2 support
Clean up TpmMeasurementLib mappings
Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Kelly Steele <kelly.steele@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19732
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:30:36 +0000 (19:30 +0000)]
QuarkPlatformPkg: Add Tpm12DeviceLib instance for Infineon I2C TPM
Add Tpm12DeviceLib instance for Infineon I2C TPM
Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Kelly Steele <kelly.steele@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19731
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:30:29 +0000 (19:30 +0000)]
QuarkPlatformPkg: Add Tpm12DeviceLib instance for Atmel I2C TPM
Add new Tpm12DeviceLib instance for an Atmel I2C TPM
Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Kelly Steele <kelly.steele@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19730
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:30:21 +0000 (19:30 +0000)]
SecurityPkg/TcgDxe: Use updated Tpm12CommandLib APIs
Use the following new APIs in Tpm12CommandLib and remove duplicate
code from TcgPei and TcgDxe:
Tpm12Extend()
Tpm12PhysicalPresence()
Tpm12ContinueSelfTest()
Tpm12GetCapabilityFlagPermanent()
Tpm12GetCapabilityFlagVolatile()
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19729
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:30:14 +0000 (19:30 +0000)]
SecurityPkg/TcgPei: Use updated Tpm12CommandLib APIs
Use the following new APIs in Tpm12CommandLib and remove duplicate
code from TcgPei and TcgDxe:
Tpm12Extend()
Tpm12PhysicalPresence()
Tpm12ContinueSelfTest()
Tpm12GetCapabilityFlagPermanent()
Tpm12GetCapabilityFlagVolatile()
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19728
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:30:05 +0000 (19:30 +0000)]
SecurityPkg/Tpm12CommandLib: Add TPM 1.2 commands used by TCG modules
Add the following APIs that are required by TcgPei and/or TcgDxe to
the Tpm12CommandLib instance:
Tpm12Extend()
Tpm12PhysicalPresence()
Tpm12ContinueSelfTest()
Tpm12GetCapabilityFlagPermanent()
Tpm12GetCapabilityFlagVolatile()
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19727
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:29:56 +0000 (19:29 +0000)]
SecurityPkg/Tpm12CommandLib.h: Add TPM 1.2 commands used by TCG modules
Add the following APIs that are required by TcgPei and/or TcgDxe:
Tpm12Extend()
Tpm12PhysicalPresence()
Tpm12ContinueSelfTest()
Tpm12GetCapabilityFlagPermanent()
Tpm12GetCapabilityFlagVolatile()
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19726
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:29:50 +0000 (19:29 +0000)]
SecurityPkg/Tcg2Config: Remove use of IoLib
Remove the use of the IoLib and Mmioxx() calls to detect dTPM.
This module calls the Tpm12DeviceLib to detect a TPM and the
implementation of the Tpm12DeviceLib for dTPM performs the same
Mmioxx() calls to detect a dTPM. This change makes this module
more generic and portable by maximizing the use of the Tpm12DeviceLib
abstraction for TPM detection.
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19725
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:29:43 +0000 (19:29 +0000)]
SecurityPkg/TrEEConfig: Remove use of IoLib
Remove the use of the IoLib and Mmioxx() calls to detect dTPM.
This module calls the Tpm12DeviceLib to detect a TPM and the
implementation of the Tpm12DeviceLib for dTPM performs the same
Mmioxx() calls to detect a dTPM. This change makes this module
more generic and portable by maximizing the use of the Tpm12DeviceLib
abstraction for TPM detection.
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19724
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:29:35 +0000 (19:29 +0000)]
SecurityPkg/TcgConfigDxe: Replace TpmCommLib with Tpm12DeviceLib
Update TCG drivers for TPM 1.2 devices to use Tpm12DeviceLib instead
of TpmCommLib. This is required to support TPM 1.2 hardware devices
that are not on LPC bus.
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19723
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:29:28 +0000 (19:29 +0000)]
SecurityPkg/TcgDxe: Replace TpmCommLib with Tpm12DeviceLib
Update TCG drivers for TPM 1.2 devices to use Tpm12DeviceLib instead
of TpmCommLib. This is required to support TPM 1.2 hardware devices
that are not on LPC bus.
The current versions of the TCG PEIM and DXE driver contain
MMIO reads/writes to a TPM attached to an LPC bus. In order
to support TPMs that are connected to other bus types, the
TGC PEIM and DXE drivers must be updated to not perform any
direct register accesses to any TPMs.
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19722
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 19:29:19 +0000 (19:29 +0000)]
SecurityPkg/TcgPei: Replace TpmCommLib with Tpm12DeviceLib
Update TCG drivers for TPM 1.2 devices to use Tpm12DeviceLib instead
of TpmCommLib. This is required to support TPM 1.2 hardware devices
that are not on LPC bus.
The current versions of the TCG PEIM and DXE driver contain
MMIO reads/writes to a TPM attached to an LPC bus. In order
to support TPMs that are connected to other bus types, the
TGC PEIM and DXE drivers must be updated to not perform any
direct register accesses to any TPMs.
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19721
6f19259b-4bc3-4df7-8a09-
765794883524
Michael Kinney [Thu, 21 Jan 2016 18:41:59 +0000 (18:41 +0000)]
QuarkPlatformPkg/Quark.dsc: Update for rename of UI libraries
Rename the Ui libraries,so need to update the QuarkPlatformPkg.dsc file.
Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Kelly Steele <kelly.steele@intel.com>
Reviewed-by: Dandan Bi <dandan.bi@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19720
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:48 +0000 (18:40 +0000)]
ShellPkg: UefiShellBcfgCommandLib: bump VERSION_STRING
The changes due to the previous patches should be reflected in a higher
minor version number.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Suggested-by: Jaben Carsey <jaben.carsey@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19719
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:44 +0000 (18:40 +0000)]
ShellPkg: BcfgDisplayDump(): print optional data with DumpHex()
The DumpHex() function produces very friendly output (known from DMPSTORE,
for example); let's use it with "BCFG -v" as well.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19718
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:40 +0000 (18:40 +0000)]
ShellPkg: elevate DumpHex() from Debug1-internal to generic-internal
The UEFI Shell specification classifies shell commands into various shell
levels / profiles.
Currently the DumpHex() internal function is only used by commands that
belong to the Debug1 profile exclusively (i.e., they are not required to
be present in other than Debug1 profiles):
- SMBIOSVIEW
- PCI
- DMPSTORE
- DMEM
- DBLK
In the next patch, we'd like to call DumpHex() from BCFG as well. However,
BCFG is not only required to be present in the Debug1 profile; the
Install1 profile contains BCFG as well. For this reason, move DumpHex()
from UefiShellDebug1CommandsLib to the more generic UefiShellCommandLib,
which "Provides interface to shell internal functions for shell commands".
The matching header file is "ShellPkg/Include/Library/ShellCommandLib.h".
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19717
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:35 +0000 (18:40 +0000)]
ShellPkg: BcfgDisplayDump(): fix ShellPrintEx() call site
This is likely a copy & paste error from the preceding ShellPrintHiiEx()
function call. ShellPrintEx() takes no Language parameter, so remove the
NULL argument, which is currently misinterpreted as a format string.
This bug prevents the hexdump of optional data even when -v is passed to
BCFG, and optional data exist.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19716
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:30 +0000 (18:40 +0000)]
ShellPkg: BcfgDisplayDump(): fix reporting of OptionalData
In this cleaned up form of BcfgDisplayDump(), it is easier to see that the
OptionalDataOffset <= BufferSize
expression, used to report whether optional data are *absent*, is
incorrect. For any well-formed EFI_LOAD_OPTION, this inequality always
holds.
Optional data are present exactly if
OptionalDataOffset < BufferSize
therefore the absence condition is the negation of the above,
OptionalDataOffset >= BufferSize
This patch fixes the bug where BCFG always reports "Optional- N", even if
optional data exist.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19715
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:26 +0000 (18:40 +0000)]
ShellPkg: BcfgDisplayDump(): calculate OptionalDataOffset explicitly
Eliminate some more repeated pointer arithmetic.
This patch too is only refactoring.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19714
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:22 +0000 (18:40 +0000)]
ShellPkg: BcfgDisplayDump(): eliminate FilePathList duplication
Copying and releasing each EFI_LOAD_OPTION.FilePathList under the name
DevPath is wasteful -- we only need FilePathList for a single conversion
to text. Do it directly from the EFI_LOAD_OPTION object.
This patch is not supposed to change observable behavior.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19713
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:17 +0000 (18:40 +0000)]
ShellPkg: BcfgDisplayDump(): call Description[Size] by name
Introduce two more helper variables to avoid repeated pointer arithmetic.
This patch is not supposed to change behavior.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19712
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:13 +0000 (18:40 +0000)]
ShellPkg: BcfgDisplayDump(): address FilePathListLength by name
The Buffer variable points at the beginning of an EFI_LOAD_OPTION
structure. We might as well address the "FilePathListLength" member by
name, rather than with *(UINT16*)(Buffer+4).
This patch is not supposed to change behavior.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19711
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:09 +0000 (18:40 +0000)]
ShellPkg: BcfgDisplayDump(): enforce minimum size for Boot#### and co.
"3.1.1 Boot Manager Programming" in the UEFI 2.5 spec mandates that
Boot#### and similar options contain EFI_LOAD_OPTION structures. The
EFI_LOAD_OPTION structure encodes the fixed initial part of the payload,
and we can (and should) use it to enforce a minimum size for variable
contents.
This patch is meant as a safety improvement.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19710
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:05 +0000 (18:40 +0000)]
ShellPkg: BcfgDisplayDump(): accumulate errors
Don't exit the command immediately when a variable access fails; continue
processing after printing the error message. Let the final return status
reflect any encountered errors.
This patch is intended as a functional improvement.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19709
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:40:00 +0000 (18:40 +0000)]
ShellPkg: BcfgDisplayDump(): hoist NULL-init of DevPath[String]
It will help with error handling if we move these initializations near the
top of the loop body.
This patch is not supposed to change behavior.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19708
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:39:56 +0000 (18:39 +0000)]
ShellPkg: UefiShellBcfgCommandLib: drop unused string tokens
STR_GEN_PROBLEM_VAL, STR_GEN_TOO_MANY, and STR_BCFG_LOCATION_RANGE are not
used in the C source code. Remove them to decrease clutter.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19707
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 18:39:52 +0000 (18:39 +0000)]
ShellPkg: BcfgDisplayDump(): update whitespace & layout
This patch incurs no functional changes, it just modifies some whitespace,
so we can separate these non-functional changes from the functional
changes in the next patches.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19706
6f19259b-4bc3-4df7-8a09-
765794883524
Eugene Cohen [Thu, 21 Jan 2016 09:10:55 +0000 (09:10 +0000)]
BaseTools: make build report tolerant of FVs specified by name
Check if the FV name is in the FV dictionary before using it which fixes
a crash during build report generation when FVs are specified by path in
the FDF.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eugene Cohen <eugene@hp.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19705
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Thu, 21 Jan 2016 02:15:02 +0000 (02:15 +0000)]
IntelFspWrapperPkg: Add NOOPT target in IntelFspWrapperPkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19703
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Thu, 21 Jan 2016 02:14:43 +0000 (02:14 +0000)]
IntelFspPkg: Add NOOPT target in IntelFspPkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19702
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 00:29:12 +0000 (00:29 +0000)]
MdeModulePkg: TerminalDxe: select the UART's default receive FIFO depth
The Serial IO protocol instances provided by SerialDxe and consumed by
TerminalDxe come with a Mode.ReceiveFifoDepth=1 default setting, as
required by UEFI 2.5.
Although TerminalDxe calls EFI_SERIAL_IO_PROTOCOL.SetAttributes() in the
TerminalDriverBindingStart() and TerminalConInTimerHandler() functions, it
only does so to change the Mode.Timeout member. Other members of Mode,
including Mode.ReceiveFifoDepth, are preserved.
On some platforms this causes the UART that underlies TerminalDxe not to
have enough room for bursts of scan codes, which translates to broken
parsing of escape sequences, e.g. cursor movement keys.
According to the UEFI spec, passing ReceiveFifoDepth=0 to
EFI_SERIAL_IO_PROTOCOL.SetAttributes() "will use the device's default FIFO
depth". While TerminalDxe could try to configure a receive FIFO depth that
matches the longest escape sequence it wishes to parse, in practice the
device-specific default FIFO depth -- which may well differ from the
spec-mandated SerialIo->Mode.ReceiveFifoDepth=1 default -- seems to work.
Hence let's just set that.
This issue was exposed by SVN r18971 / git commit
921e987b2b
("ArmPlatformPkg: Use SerialDxe in MdeModulePkg instead of EmbeddedPkg").
In that conversion, MdeModulePkg's SerialDxe started to initialize
Mode.ReceiveFifoDepth to 1 (in conformance with the spec), unlike the
prior, non-conformant initialization to 0 in EmbeddedPkg's SerialDxe.
Since TerminalDxe would never change ReceiveFifoDepth from the new default
value 1, and the ArmPlatformPkg/Drivers/PL011Uart library instance,
underlying SerialDxe through SerialPortLib, would obey it too, they would
collectively effect a receive queue depth of 1, rather than the default 16
or 32. This broke cursor keys on the ARM FVP and Juno platforms.
It is the client of EFI_SERIAL_IO_PROTOCOL that is responsible for
modifying the attributes, if the defaults are not appropriate, hence this
patch modifies TerminalDxe.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Star Zeng <star.zeng@intel.com>
Reported-by: Ryan Harkin <ryan.harkin@linaro.org>
Reference: http://thread.gmane.org/gmane.comp.bios.edk2.devel/4779/focus=6553
Reference: http://thread.gmane.org/gmane.comp.bios.edk2.devel/6594
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19701
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 00:29:07 +0000 (00:29 +0000)]
MdeModulePkg: SerialDxe: sync EFI_SERIAL_IO_MODE.Timeout with the spec
In "11.8 Serial I/O Protocol", UEFI 2.5 requires:
The default attributes for all UART-style serial device interfaces are:
(a) 115,200 baud,
(b) a 1 byte receive FIFO,
(c) a 1,000,000 microsecond timeout per character,
(d) no parity,
(e) 8 data bits,
(f) and 1 stop bit.
It also says, about the EFI_SERIAL_IO_MODE.ControlMask member:
(g) A mask of the Control bits that the device supports. The device must
always support the Input Buffer Empty control bit.
SerialDxe complies with requirement (b) via hard-coded constants. It
complies with requirements (a), (d), (e) and (f) through PCD defaults (see
MdePkg/MdePkg.dec):
(a) 115,200 baud:
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200|UINT64|0x00000020
(d) no parity:
# 1 - No Parity.<BR>
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|1|UINT8|0x00000022
(e) 8 data bits:
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|8|UINT8|0x00000021
(f) 1 stop bit:
# 1 - One Stop Bit.<BR>
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|1|UINT8|0x00000023
SerialDxe does not comply with requirements (c) and (g). In this patch, we
fix (c), and leave (g) for later.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19700
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Thu, 21 Jan 2016 00:29:03 +0000 (00:29 +0000)]
MdeModulePkg: SerialDxe: lay out mSerialIoMode initializer more nicely
This patch doesn't change behavior; it only modifies whitespace and
comments.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19699
6f19259b-4bc3-4df7-8a09-
765794883524
Ryan Harkin [Wed, 20 Jan 2016 14:55:58 +0000 (14:55 +0000)]
ArmPkg: LinuxLoader: fix typo in help string
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19698
6f19259b-4bc3-4df7-8a09-
765794883524
Charles Duffy [Wed, 20 Jan 2016 05:15:55 +0000 (05:15 +0000)]
BaseTools: Improve LzmaF86Compress wrapper
- Remove test usage declared obsolescent by POSIX
- Pass argv array through as literal rather than forming into a string, then
string-splitting and glob-expanding same.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Charles Duffy <chaduffy@cisco.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19697
6f19259b-4bc3-4df7-8a09-
765794883524
Charles Duffy [Wed, 20 Jan 2016 05:14:10 +0000 (05:14 +0000)]
BaseTools: Use python2 if available in Tests/GNUmakefile
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Charles Duffy <chaduffy@cisco.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19696
6f19259b-4bc3-4df7-8a09-
765794883524
Charles Duffy [Wed, 20 Jan 2016 05:12:02 +0000 (05:12 +0000)]
BaseTools: Improve shell wrapper for C build commands
- Avoid obsolescent forms of test builtin (`-a` and `-o`; see APPLICATION USAGE
section of http://pubs.opengroup.org/onlinepubs/
9699919799/utilities/test.html).
- Quote all expansions to prevent string-splitting and globbing.
- Avoid unspecified "exit -1" (only single-byte integers are valid); instead,
use identical exit status to shell command-not-found.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Charles Duffy <chaduffy@cisco.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19695
6f19259b-4bc3-4df7-8a09-
765794883524
Charles Duffy [Wed, 20 Jan 2016 05:09:06 +0000 (05:09 +0000)]
BaseTools: Improve shell wrappers for Python build commands
- Use `python2` executable if it exists, to avoid breakage on systems (such as
Arch Linux) where `python` is Python 3.
- Quote all references to `$0`, for safety when located in a directory
containing spaces in its name.
- Use the `exec` shell command to avoid leaving the shell wrapper in the
process table when invoking the actual build tool.
- Use `"$@"` rather than `$*` to pass arguments through directly rather than
concatenating to a string, and then string-splitting and glob-expanding its
contents.
- Use `$BASH_SOURCE` in preference to `$0` (which is only guaranteed to be
process name, *not* source path).
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Charles Duffy <chaduffy@cisco.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19694
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Wed, 20 Jan 2016 04:38:14 +0000 (04:38 +0000)]
Maintainers.txt: Update maintainers for SourceLevelDebugPkg
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19693
6f19259b-4bc3-4df7-8a09-
765794883524
Jiaxin Wu [Wed, 20 Jan 2016 00:39:14 +0000 (00:39 +0000)]
Maintainers.txt: Update maintainers for CryptoPkg and NetworkPkg
This patch is used to update the CryptoPkg and NetworkPkg
maintainer list.
Cc: Long Qin <qin.long@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Tian Hot <hot.tian@intel.com>
Cc: Li Ruth <ruth.li@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Qin Long <qin.long@intel.com>
Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19692
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Tue, 19 Jan 2016 13:23:30 +0000 (13:23 +0000)]
SecurityPkg: Mark MorLock module deprecated.
This module only handles MOR lock v1.
Now MOR lock V2 solution is published and added in variable driver. So this module can be deprecated.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
Reviewed-by: "Zeng, Star" <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19691
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Tue, 19 Jan 2016 13:22:05 +0000 (13:22 +0000)]
MdeModulePkg: Add MorLock to variable driver.
This patch adds MorLock function to Variable main function.
It also updates corresponding INF file to pass build.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
Reviewed-by: "Zeng, Star" <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19690
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Tue, 19 Jan 2016 13:21:18 +0000 (13:21 +0000)]
MdeModulePkg: Add MorLockDxe to variable driver.
Per secure MOR implementation document, it is not proper to add MOR lock in non-SMM version, because DXE version can not provide protection.
This patch add standalone TcgMorLockDxe implementation.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
Reviewed-by: "Zeng, Star" <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19689
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Tue, 19 Jan 2016 13:20:50 +0000 (13:20 +0000)]
MdeModulePkg: Add MorLockSmm to variable driver.
Microsoft published secure MOR implementation at https://msdn.microsoft.com/en-us/library/windows/hardware/mt270973(v=vs.85).aspx
with revision 2 update. See URL for tech detail.
Previous revision 1 is handled in SecurityPkg\Tcg\ MemoryOverwriteRequestControlLock.
But the VarCheck API can not satisfy revision 2 requirement.
So we decide include MOR lock control into variable driver directly.
This patch add standalone TcgMorLockSmm implementation.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
Reviewed-by: "Zeng, Star" <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19688
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Tue, 19 Jan 2016 13:17:10 +0000 (13:17 +0000)]
MdePkg: Update MorLock comment to latest doc.
Microsoft updated secure MOR lock document with version 2.
So we update comment here.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed: "Zhang, Chao B" <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19687
6f19259b-4bc3-4df7-8a09-
765794883524
Yonghong Zhu [Tue, 19 Jan 2016 12:58:52 +0000 (12:58 +0000)]
BaseTools: process the files by the priority in BUILDRULEORDER
By the BUILDRULEORDER feature to process files listed in INF [Sources]
sections in priority order, if a filename is listed with multiple
extensions, the tools will use only the file that matches the first
extension in the space separated list.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19686
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Tue, 19 Jan 2016 10:46:39 +0000 (10:46 +0000)]
MdeModulePkg/.../IdeMode: report early finish of packet read as success
SVN r19611 (git commit
7cac240163), "MdeModulePkg/Ide: return correct
status when DRQ is not ready for ATAPI", changed the behavior of
AtaPacketReadWrite(), when DRQReady2() reported an error. The previous
logic had been to:
(a) terminate the transfer loop,
(b) check the status register with CheckStatusRegister(), and determine
AtaPacketReadWrite()'s return code directly from that.
Action (a) had been correct, but action (b) had masked genuine errors.
For example, when DRQReady2() reported EFI_TIMEOUT -- because the BSY bit
had not been cleared within the allotted time --, CheckStatusRegister()
would report EFI_SUCCESS, simply *because* BSY was still set, and the rest
of the status bits could not be evaluated.
SVN r19611 (git commit
7cac240163) intended to fix action (b) by directly
propagating the error code of DRQReady2() from AtaPacketReadWrite(),
eliminating the CheckStatusRegister() call. This was the right thing for
most of the errors reported by DRQReady2() -- timeout, command abort,
other device error --, but there was one exception: the "read" sub-case of
EFI_NOT_READY, which stands for "'read' complete, with less data available
than the requested amount".
Regarding the "write" sub-case of EFI_NOT_READY: the
AtaPacketCommandExecute() function programs the full transfer length into
the IDE device before it calls AtaPacketReadWrite(), and
AtaPacketReadWrite() only uses CylinderLsb and CylinderMsb for "chunking"
(as requested by the device). Therefore the device cannot justifiedly
clear DRQ earlier than seeing the entire data, when writing.
However, when reading from the device, a "short read" is a successful
operation. (The actual read length will be decoded by the higher level
protocols.) And "short reads" had been handled correctly by the logic
before git
7cac240163. Namely, when DRQReady2() returns EFI_NOT_READY, the
BSY bit is already clear, and we can call CheckStatusRegister() to
investigate all the other bits it cares about.
Therefore restore the logic from before git
7cac240163, but only for the
"read" sub-case of EFI_NOT_READY.
This problem was encountered with OVMF running on QEMU's i440fx IDE
emulation. Many thanks to John Snow for analyzing QEMU's behavior, and
pointing out that it adhered to the relevant specs.
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: John Snow <jsnow@redhat.com>
Reference: https://github.com/tianocore/edk2/issues/43
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19685
6f19259b-4bc3-4df7-8a09-
765794883524
Laszlo Ersek [Tue, 19 Jan 2016 10:46:34 +0000 (10:46 +0000)]
MdeModulePkg/.../IdeMode: actualize DRQReady*() comment blocks
The DRQReady() and DRQReady2() functions only differ in that they poll
different status registers for BSY, ERR, and DRQ: the former looks at the
Status Register (clearing interrupt status), while the latter looks at the
Alternate Status Register (not clearing interrupt status).
They both correctly return a unique status code, EFI_NOT_READY, for the
BSY==0 && ERR==0 && DRQ==0
case; that is, when the device reports "command complete".
However, the functions' leading comments don't explain this case, so it's
easy to miss in callers. Update the comments.
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: John Snow <jsnow@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19684
6f19259b-4bc3-4df7-8a09-
765794883524
Star Zeng [Tue, 19 Jan 2016 09:19:37 +0000 (09:19 +0000)]
ShellPkg UefiDpLib: Use Image->FilePath to get name for SMM drivers
This enhancement is to use the FilePath field in the loaded image
protocol to find the name of an image as a fallback for when the
loaded image device path protocol is not installed on the image handle.
This is necessary because the SMM core does not install the loaded
image device path protocol, so DP was displaying "Unknown Driver Name"
for every SMM driver.
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Shumin Qiu <shumin.qiu@intel.com>
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@19683
6f19259b-4bc3-4df7-8a09-
765794883524
Star Zeng [Tue, 19 Jan 2016 09:19:28 +0000 (09:19 +0000)]
PerformancePkg Dp_App: Use Image->FilePath to get name for SMM drivers
This enhancement is to use the FilePath field in the loaded image
protocol to find the name of an image as a fallback for when the
loaded image device path protocol is not installed on the image handle.
This is necessary because the SMM core does not install the loaded
image device path protocol, so DP was displaying "Unknown Driver Name"
for every SMM driver.
Cc: Liming Gao <liming.gao@intel.com>
Cc: Daryl McDaniel <edk2-lists@mc2research.org>
Cc: Jaben Carsey <jaben.carsey@intel.com>
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@19682
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:08:09 +0000 (04:08 +0000)]
UefiCpuPkg: Add NOOPT target in UefiCpuPkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19681
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:07:52 +0000 (04:07 +0000)]
SourceLevelDebugPkg: Add NOOPT target in SourceLevelDebugPkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19680
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:07:34 +0000 (04:07 +0000)]
ShellPkg: Add NOOPT target in ShellPkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19679
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:07:17 +0000 (04:07 +0000)]
SecurityPkg: Add NOOPT target in SecurityPkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19678
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:06:59 +0000 (04:06 +0000)]
PerformancePkg: Add NOOPT target in PerformancePkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19677
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:06:42 +0000 (04:06 +0000)]
PcAtChipsetPkg: Add NOOPT target in PcAtChipsetPkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19676
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:06:24 +0000 (04:06 +0000)]
NetworkPkg: Add NOOPT target in NetworkPkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19675
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:06:07 +0000 (04:06 +0000)]
MdePkg: Add NOOPT target in MdePkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19674
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:05:51 +0000 (04:05 +0000)]
MdeModulePkg: Add NOOPT target in MdeModulePkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19673
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:05:29 +0000 (04:05 +0000)]
IntelFrameworkPkg: Add NOOPT target in IntelFrameworkPkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19672
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:05:12 +0000 (04:05 +0000)]
IntelFrameworkModulePkg: Add NOOPT target in IntelFrameworkModulePkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19671
6f19259b-4bc3-4df7-8a09-
765794883524
Hao Wu [Tue, 19 Jan 2016 04:04:54 +0000 (04:04 +0000)]
CryptoPkg: Add NOOPT target in CryptoPkg.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19670
6f19259b-4bc3-4df7-8a09-
765794883524
Dandan Bi [Tue, 19 Jan 2016 03:31:34 +0000 (03:31 +0000)]
Nt32Pkg:Modify the dsc file because of the rename action
Rename the Ui libraries,so need to update the Nt32Pkg.dsc file.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19669
6f19259b-4bc3-4df7-8a09-
765794883524
Dandan Bi [Tue, 19 Jan 2016 03:31:15 +0000 (03:31 +0000)]
MdeModulePkg:Modify the dsc file because of the rename action
Rename the Ui libraries,so need to update the MdeModulePkg.dsc file.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19668
6f19259b-4bc3-4df7-8a09-
765794883524
Dandan Bi [Tue, 19 Jan 2016 03:30:57 +0000 (03:30 +0000)]
MdeModulePkg:Modify related files because of rename action
Rename DeviceManagerLib,need to modify these files.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19667
6f19259b-4bc3-4df7-8a09-
765794883524
Dandan Bi [Tue, 19 Jan 2016 03:30:33 +0000 (03:30 +0000)]
MdeModulePkg:Rename DeviceManagerLib to DeviceManagerUiLib
Avoid any confusion,add the keyword "Ui",
user can understand the use of the library clearly.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19666
6f19259b-4bc3-4df7-8a09-
765794883524
Dandan Bi [Tue, 19 Jan 2016 03:30:02 +0000 (03:30 +0000)]
MdeModulePkg:Modify relative files because of rename action
Rename BootManagerLib,need to modify these files.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19665
6f19259b-4bc3-4df7-8a09-
765794883524
Dandan Bi [Tue, 19 Jan 2016 03:29:40 +0000 (03:29 +0000)]
MdeModulePkg:Rename BootManagerLib to BootManagerUiLib
Avoid any confusion,add the keyword "Ui",
user can understand the use of the library clearly.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19664
6f19259b-4bc3-4df7-8a09-
765794883524
Dandan Bi [Tue, 19 Jan 2016 03:29:10 +0000 (03:29 +0000)]
MdeModulePkg:Modify the inf file and c file because of the rename action
Rename BootMaintenanceManagerLib,need to modify these files.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19663
6f19259b-4bc3-4df7-8a09-
765794883524
Dandan Bi [Tue, 19 Jan 2016 03:28:46 +0000 (03:28 +0000)]
MdeModulePkg:Rename BootMaintenanceManagerLib to BootMaintenanceManagerUiLib
Avoid any confusion,add the keyword "Ui",
user can understand the use of the library clearly.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19662
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Mon, 18 Jan 2016 05:51:18 +0000 (05:51 +0000)]
SecurityPkg: Update final event log calculation.
This patch updated final event log calculation based on
TCG EFI PROTOCOL rev9, 7.1.2 "All options implementation".
The previous logic is to save event to final event log
once GetEventLog() is called. 7.1.1 shows that we should
save event log to both normal even log area and final event
log area after GetEventLog() is called.
And there is no need to record TCG12 format log to final
event log area, and normal event log area can be BootServices
memory because OS will not access it directly.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19661
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Mon, 18 Jan 2016 05:49:39 +0000 (05:49 +0000)]
SecurityPkg: Correct NumberOfPCRBanks calculation.
Previously, NumberOfPCRBanks is calculated based on TPM
capability. However, there might be a case that TPM hardware
support 1 algorithm, but BIOS does not support and BIOS
mask it via PCD. This causes the conflict between
HashAlgorithmBitmap and NumberOfPCRBanks.
So we move the NumberOfPCRBanks calculation based on
HashAlgorithmBitmap to make sure the data is consistent.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19660
6f19259b-4bc3-4df7-8a09-
765794883524
Yao, Jiewen [Mon, 18 Jan 2016 05:48:32 +0000 (05:48 +0000)]
SecurityPkg: Replace TREE macro with TCG2.
Since Tcg2Dxe driver follows TCG spec, we should use
TCG2 MACRO, instead of TREE macro.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19659
6f19259b-4bc3-4df7-8a09-
765794883524
Ruiyu Ni [Mon, 18 Jan 2016 04:50:18 +0000 (04:50 +0000)]
MdeModulePkg: Add generic PciHostBridgeDxe driver.
This driver links to PciHostBridgeLib provided by platform/silicon to
produce PciRootBridgeIo and PciHostBridgeResourceAllocation protocol.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19658
6f19259b-4bc3-4df7-8a09-
765794883524
Ruiyu Ni [Mon, 18 Jan 2016 04:50:04 +0000 (04:50 +0000)]
MdePkg: Add PciSegmentLib instance based on PciLib
This PciSegmentLib instance only supports Segment 0 access.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19657
6f19259b-4bc3-4df7-8a09-
765794883524
Ruiyu Ni [Mon, 18 Jan 2016 04:49:54 +0000 (04:49 +0000)]
MdeModulePkg: Add PciHostBridgeLibNull
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19656
6f19259b-4bc3-4df7-8a09-
765794883524
Ruiyu Ni [Mon, 18 Jan 2016 04:49:22 +0000 (04:49 +0000)]
MdeModulePkg: Add new library class PciHostBridgeLib
PciHostBridgeDxe driver needs PciHostBridgeLib implemented by platform
to provide the root bridge related information and may call into
PciHostBridgeLib when resource conflicts happen.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19655
6f19259b-4bc3-4df7-8a09-
765794883524
Liming Gao [Mon, 18 Jan 2016 03:03:19 +0000 (03:03 +0000)]
EdkCompatibilityPkg: Fix wrong guid value of gEfiManagedNetworkProtocolGuid
UEFI2.1B corrects the guid value of gEfiManagedNetworkProtocolGuid.
ECP package updates its value in ManagedNetwork.h, but miss the one
in EdkIIGlueLib.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19654
6f19259b-4bc3-4df7-8a09-
765794883524
Jiaxin Wu [Mon, 18 Jan 2016 01:59:41 +0000 (01:59 +0000)]
NetworkPkg: Fix SPD entry edit policy issue in IPSecConfig.
The current implementation doesn't handle the relationship
between SPD and SAD well, which may introduce some security
and connection issue after SPD updated.
For SPD entry edit policy, if one SPD entry is edited/updated,
the original SAs list should be discard. Current IPSecConfig
tool does not dealt properly with those rules.
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19653
6f19259b-4bc3-4df7-8a09-
765794883524
Jiaxin Wu [Mon, 18 Jan 2016 01:59:16 +0000 (01:59 +0000)]
NetworkPkg: Fix IpSec SPD and SAD mapping issue when SPD is updated
The current implementation doesn't handle the relationship between
SPD and SAD well, which may introduce some security and connection
issue after SPD updated.
For SPD SetData policy:
A) When delete the existed SPD entry, its related SAs also should be
removed from its Sas list(SadEntry->BySpd). If the SA entry is
established by IKE, we can remove it from global SAD list(SadEntry->List)
and then free it directly since its SpdEntry will be freed later.
B) SPD SetData operation should do some setting date validity-check.
For example, whether the SaId specified by setting Data is valid. If
the setting date is invalid, EFI_INVALID_PARAMETER should be returned.
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19652
6f19259b-4bc3-4df7-8a09-
765794883524
Yonghong Zhu [Mon, 18 Jan 2016 01:47:50 +0000 (01:47 +0000)]
BaseTools: VPD Tool to allocate VPD region be aligned based on value type
Base on build spec update, ASCII strings(“string”), will be byte aligned,
Unicode strings(L”string”) will be two-byte aligned, Byte arrays,
{0x00, 0x01} will be 8-byte aligned.
This patch is going to update VPD Tool to allocate VOID* PCDs to an offset
value that is aligned based in syntax of the PCD value.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19651
6f19259b-4bc3-4df7-8a09-
765794883524
Yonghong Zhu [Mon, 18 Jan 2016 01:46:25 +0000 (01:46 +0000)]
BaseTools: VOID* PCDs in VPD region must be aligned based on value type
Base on build spec update, ASCII strings(“string”), will be byte aligned,
Unicode strings(L”string”) will be two-byte aligned, Byte arrays,
{0x00, 0x01} will be 8-byte aligned.
This patch is going to halt with an error message if a VOID* PCD has an
offset value that is not aligned based on the syntax of the PCD value.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19650
6f19259b-4bc3-4df7-8a09-
765794883524
Yonghong Zhu [Mon, 18 Jan 2016 01:42:20 +0000 (01:42 +0000)]
BaseTools: Fix GenPatchPcdTable to support '-' characters in file names
The Regular Expression parsing of lines in MAP files does not currently
support the use of '-' in the column for the filename the symbol is
sources from, it cause a build break from the GenPatchPcdTable.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19649
6f19259b-4bc3-4df7-8a09-
765794883524
Tapan Shah [Fri, 15 Jan 2016 17:05:18 +0000 (17:05 +0000)]
ShellPkg: Update 'dh' command to reflect correct driver handle information
'dh' command shows Supported EFI Specification Version value as DriverVersion. Changing it to 'SupportedEfiSpecVersion' to provide more accurate information.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tapan Shah <tapandshah@hpe.com>
Reviewed-by: Samer El-Haj-Mahmoud <elhaj@hpe.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19648
6f19259b-4bc3-4df7-8a09-
765794883524
Dandan Bi [Fri, 15 Jan 2016 09:50:40 +0000 (09:50 +0000)]
MdeModulePkg:Fix the potential memory leak issue in Display Engine
The MenuOption insert to gMenuOption allocate memory every time,but not free.
Now add the code to free it.And for Date/Time,it will create 3 menus,but previously
the Description point to the same address,so when free the Description,it will cause
issue,now reset the Description pointer.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19647
6f19259b-4bc3-4df7-8a09-
765794883524
Chao Zhang [Fri, 15 Jan 2016 05:26:04 +0000 (05:26 +0000)]
SecurityPkg: SecureBootConfigDxe: Fix string typo
Fix secure boot mode transition string typo.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Qin Long <qin.long@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19646
6f19259b-4bc3-4df7-8a09-
765794883524
Chao Zhang [Fri, 15 Jan 2016 01:06:51 +0000 (01:06 +0000)]
SecurityPkg: SecureBootConfigDxe: Enhance secure boot string update logic
ExtractConfig is called many times, so it's not efficient to update Secure Boot STR_SECURE_BOOT_STATE_CONTENT, STR_CUR_SECURE_BOOT_MODE_CONTENT string in ExtractConfig.
As these 2 strings are displayed on one form, always update them when opening the form.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19645
6f19259b-4bc3-4df7-8a09-
765794883524
Chao Zhang [Fri, 15 Jan 2016 00:58:37 +0000 (00:58 +0000)]
SecurityPkg: SecureBootConfigDxe: Change KEY_TRANS_SECURE_BOOT_MODE value
Change KEY_TRANS_SECURE_BOOT_MODE value, as it conflicts with OPTION_DEL_KEK_QUESTION_ID.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Qin Long <qin.long@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19644
6f19259b-4bc3-4df7-8a09-
765794883524
Jiaxin Wu [Thu, 14 Jan 2016 03:00:38 +0000 (03:00 +0000)]
NetworkPkg: Remove DNS QType and QClass definition
This patch is used to remove DNS QType and QClass definition in
DnsImpl.h since it will be exposed in NetLib.h.
Cc: Hegde Nagaraj P <nagaraj-p.hegde@hpe.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Hegde Nagaraj P <nagaraj-p.hegde@hpe.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19643
6f19259b-4bc3-4df7-8a09-
765794883524
Jiaxin Wu [Thu, 14 Jan 2016 03:00:16 +0000 (03:00 +0000)]
MdeModulePkg: Add DNS QType and QClass values definition
This patch is used to add DNS QType and QClass values definition
in NetLib.h
Cc: Hegde Nagaraj P <nagaraj-p.hegde@hpe.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Hegde Nagaraj P <nagaraj-p.hegde@hpe.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19642
6f19259b-4bc3-4df7-8a09-
765794883524
Paulo Alcantara [Tue, 12 Jan 2016 01:37:48 +0000 (01:37 +0000)]
NetworkPkg: Fix some typos in Http boot driver.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paulo Alcantara <paulo.alc.cavalcanti@hp.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19640
6f19259b-4bc3-4df7-8a09-
765794883524
Chao Zhang [Tue, 12 Jan 2016 00:37:02 +0000 (00:37 +0000)]
SecurityPkg: TcgDxe,Tcg2Dxe,TrEEDxe: New PCD for TCG event log and TCG2 final event log area
TCG event log and TCG2 final event log area length can be configurable to meet platform event log
requirement.
PcdTcgLogAreaMinLen : 0x10000 based on minimum requirement in TCG ACPI Spec 00.37
PcdTcg2FinalLogAreaLen : 0x8000 based on experience value
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
Reviewed-by: Qin Long <qin.long@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19639
6f19259b-4bc3-4df7-8a09-
765794883524