]> git.proxmox.com Git - mirror_edk2.git/log
mirror_edk2.git
8 years agoNetworkPkg: Update HttpDxe driver to consume EFI_HTTP_UTILITIES_PROTOCOL
Jiaxin Wu [Wed, 26 Aug 2015 06:19:53 +0000 (06:19 +0000)]
NetworkPkg: Update HttpDxe driver to consume EFI_HTTP_UTILITIES_PROTOCOL

v2:
* Register a notification function to be executed for Http utilities protocol
in the drivers entry points.

Since we add EFI_HTTP_UTILITIES_PROTOCOL support, HttpDxe driver should
be updated to remove internal http utilities functions and consume this
protocol directly.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Samer El-Haj-Mahmoud <elhaj@hp.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-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@18316 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNetworkPkg: Update the DnsDhcp.c to use BSD license
Jiaxin Wu [Wed, 26 Aug 2015 06:19:19 +0000 (06:19 +0000)]
NetworkPkg: Update the DnsDhcp.c to use BSD license

This patch is used to update the DnsDhcp.c to use BSD license.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18315 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg: Make the FileHandleGetFileName return the file name in right format.
Qiu Shumin [Wed, 26 Aug 2015 02:25:42 +0000 (02:25 +0000)]
MdePkg: Make the FileHandleGetFileName return the file name in right format.

1. If the file is not a directory remove the redundant '\' char in file name string returned from UefiFileHandleLib.FileHandleGetFileName.
2. Update function comments.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18314 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg/Xhci: Remove TDs from transfer ring when timeout happens
Feng Tian [Wed, 26 Aug 2015 01:19:09 +0000 (01:19 +0000)]
MdeModulePkg/Xhci: Remove TDs from transfer ring when timeout happens

The error handling for timeout case is enhanced to remove TDs from
transfer ring. The original code only removed s/w URB, but the h/w
transfer descriptor TDs didn't get removed. It would cause data lost
for data stream peripheral, such as usb-to-serial device, from the
s/w perspective.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Baraneedharan Anbazhagan <anbazhagan@hp.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18313 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg PiSmmCore: Prevent overlap for gSmmCorePrivate and CommBuffer
Star Zeng [Wed, 26 Aug 2015 01:10:39 +0000 (01:10 +0000)]
MdeModulePkg PiSmmCore: Prevent overlap for gSmmCorePrivate and CommBuffer

InternalIsBufferOverlapped() is created to check overlap between buffers.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18312 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoSecurityPkg: Fix one returned code issue in P7Verify Protocol
Qin Long [Wed, 26 Aug 2015 00:59:17 +0000 (00:59 +0000)]
SecurityPkg: Fix one returned code issue in P7Verify Protocol

VerifyBuffer() in PKCS7 Verify Protocol should return EFI_UNSUPPORTED
when the embedded content is found in SignedData but InData is not NULL.
This patch is to comply with the spec definition.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qin Long <qin.long@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18311 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoShellPkg: use UEFI_APPLICATION module type for Shell components
Ard Biesheuvel [Tue, 25 Aug 2015 14:54:36 +0000 (14:54 +0000)]
ShellPkg: use UEFI_APPLICATION module type for Shell components

Some of the libraries under ShellPkg/Library/ are only intended to be
loaded into the Shell by means of a NULL LibraryClass resolution, and
serve no other purpose. Since the Shell itself is a UEFI_APPLICATION, it
makes sense to set the module type of those libraries to UEFI_APPLICATION
as well.

This allows us to use different compiler flags for the Shell application
itself but also for the majority of its constituent parts that are built
separately via these libraries.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18310 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoArmPlatformPkg/FVP: unify support for Foundation and Base models
Ard Biesheuvel [Tue, 25 Aug 2015 13:11:25 +0000 (13:11 +0000)]
ArmPlatformPkg/FVP: unify support for Foundation and Base models

Now that the PL180 and PL111 drivers know how to behave when executed
on the Foundation model (which does not emulate the hardware), we can
remove the ARM_FOUNDATION_FVP ifdefs and produce a single build that
runs on both the Foundation model and the Base model.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18309 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoArmPlatformPkg/LcdGraphicsOutputDxe: check PrimeCell ID before initializing
Ard Biesheuvel [Tue, 25 Aug 2015 13:11:11 +0000 (13:11 +0000)]
ArmPlatformPkg/LcdGraphicsOutputDxe: check PrimeCell ID before initializing

To deal gracefully with the absence of the PL111 hardware on
the Foundation model, check the PrimeCell ID before proceeding
with the installation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18308 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoArmPlatformPkg/PL180MciDxe: check PrimeCell ID before initializing
Ard Biesheuvel [Tue, 25 Aug 2015 13:11:02 +0000 (13:11 +0000)]
ArmPlatformPkg/PL180MciDxe: check PrimeCell ID before initializing

To deal gracefully with the absence of the PL180 hardware on
the Foundation model, check the PrimeCell ID before proceeding
with the installation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18307 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNt32Pkg: Keep boot behavior using new BDS almost same as that using old BDS
Ruiyu Ni [Tue, 25 Aug 2015 09:51:07 +0000 (09:51 +0000)]
Nt32Pkg: Keep boot behavior using new BDS almost same as that using old BDS

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18306 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg PeiCore: Recheck SwitchStackSignal after ProcessNotifyList()
Star Zeng [Tue, 25 Aug 2015 07:05:48 +0000 (07:05 +0000)]
MdeModulePkg PeiCore: Recheck SwitchStackSignal after ProcessNotifyList()

in case PeiInstallPeiMemory() is done in a callback with
EFI_PEI_PPI_DESCRIPTOR_NOTIFY_DISPATCH, and the callback is registered on
a PPI that is installed in the last PEIM.

At the case, PeiCore SwitchStack code will be not being invoked.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@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@18305 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg SmmLegacyBoot.h: Add a "," after copyright year
Star Zeng [Tue, 25 Aug 2015 06:29:33 +0000 (06:29 +0000)]
MdeModulePkg SmmLegacyBoot.h: Add a "," after copyright year

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18299 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Fix UefiBootManagerLib.inf license header.
Ruiyu Ni [Tue, 25 Aug 2015 06:27:01 +0000 (06:27 +0000)]
MdeModulePkg: Fix UefiBootManagerLib.inf license header.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18298 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Add PlatformVarCleanupLib library
Star Zeng [Tue, 25 Aug 2015 03:11:06 +0000 (03:11 +0000)]
MdeModulePkg: Add PlatformVarCleanupLib library

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18295 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Add VarCheckPcdLib NULL class library
Star Zeng [Tue, 25 Aug 2015 03:10:32 +0000 (03:10 +0000)]
MdeModulePkg: Add VarCheckPcdLib NULL class library

The check will be based on PcdVarCheck binary that generated
by BaseTools.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18294 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Add VarCheckHiiLib NULL class library
Star Zeng [Tue, 25 Aug 2015 03:10:04 +0000 (03:10 +0000)]
MdeModulePkg: Add VarCheckHiiLib NULL class library

The check will be based on VarCheckHiiBin that generated
from FV and Hii Database.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18293 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoVlv2TbltDevicePkg: Link separated VarCheckUefiLib NULL class library instance
Star Zeng [Tue, 25 Aug 2015 03:04:18 +0000 (03:04 +0000)]
Vlv2TbltDevicePkg: Link separated VarCheckUefiLib NULL class library instance

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: David Wei <david.wei@intel.com>
Reviewed-by: Tim He <tim.he@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18292 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoArmPlatformPkg: Link separated VarCheckUefiLib NULL class library instance
Star Zeng [Tue, 25 Aug 2015 03:03:52 +0000 (03:03 +0000)]
ArmPlatformPkg: Link separated VarCheckUefiLib NULL class library instance

Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18291 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoArmVirtPkg: Link separated VarCheckUefiLib NULL class library instance
Star Zeng [Tue, 25 Aug 2015 03:03:23 +0000 (03:03 +0000)]
ArmVirtPkg: Link separated VarCheckUefiLib NULL class library instance

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18290 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoEmulatorPkg: Link separated VarCheckUefiLib NULL class library instance
Star Zeng [Tue, 25 Aug 2015 03:03:05 +0000 (03:03 +0000)]
EmulatorPkg: Link separated VarCheckUefiLib NULL class library instance

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18289 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoOvmfPkg: Link separated VarCheckUefiLib NULL class library instance
Star Zeng [Tue, 25 Aug 2015 03:02:46 +0000 (03:02 +0000)]
OvmfPkg: Link separated VarCheckUefiLib NULL class library instance

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18288 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNt32Pkg: Link separated VarCheckUefiLib NULL class library instance
Star Zeng [Tue, 25 Aug 2015 03:02:18 +0000 (03:02 +0000)]
Nt32Pkg: Link separated VarCheckUefiLib NULL class library instance

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18287 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg Variable: Consume the separated VarCheckLib
Star Zeng [Tue, 25 Aug 2015 03:01:56 +0000 (03:01 +0000)]
MdeModulePkg Variable: Consume the separated VarCheckLib

Since the variable check service has be separated to VarCheckLib
from Variable driver, so update Variable driver to consume the
separated VarCheckLib.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18286 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoVlv2TbltDevicePkg: Add VarCheckLib library mapping
Star Zeng [Tue, 25 Aug 2015 03:01:13 +0000 (03:01 +0000)]
Vlv2TbltDevicePkg: Add VarCheckLib library mapping

Since Variable driver has been updated to consume the separated VarCheckLib.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: David Wei <david.wei@intel.com>
Reviewed-by: Tim He <tim.he@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18285 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoArmPlatformPkg: Add VarCheckLib library mapping
Star Zeng [Tue, 25 Aug 2015 03:00:44 +0000 (03:00 +0000)]
ArmPlatformPkg: Add VarCheckLib library mapping

Since Variable driver has been updated to consume the separated VarCheckLib.

Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18284 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoArmVirtPkg: Add VarCheckLib library mapping
Star Zeng [Tue, 25 Aug 2015 03:00:20 +0000 (03:00 +0000)]
ArmVirtPkg: Add VarCheckLib library mapping

Since Variable driver has been updated to consume the separated VarCheckLib.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18283 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoEmulatorPkg: Add VarCheckLib library mapping
Star Zeng [Tue, 25 Aug 2015 02:59:52 +0000 (02:59 +0000)]
EmulatorPkg: Add VarCheckLib library mapping

Since Variable driver has been updated to consume the separated VarCheckLib.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18282 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoOvmfPkg: Add VarCheckLib library mapping
Star Zeng [Tue, 25 Aug 2015 02:59:25 +0000 (02:59 +0000)]
OvmfPkg: Add VarCheckLib library mapping

Since Variable driver has been updated to consume the separated VarCheckLib.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18281 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNt32Pkg: Add VarCheckLib library mapping
Star Zeng [Tue, 25 Aug 2015 02:59:00 +0000 (02:59 +0000)]
Nt32Pkg: Add VarCheckLib library mapping

Since Variable driver has been updated to consume the separated VarCheckLib.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18280 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Add VarCheckUefiLib NULL class library
Star Zeng [Tue, 25 Aug 2015 02:58:36 +0000 (02:58 +0000)]
MdeModulePkg: Add VarCheckUefiLib NULL class library

What to do: Implement VarCheckUefiLib NULL class library instance.
The code logic are separated from Variable driver, and it will consume VarCheckLib
to register var check handler and variable property set for UEFI defined variables.

Why to do: Share code.
Separate variable check UEFI code from Variable driver in MdeModulePkg.
We are going to separate generic software logic code from Variable Driver
to benefit other variable driver implementation. Auth services has been done
to be AuthVariableLib, now to cover variable check service.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18279 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Add VarCheckLib library
Star Zeng [Tue, 25 Aug 2015 02:58:09 +0000 (02:58 +0000)]
MdeModulePkg: Add VarCheckLib library

What to do:
1. Add VarCheckLib LibraryClass definitions.
2. Implement VarCheckLib library instance.
The code logic are separated from Variable driver.

Why to do: Share code.
Separate variable check service from Variable driver in MdeModulePkg.
We are going to separate generic software logic code from Variable Driver
to benefit other variable driver implementation. Auth services has been done
to be AuthVariableLib, now to cover variable check service.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18278 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoSecurityPkg: Use PcdGetSize to get the size of VOID* PCD value.
Liming Gao [Tue, 25 Aug 2015 01:55:52 +0000 (01:55 +0000)]
SecurityPkg: Use PcdGetSize to get the size of VOID* PCD value.

PcdLib introduces generic API to get the size of VOID* PCD value.
Update Pei and Dxe RsaGuidedLib to use generic PCD API instead of GetEx API.
This change can remove PCD type limitation in these two libraries.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18277 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg/Library/UefiFileHandleLib: Make FileHandleReadLine return the right buffer...
Qiu Shumin [Mon, 24 Aug 2015 07:42:27 +0000 (07:42 +0000)]
MdePkg/Library/UefiFileHandleLib: Make FileHandleReadLine return the right buffer size.

1. '\r' char will not return in buffer so buffer size should exclude the number of '\r' char.
2. When 'Truncate' is TRUE return the truncated string with 'EFI_SUCCESS' status.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-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@18276 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoSourceLevelDebugPkg: Update package version to 0.96 to reflect new changes
Ruiyu Ni [Mon, 24 Aug 2015 06:38:24 +0000 (06:38 +0000)]
SourceLevelDebugPkg: Update package version to 0.96 to reflect new changes

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Fan Jeff <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18275 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg:Refine the code in HiiDatabaseDxe
Dandan Bi [Mon, 24 Aug 2015 06:25:50 +0000 (06:25 +0000)]
MdeModulePkg:Refine the code in HiiDatabaseDxe

Check the local variable 'NameSpace' before use it.

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: Qiu Shumin <shumin.qiu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18274 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Fix BdsDxe VS2015 build failure
Ruiyu Ni [Mon, 24 Aug 2015 05:49:24 +0000 (05:49 +0000)]
MdeModulePkg: Fix BdsDxe VS2015 build failure

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@18273 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools: Update SetPcdPtr in AutoGen Code
Liming Gao [Mon, 24 Aug 2015 05:02:35 +0000 (05:02 +0000)]
BaseTools: Update SetPcdPtr in AutoGen Code

For patchable PCD, map SetPcdPtr() to LibPatchPcdSetPtrAndSize(),
then the size of the updated VOID* value can be cached.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18272 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools: Fix AutoGen issue for Patchable VOID* PCD.
Liming Gao [Mon, 24 Aug 2015 05:02:07 +0000 (05:02 +0000)]
BaseTools: Fix AutoGen issue for Patchable VOID* PCD.

Patchable VOID* PCD set operation should map LibPatchPcdSetPtr()
and LibPatchPcdSetPtrS() API. This has been done when PCD is used
in driver, but not done when PCD is used in library.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18271 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools: Generate macro for the size of PCD value
Bob Feng [Mon, 24 Aug 2015 05:01:38 +0000 (05:01 +0000)]
BaseTools: Generate macro for the size of PCD value

PcdLib introduces new APIs to get the size of PCD value.
BaseTools generates those macros in AutoGen code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18270 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg: Add two PcdApi for Patch VOID* PCD set operation.
Liming Gao [Mon, 24 Aug 2015 05:01:11 +0000 (05:01 +0000)]
MdePkg: Add two PcdApi for Patch VOID* PCD set operation.

Two new APIs LibPatchPcdSetPtrAndSize() and LibPatchPcdSetPtrAndSizeS()
are added to catch the size of the updated VOID* PCD value buffer, then
PcdGetSize() API can return the actual size.

Update three PcdLib instances to implement these two APIs.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18269 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg: Add four PcdGetSize() API in PcdLib
Liming Gao [Mon, 24 Aug 2015 05:00:32 +0000 (05:00 +0000)]
MdePkg: Add four PcdGetSize() API in PcdLib

Add below four PcdGetSize() API in PcdLib header file. They can be used
to get the size of PCD value.
FixedPcdGetSize()
PatchPcdGetSize()
PcdGetSize()
PcdGetExSize()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18268 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools: Add NULL pointer check in AutoGen code
Liming Gao [Mon, 24 Aug 2015 05:00:05 +0000 (05:00 +0000)]
BaseTools: Add NULL pointer check in AutoGen code

For DynamicEx PCD, if NULL pointer is specified as token space GUID,
it will directly be used to compare GUID value in AutoGen code.
To avoid access NULL pointer, NULL pointer will be checked first.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18267 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg: Update DEC and DSC version from 1.05 to 1.06
Liming Gao [Mon, 24 Aug 2015 04:59:38 +0000 (04:59 +0000)]
MdePkg: Update DEC and DSC version from 1.05 to 1.06

UEFI2.5 and PI1.4 have been added in MdePkg. Update DEC and DSC version
to reflect those changes in MdePkg.

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@18266 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg/Library/UefiFileHandleLib: Update the module Basename and module type to ...
Qiu Shumin [Mon, 24 Aug 2015 03:05:02 +0000 (03:05 +0000)]
MdePkg/Library/UefiFileHandleLib: Update the module Basename and module type to 'UEFI*'.

The library instance is not BASE type, to follow naming convention this patch change Basename into 'Uefi*Lib' and module type into 'UEFI_DRIVER'.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-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@18265 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools/Ecc: Remove checkpoint for STATIC modifier
Hess Chen [Mon, 24 Aug 2015 02:53:27 +0000 (02:53 +0000)]
BaseTools/Ecc: Remove checkpoint for STATIC modifier

Remove checkpoint for STATIC modifier to allow this usage

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: YangX Li <yangx.li@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18264 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg: Follow PI spec to update ExtendedSize in EFI_FFS_FILE_HEADER2
Star Zeng [Mon, 24 Aug 2015 01:43:20 +0000 (01:43 +0000)]
MdePkg: Follow PI spec to update ExtendedSize in EFI_FFS_FILE_HEADER2

for FFS data above 16 bytes alignment requirement.

PI spec requires FFS header to be at 8 bytes alignment to FV header.
And, FFS data alignment requires the beginning of the file data must
be aligned on a particular boundary, such as 1, 16, 128 bytes or above.
If FFS data alignment requires to be above 16 bytes, and FFS header
must be at 8 byte alignment, so FFS header size must be multiple of 8.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18263 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools: Follow PI spec to update ExtendedSize in EFI_FFS_FILE_HEADER2
Star Zeng [Mon, 24 Aug 2015 01:42:37 +0000 (01:42 +0000)]
BaseTools: Follow PI spec to update ExtendedSize in EFI_FFS_FILE_HEADER2

for FFS data above 16 bytes alignment requirement.

PI spec requires FFS header to be at 8 bytes alignment to FV header.
And, FFS data alignment requires the beginning of the file data must
be aligned on a particular boundary, such as 1, 16, 128 bytes or above.
If FFS data alignment requires to be above 16 bytes, and FFS header
must be at 8 byte alignment, so FFS header size must be multiple of 8.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18262 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNt32Pkg: Add HttpUtilitiesDxe module
Jiaxin Wu [Mon, 24 Aug 2015 01:24:44 +0000 (01:24 +0000)]
Nt32Pkg: Add HttpUtilitiesDxe module

This patch is used to add HttpUtilitiesDxe module.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@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: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18261 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNetworkPkg: Add HTTP utilities driver
Jiaxin Wu [Mon, 24 Aug 2015 01:24:20 +0000 (01:24 +0000)]
NetworkPkg: Add HTTP utilities driver

This patch is used to add HTTP utilities driver.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Siyuan Fu <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: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18260 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg: Add header file for HTTP utilities protocol
Jiaxin Wu [Mon, 24 Aug 2015 01:23:50 +0000 (01:23 +0000)]
MdePkg: Add header file for HTTP utilities protocol

This patch is used to add header files for HTTP utilities protocol.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Liming Gao <liming.gao@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: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18259 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoOvmfPkg: Add HttpBoot support
Gary Ching-Pang Lin [Sun, 23 Aug 2015 01:44:15 +0000 (01:44 +0000)]
OvmfPkg: Add HttpBoot support

This commit introdues a new build option to OvmfPkg: HTTP_BOOT_ENABLE.
When HttpBoot is enabled, a new Network boot option will show in the
boot manager menu with the device path like this:

PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)/Uri()

It works like the PXE one but fetches the NBP from the given http
url instead of the tftp service.

A simple testing environment can be set up with the QEMU tap network
and dnsmasq + lighttpd.

Here is the example of the dnsmasq config:

  interface=<tap interface>
  dhcp-range=192.168.111.100,192.168.111.120,12h
  dhcp-option=60,"HTTPClient"
  dhcp-boot="http://<tap ip>/<efi file>"

It's similar to the PXE server settings except the tftp function is
disabled, the option 60 must be "HTTPClient", and the boot uri is a
http url.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-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@18258 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNetworkPkg: Remove the hostname from the http request URL.
Gary Ching-Pang Lin [Sat, 22 Aug 2015 12:35:19 +0000 (12:35 +0000)]
NetworkPkg: Remove the hostname from the http request URL.

Per RFC7230, the URL must be a absolute-path when making a request directly to
the server. Since proxy is not supported now, all requests to the HTTP driver
are actually direct requests. This commit removes the scheme and the hostname
from the URL in the http request if the URL is an absolute-URI so that the HTTP
server can interpret the request properly.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Ching-Pang Lin <glin@suse.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@18257 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools: Fix build fail when the number in validlist is long type.
Bob Feng [Fri, 21 Aug 2015 01:09:16 +0000 (01:09 +0000)]
BaseTools: Fix build fail when the number in validlist is long type.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Bob Feng" <bob.c.feng@intel.com>
Reviewed-by: "Chen, Hesheng" <hesheng.chen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18256 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoCryptoPkg: Add a missed include file to fix the possible build issue.
Qin Long [Thu, 20 Aug 2015 08:49:31 +0000 (08:49 +0000)]
CryptoPkg: Add a missed include file to fix the possible build issue.

Add a missed include file (UefiBaseType.h) into BaseCryptLib.h, since
EFI_TIME was introduced in the new crypto API (ImageTimestampVerify).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qin Long <qin.long@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18255 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg:Fix build fail in VS2008
Dandan Bi [Thu, 20 Aug 2015 08:46:15 +0000 (08:46 +0000)]
MdeModulePkg:Fix build fail in VS2008

Fix the potentially uninitialized local variable

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@18254 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoIntelFrameworkModulePkg: Update DEC and DSC version from 0.94 to 0.96
Feng Tian [Thu, 20 Aug 2015 08:46:05 +0000 (08:46 +0000)]
IntelFrameworkModulePkg: Update DEC and DSC version from 0.94 to 0.96

Update DEC and DSC version to reflect new changes.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18253 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoIntelFrameworkPkg: Update DEC and DSC version from 0.94 to 0.96
Feng Tian [Thu, 20 Aug 2015 08:45:45 +0000 (08:45 +0000)]
IntelFrameworkPkg: Update DEC and DSC version from 0.94 to 0.96

Update DEC and DSC version to reflect new changes.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18252 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Update DSC version from 0.94 to 0.96
Feng Tian [Thu, 20 Aug 2015 08:45:01 +0000 (08:45 +0000)]
MdeModulePkg: Update DSC version from 0.94 to 0.96

Update DSC version to reflect new changes for UEFI2.5 and PI1.4.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18251 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoFixed build error for VS2008 toolchain.
Eric Dong [Thu, 20 Aug 2015 08:05:27 +0000 (08:05 +0000)]
Fixed build error for VS2008 toolchain.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18250 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg:Full support F10 hot key in UiApp.
Dandan Bi [Thu, 20 Aug 2015 07:05:53 +0000 (07:05 +0000)]
MdeModulePkg:Full support F10 hot key in UiApp.

In current UiApp/Boot Maintenance manager,some pages don't support F10,
they use Commit Changes and Exit menu to save changes.Now support F10
in these pages.

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@18249 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNetworkPkg: Fix DHCP TransmitReceive EFI_NO_MAPPING return in DnsDxe
Jiaxin Wu [Thu, 20 Aug 2015 07:01:47 +0000 (07:01 +0000)]
NetworkPkg: Fix DHCP TransmitReceive EFI_NO_MAPPING return in DnsDxe

v2:
* Add Timeout check, if time out, return EFI_DEVICE_ERROR.

If the default station address is not available, TransmitReceive
function will return EFI_NO_MAPPING. DNS driver should handle this
case. This issue is caused by the r18201 fix.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Zhang Lubo <lubo.zhang@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: Lubo Zhang <lubo.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18248 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoCryptoPkg: Update Package version to 0.96
Qin Long [Thu, 20 Aug 2015 06:58:44 +0000 (06:58 +0000)]
CryptoPkg: Update Package version to 0.96

Update Package version to 0.9.6

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qin Long <qin.long@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18247 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNetworkPkg: Update the NetworkPkg package version
Jiaxin Wu [Thu, 20 Aug 2015 06:50:32 +0000 (06:50 +0000)]
NetworkPkg: Update the NetworkPkg package version

This patch is used to update the NetworkPkg package version.

Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Chao Zhang <chao.b.zhang@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>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18246 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Fix default router table and interface missing error
Jiaxin Wu [Thu, 20 Aug 2015 06:47:13 +0000 (06:47 +0000)]
MdeModulePkg: Fix default router table and interface missing error

Ip4StartAutoConfig() will always free its default router table and interface,
which may cause IP instance missing its correct default interface. e.g. when
the policy is dhcp, and one child is configured to use default address.

Cc: Ye Ting <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviwed-by: Ye Ting <ting.ye@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18245 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoShellPkg: Fix 'ifconfig' can't get the address from dhcp in some case
Jiaxin Wu [Thu, 20 Aug 2015 06:45:19 +0000 (06:45 +0000)]
ShellPkg: Fix 'ifconfig' can't get the address from dhcp in some case

R18201 fix caused ifconfig in shell failed to get the address from dhcp with the
command "ifconfig -s eth0 dhcp" since the default policy is dhcp already.
We can fix it by following the rule to starting the Ip4 auto configuration.

Cc: Ye Ting <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviwed-by: Ye Ting <ting.ye@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18244 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoShellBinPkg: Arm/AArch64 Shell binary update.
Ard Biesheuvel [Thu, 20 Aug 2015 06:39:45 +0000 (06:39 +0000)]
ShellBinPkg: Arm/AArch64 Shell binary update.

The binaries of ShellBinPkg are generated with ShellPkg project 18222.

The AArch64 binaries are generated using the tiny code model introduced
in the previous patch.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18243 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools AARCH64: use tiny code model by default
Ard Biesheuvel [Thu, 20 Aug 2015 06:39:12 +0000 (06:39 +0000)]
BaseTools AARCH64: use tiny code model by default

The AARCH64 tiny code model produces more efficient code, since it
uses relative symbol references rather than absolute references, i.e.,
an emitted relative reference refers to the symbol directly rather
than a literal containing its 64-bit absolute address. This saves
space in the binary, and reduces the number of relocation fixups that
need to be applied by the PE/COFF loader.

So now that we support relative relocations in GenFw, move to the
tiny code model by default. Note that the large model can still be
selected by individual modules by adding -mcmodel=large to the
appropriate CC_FLAGS.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Tested-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18242 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoShellPkg: force use of AARCH64 small model when building DEBUG shell
Ard Biesheuvel [Thu, 20 Aug 2015 06:39:04 +0000 (06:39 +0000)]
ShellPkg: force use of AARCH64 small model when building DEBUG shell

The tiny code model used by AARCH64 only supports binaries of up to
1 MB in size. Since the Shell application exceeds that when built in
DEBUG mode, make sure we build it using the small code model instead.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Tested-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18241 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoSecurityPkg: Update Package version to 0.96
Chao Zhang [Thu, 20 Aug 2015 02:57:05 +0000 (02:57 +0000)]
SecurityPkg: Update Package version to 0.96

Update Package version to 0.96

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>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18240 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoValidate the input namespace field to avoid assert.
Eric Dong [Thu, 20 Aug 2015 00:22:16 +0000 (00:22 +0000)]
Validate the input namespace field to avoid assert.

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@18239 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoAllocate temp buffer to avoid potential change user input string buffer.
Eric Dong [Wed, 19 Aug 2015 12:12:59 +0000 (12:12 +0000)]
Allocate temp buffer to avoid potential change user input string buffer.

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@18238 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoArmPkg: remove ARMv6 support code
Ard Biesheuvel [Wed, 19 Aug 2015 10:51:59 +0000 (10:51 +0000)]
ArmPkg: remove ARMv6 support code

No platforms use the ARMv6 (ARM11) support code anymore. In fact, the
only reference to it in ArmPkg.dsc was commented out by Andrew in SVN
r11298 (2011-02-03) so it may well be broken. So remove it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18237 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Update UiApp to handle terminal type TtyTerm
Ruiyu Ni [Wed, 19 Aug 2015 10:01:31 +0000 (10:01 +0000)]
MdeModulePkg: Update UiApp to handle terminal type TtyTerm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18236 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg/Xhci: make all timeout values be consistent with comments.
Feng Tian [Wed, 19 Aug 2015 03:41:38 +0000 (03:41 +0000)]
MdeModulePkg/Xhci: make all timeout values be consistent with comments.

In the original code, there exists some mismatches between the real
waiting time and the corresponding timeout comments. For example, the
XHC_GENERIC_TIMEOUT comment says it's 10ms timeout value, but the real
code in fact waits 10s.

So the code is refined to be consistent in code logic and comments.

Note XHC_POLL_DELAY macro also be removed and the polling interval in
XhcWaitOpRegBit() is changed from 1ms to 1us to keep same code style
with other code. It has no real functionality impact.

Contributed-under: TianoCore Contribution Agreement 1.0
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@18235 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoCorebootModulePkg:Removing EFI_RESOURCE_ATTRIBUTE_TESTED
Scott Duplichan [Tue, 18 Aug 2015 16:08:22 +0000 (16:08 +0000)]
CorebootModulePkg:Removing EFI_RESOURCE_ATTRIBUTE_TESTED

Remove EFI_RESOURCE_ATTRIBUTE_TESTED when reporting lower 640KB memory
so that the coreboot header is not erased before being processed
by CbParseMemoryInfo. This change is needed for compatibility
with SVN revision 18146.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Scott Duplichan <scott@notabs.org>
Reviewed-by: Prince Agyeman <prince.agyeman@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18234 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoSecurityPkg: Fixed build error due to FixedAtBuild PcdTcg2HashAlgorithmBitmap
Samer El-Haj-Mahmoud [Tue, 18 Aug 2015 05:46:50 +0000 (05:46 +0000)]
SecurityPkg: Fixed build error due to FixedAtBuild PcdTcg2HashAlgorithmBitmap

PcdTcg2HashAlgorithmBitmap is declared in a section that allows it to be Fixed or PatchableAtBuild, but there is code that sets it.
This breaks the build on some platforms. Changed it to be PcdsDynamic and PcdsDynamicEx only.

We move PcdTpm2HashMask to Dynamic section too, because now Tcg2Pei will set this PCD according to TPM2 device capability.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: "Samer El-Haj-Mahmoud" <samer.el-haj-mahmoud@hp.com>
Reviewed-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18233 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: IP4 should re-initiate a DHCP if it detects network reconnection
Jiaxin Wu [Tue, 18 Aug 2015 03:12:16 +0000 (03:12 +0000)]
MdeModulePkg: IP4 should re-initiate a DHCP if it detects network reconnection

v2:
* Update the MediaPresent detect declaring.

IP4 driver should re-initiate a DHCP if it detects that there is a network.
To fix this issue, we can implement the DHCP re-initiate policy while the media
change detected. The Ip4 driver should set a timer to signal the Ip4 to run the
DHCP configuration again(D.O.R.A). IP4 driver should free old IP address related
resource, then initiate a DHCP process to acquire new IP.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Zhang Lubo <lubo.zhang@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: Lubo Zhang <lubo.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18232 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNetworkPkg: Stop and release DHCP4 child after boot info is ready
Jiaxin Wu [Tue, 18 Aug 2015 03:08:27 +0000 (03:08 +0000)]
NetworkPkg: Stop and release DHCP4 child after boot info is ready

HttpBootDxe need to stop and release the DHCP4 child when it's
not used so the NBP could create new DHCP4 child and use it.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Zhang Lubo <lubo.zhang@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>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18231 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools: Add /arch:IA32 option in VS2012 and VS2013
Liming Gao [Tue, 18 Aug 2015 02:52:32 +0000 (02:52 +0000)]
BaseTools: Add /arch:IA32 option in VS2012 and VS2013

VS2012 and VS2013 turn on optimizations by default that generate the
use of CMOV instruction. This is a change from previous version VS2008.
This means when you build with VS2012 or VS2013, it will generate UD
exceptions on Quark.

To resolve it, add /arch:IA32 options to not use enhanced instructions.
https://msdn.microsoft.com/en-us/library/7t5yh4fd(v=vs.140).aspx

Update the default options of VS2012 & VS2013 tool chain IA32 arch in
BaseTools\Conf\tools_def.template to make sure the generated Quark
compatibility driver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18230 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoAdd restriction that HashFinal() must be after at least one HashUpdate().
Yao, Jiewen [Tue, 18 Aug 2015 02:11:10 +0000 (02:11 +0000)]
Add restriction that HashFinal() must be after at least one HashUpdate().

Just follow UEFI spec.

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@18229 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools GCC: prevent unaligned memory accesses on ARM GCC 4.6
Ard Biesheuvel [Mon, 17 Aug 2015 12:02:50 +0000 (12:02 +0000)]
BaseTools GCC: prevent unaligned memory accesses on ARM GCC 4.6

In GCC 4.7, a feature was added to the ARM backend that allows
unaligned loads and stores to be emitted. Since it is enabled by
default on ARMv6 and later CPUs, and since such code is not suitable
in our case (i.e., bare metal code), we must disable it by passing the
-mno-unaligned-access option if we are using GCC 4.7 or later.

However, this particular feature and its enabling by default have been
backported to version 4.6 by Linaro. Since the Linaro toolchains are
widely used for ARM development, and also shipped by distros such as
Ubuntu, we should disable the feature on version 4.6 as well.
Unfortunately, since the upstream version does not support the feature,
it also does not understand the -mno-unaligned-access option.

Since GCC sets the builtin #define __ARM_FEATURE_UNALIGNED to 1 when
-munaligned-access is in effect, we can force the build to fail in this
case by passing -D__ARM_FEATURE_UNALIGNED=0 on the GCC command line.

This will produce the following error message:

  <command-line>:0:0: error: "__ARM_FEATURE_UNALIGNED" redefined [-Werror]
  <built-in>:0:0: note: this is the location of the previous definition

and terminate the build.

This patch may cause some existing builds to fail, but they will be
builds that were previously at risk of unexpected runtime exceptions.
Those builds can also easily be switched to the GCC47 profile instead,
generating safe binaries.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18228 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoAdd context check and init in BaseCrypto2Hash().
Yao, Jiewen [Mon, 17 Aug 2015 05:48:30 +0000 (05:48 +0000)]
Add context check and init in BaseCrypto2Hash().

Follow UEFI specification to add context check and init in BaseCrypto2Hash(), so that other function can get proper status on hash operation.

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@18227 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoSecurityPkg: Update SignatureSize to comply UEFI spec
Chao Zhang [Mon, 17 Aug 2015 02:50:26 +0000 (02:50 +0000)]
SecurityPkg: Update SignatureSize to comply UEFI spec

Update SignatureSize to include SignatureOwner GUID. This behavior is defined by UEFI spec

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>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18226 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg Variable: Handle variable Attributes mismatch case
Star Zeng [Mon, 17 Aug 2015 02:30:43 +0000 (02:30 +0000)]
MdeModulePkg Variable: Handle variable Attributes mismatch case

between variable HOB and NV storage.

Variable HOB may be built by a system that supports and loads variable
default, the variables in the HOB will be flush to NV storage after
variable write search ready.
After that, if the variable's Attributes is changed by someone and
system reboots and tries to load default again, the variable Attributes
mismatch case between variable HOB and NV storage will appear.

Original code did not handle the case correctly, that may eventually
cause NV storage contains two valid same variables that will lead to
system hang if GetNextVariableName() called.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18225 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoFix typo in BaseCrypto2HashInit() which causes sanity check incorrect.
Yao, Jiewen [Mon, 17 Aug 2015 00:43:10 +0000 (00:43 +0000)]
Fix typo in BaseCrypto2HashInit() which causes sanity check incorrect.

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@18224 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNetworkPkg: Fix hang issue after system reconnected when IPSec has set up
Jiaxin Wu [Fri, 14 Aug 2015 07:41:51 +0000 (07:41 +0000)]
NetworkPkg: Fix hang issue after system reconnected when IPSec has set up

IpSecStop() is incompetent to send out the delete information since the underlying
IP child has been destroyed. Delete all established IKE SAs and related
Child SAs directly.

Cc: Ye Ting <ting.ye@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>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18223 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoShellPkg\Tftp.c: Refine parameter name and use implicit comparison for BOOLEAN variable.
Qiu Shumin [Fri, 14 Aug 2015 07:20:09 +0000 (07:20 +0000)]
ShellPkg\Tftp.c: Refine parameter name and use implicit comparison for BOOLEAN variable.

1. Refine parameter name to consistent with function headers.
2. To avoid potential bug BOOLEAN values should not use explicit comparisons to TRUE or FALSE.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18222 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoClean up unused data type - BOOL.
Yao, Jiewen [Fri, 14 Aug 2015 06:22:10 +0000 (06:22 +0000)]
Clean up unused data type - BOOL.

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@18221 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg:Fix the issue that Commit changes and Exit fail when add driver option
Dandan Bi [Fri, 14 Aug 2015 01:06:48 +0000 (01:06 +0000)]
MdeModulePkg:Fix the issue that Commit changes and Exit fail when add driver option

When add driver option using file,input the description and then commit changes and exit,
it doesn't work.it caused by the commit 18216.When variable DriverOrderList in Variable.c
is NULL,it also need do the follow path,shouldn't return.Now change the code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18220 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoAdd TPM2 support defined in trusted computing group.
Yao, Jiewen [Thu, 13 Aug 2015 08:24:17 +0000 (08:24 +0000)]
Add TPM2 support defined in trusted computing group.

TCG EFI Protocol Specification for TPM Family 2.0 Revision 1.0 Version 9 at http://www.trustedcomputinggroup.org/resources/tcg_efi_protocol_specification
TCG Physical Presence Interface Specification Version 1.30, Revision 00.52 at http://www.trustedcomputinggroup.org/resources/tcg_physical_presence_interface_specification

Add Tcg2XXX, similar file/directory as TrEEXXX. Old TrEE driver/library can be deprecated.
1) Add Tcg2Pei/Dxe/Smm driver to log event and provide services.
2) Add Dxe/Pei/SmmTcg2PhysicalPresenceLib to support TCG PP.
3) Update Tpm2 library to use TCG2 protocol instead of TrEE protocol.

Test Win8/Win10 with SecureBoot enabled, PCR7 shows bound.

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@18219 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoAdd TPM2 definition in trusted computing group.
Yao, Jiewen [Thu, 13 Aug 2015 08:22:05 +0000 (08:22 +0000)]
Add TPM2 definition in trusted computing group.

1) TCG Physical Presence Interface Specification 1.30 at http://www.trustedcomputinggroup.org/resources/tcg_physical_presence_interface_specification
2) TCG EFI Protocol Specification for TPM 2.0 at http://www.trustedcomputinggroup.org/resources/tcg_efi_protocol_specification
3) Update TPM2.0 header file to include Hash Algo definition.
4) Update UEFI TCG platform header file to include more TCG event structure.

Test Win8/Win10 with secure boot enabled, PCR7 shows bound.

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@18218 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools IA32/X64: prevent .eh_frame sections from being generated
Ard Biesheuvel [Thu, 13 Aug 2015 06:02:00 +0000 (06:02 +0000)]
BaseTools IA32/X64: prevent .eh_frame sections from being generated

After the recent GNU linker script changes, the following warning is
emitted many times during the OVMF build:

BFD: <...>: warning: Empty loadable segment detected, is this intentional ?

This is caused by the fact that, now that the section layout has changed
somewhat, the .eh_frame section is assigned an ELF segment of its own,
which ends up with no contents at all after we strip the .eh_frame
section from the output. (Note that the program headers that contain the
segment information are completely irrelevant to us since the PE/COFF
conversion does not rely on them.)

Since we only retain the .eh_frame data for external debugging, and not
for things like stack unwinding or generating backtraces at runtime, we
can remedy the situation by passing -fno-asynchronous-unwind-tables on
the GCC command line. This option instructs the compiler to emit the
unwind data into a debug section called .debug_frame instead of into
.eh_frame.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Build-tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18217 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Refine the code in UiApp
Dandan Bi [Thu, 13 Aug 2015 00:58:56 +0000 (00:58 +0000)]
MdeModulePkg: Refine the code in UiApp

Refine the code in UiApp to prevent the potential risk.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18216 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoIntelFrameworkModulePkg:Refine the code in LegacyBootMaintUiLib
Dandan Bi [Thu, 13 Aug 2015 00:56:09 +0000 (00:56 +0000)]
IntelFrameworkModulePkg:Refine the code in LegacyBootMaintUiLib

Refine the code in LegacyBootMaintUiLib to prevent the potential risk.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18215 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg:Use safe string functions in UiApp.
Dandan Bi [Thu, 13 Aug 2015 00:15:06 +0000 (00:15 +0000)]
MdeModulePkg:Use safe string functions in UiApp.

Replace the unsafe string  functions with the safe one in UiApp.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18214 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Add codes to support trailer parse in HttpLib.
Zhang Lubo [Wed, 12 Aug 2015 12:44:31 +0000 (12:44 +0000)]
MdeModulePkg: Add codes to support trailer parse in HttpLib.

In HttpLib, the Event BodyParseComplete should return to the
callback function when the whole message body has been parsed
including the trailer if it has.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Wu Jiaxin <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@18213 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools: remove ARMGCC and ARMLINUXGCC toolchains
Ard Biesheuvel [Wed, 12 Aug 2015 05:25:48 +0000 (05:25 +0000)]
BaseTools: remove ARMGCC and ARMLINUXGCC toolchains

The ARMGCC and ARMLINUXGCC toolchains are specific to the ARM and
AARCH64 architectures, and overlap with the toolchain configuration
that is provided by the GCC44 - GCC49 toolchains, which are defined
for all architectures.

To reduce the maintenance burden, and make it easier to keep these
different architectures aligned, remove the ARMGCC and ARMLINUXGCC
toolchains entirely.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18212 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBeagleBoardPkg: remove outdated build scripts and instructions
Ard Biesheuvel [Wed, 12 Aug 2015 05:25:41 +0000 (05:25 +0000)]
BeagleBoardPkg: remove outdated build scripts and instructions

Now that we can build the Beagleboard NOR image without the custom
build scripts, let's remove them since they are outdated and out of
sync with each other.

Remove readme.txt as well: it is also outdated, and mostly covers
QEMU and how to build Linaro SD images, which may not be relevant to
most users.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18211 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBeagleBoardPkg: fold configuration header into FD build
Ard Biesheuvel [Wed, 12 Aug 2015 05:25:33 +0000 (05:25 +0000)]
BeagleBoardPkg: fold configuration header into FD build

Since the configuration header never changes unless the board parameters
in ConfigurationHeader.dat are updated, we can take a snapshot of the
binary and add it to the FDF definition. This way, it will get emitted
by the EDK2 build system instead of having to use a separate
post-processing tool to add it to the flash image.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18210 6f19259b-4bc3-4df7-8a09-765794883524