MdeModulePkg/AtaAtapiPassThru: To follow UEFI 2.4, updating the implementation of ATA_PASS_THRU.PassThru() to allow sending ATA cmds to ATAPI devices.

Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Eric Jin <eric.jin@intel.com>




git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14681 6f19259b-4bc3-4df7-8a09-765794883524
Fix a bug in Ip4 driver that Ip4.Transmit() interface may return EFI_INVALID_PARAMETER without restore TPL.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Jin Eric <eric.jin@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14682 6f19259b-4bc3-4df7-8a09-765794883524
Add TPM2 related header file.
signed off by: jiewen.yao@intel.com
reviewed by: liming.gao@intel.com

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14686 6f19259b-4bc3-4df7-8a09-765794883524
Add TPM2 implementation.

signed off by: jiewen.yao@intel.com
reviewed by: guo.dong@intel.com

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14687 6f19259b-4bc3-4df7-8a09-765794883524
ShellPkg: Handle pool allocation failure

If AllocateZeroPool() returns NULL,
GetVariable() will return EFI_BUFFER_TOO_SMALL,
FreePool() will receive NULL.
So check for NULL before FreePool().

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Sergei Antonov <saproj@gmail.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14688 6f19259b-4bc3-4df7-8a09-765794883524
ShellPkg: Handle pool allocation failure

FreePool() will receive NULL if AllocateZeroPool() fails.
So a check for NULL is needed.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Sergei Antonov <saproj@gmail.com>
reviewed-by: jaben carsey <jaben.carsey@gmail.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14689 6f19259b-4bc3-4df7-8a09-765794883524
OvmfPkg: resolve TpmMeasurementLib dependency introduced in r14687

(1) OVMF depends on

  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf

unconditionally.

(2) When OVMF is built with -D SECURE_BOOT_ENABLE, then

  SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf

is injected into SecurityStubDxe above.

(3) SVN r14687 ("Add TPM2 implementation.") has made
DxeImageVerificationLib dependent on TpmMeasurementLib.

Currently the last link of the

  OVMF -> SecurityStubDxe -> DxeImageVerificationLib -> TpmMeasurementLib

dependency chain is unresolved:

  build.py...
  /.../OvmfPkg/OvmfPkgX64.dsc(...): error 4000: Instance of library class [TpmMeasurementLib] is not found
  in [/.../SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf] [X64]
  consumed by module [/.../MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf]

Let's provide a library instance for TpmMeasurementLib the same way as
"SecurityPkg/SecurityPkg.dsc" does (SVN r13964.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14690 6f19259b-4bc3-4df7-8a09-765794883524
Resolve GCC build error, where #pragma pack(push[, id], <n>) is not supported.

signed off by: jiewen.yao@intel.com


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14691 6f19259b-4bc3-4df7-8a09-765794883524
resolve TpmMeasurementLib dependency introduced in r14687

signed off by: jiewen.yao@intel.com

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14692 6f19259b-4bc3-4df7-8a09-765794883524
Add missing comments for function parameters.

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14694 6f19259b-4bc3-4df7-8a09-765794883524
MdeModulePkg/NvmExpressDxe: Fix an issue of potential uninitialized local variable

Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14695 6f19259b-4bc3-4df7-8a09-765794883524
EdkShellPkg: Add Aarch64 support

* Update the EFI Shell patch to use SVN rev 64 (was rev 61)
* Modify build system to enable compilation targeting Aarch64 platform.
* Modify patch to apply on EdkShell sources to add support for Aarch64.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14699 6f19259b-4bc3-4df7-8a09-765794883524
ArmPkg/CpuDxe: Fixed the condition that checks if the level-1 descriptor points to a level-2 page table

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14700 6f19259b-4bc3-4df7-8a09-765794883524
LcdGraphicsOutputDxe: Fix BltVideoFill for non-32-bit architectures

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14701 6f19259b-4bc3-4df7-8a09-765794883524
ArmPlatformPkg/LcdGraphicsOutputDxe: Call LcdShutdown() on ExitBootServices() if PcdGopDisableOnExitBootServices

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14702 6f19259b-4bc3-4df7-8a09-765794883524
SemihostFs: Fix check for read-only file or file-open

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14703 6f19259b-4bc3-4df7-8a09-765794883524
ArmPkg/ArmLib: Revert change 'Fixed field shifting in CLIDR_EL1 (AArch64)'

The shift by 1 on the left was expected. It eases the access to CSSELR and set/way operations
where the cache level field is at the BIT1 position.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14704 6f19259b-4bc3-4df7-8a09-765794883524
LcdGraphicsOutputDxe: Update FrameBufferSize as per UEFI spec section 11.9

The shift by 1 on the left was expected. It eases the access to CSSELR and set/way operations
where the cache level field is at the BIT1 position.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14705 6f19259b-4bc3-4df7-8a09-765794883524
MmcDxe Diagnostics: return EFI_UNSUPPORTED for Language other than english

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14706 6f19259b-4bc3-4df7-8a09-765794883524
ShellBinPkg: Update binaries

from SVN 14706

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.carsey@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14707 6f19259b-4bc3-4df7-8a09-765794883524