]> git.proxmox.com Git - mirror_edk2.git/log
mirror_edk2.git
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

8 years agoArmPlatformPkg: remove mention of ARMGCC and ARMLINUXGCC
Ard Biesheuvel [Wed, 12 Aug 2015 05:25:26 +0000 (05:25 +0000)]
ArmPlatformPkg: remove mention of ARMGCC and ARMLINUXGCC

Remove the ARMGCC and ARMLINUXGCC from comments in the respective
Makefiles of ArmPlatformPkg and ArmJunoPkg. Also drop the wildly
outdated Versatile Express instructions, since they refer to ARMGCC
as well.

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

8 years agoEmbeddedPkg: remove mention of ARMGCC
Ard Biesheuvel [Wed, 12 Aug 2015 05:25:19 +0000 (05:25 +0000)]
EmbeddedPkg: remove mention of ARMGCC

We are going to remove the ARMGCC toolchains, so replace any references
to it with its replacement GCC48.

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

8 years agoStdLib: remove mention of ARMGCC
Ard Biesheuvel [Wed, 12 Aug 2015 05:25:12 +0000 (05:25 +0000)]
StdLib: remove mention of ARMGCC

The ARMGCC toolchain will be removed, and so will the build rule family
by the same name. So remove the BuildOptions specific to ARMGCC.

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

8 years agoBaseTools: add ARCH detection for AARCH64 and ARM
Ard Biesheuvel [Wed, 12 Aug 2015 05:22:49 +0000 (05:22 +0000)]
BaseTools: add ARCH detection for AARCH64 and ARM

Add auto detection for the ARCH variable for AARCH64 and ARM
systems. This allows us to do a native build of the BaseTools
without the need to set ARCH externally.

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

8 years agoBaseTools/GenFds: Fix 'NoneType' object is not iterable error.
Qiu Shumin [Wed, 12 Aug 2015 01:27:31 +0000 (01:27 +0000)]
BaseTools/GenFds: Fix 'NoneType' object is not iterable error.

When adding section VERSION in FDF file, for example:
FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
    SECTION RAW = MdeModulePkg/Logo/Logo.bmp
    SECTION UI = "Logo"
    SECTION VERSION = "0001"
  }
GenFds will report the following error:
Traceback (most recent call last):
  File "GenFds.py", line 276, in main
  File "GenFds.py", line 391, in GenFd
  File "Fd.py", line 93, in GenFd
  File "Region.py", line 106, in AddToBuffer
  File "Fv.py", line 114, in AddToBuffer
  File "FfsFileStatement.py", line 117, in GenFfs
  File "VerSection.py", line 80, in GenSection
  File "GenFdsGlobalVariable.py", line 401, in GenerateSection
TypeError: 'NoneType' object is not iterable.
We found in GenFdsGlobalVariable.py line 401 'list' requires a iteralbe object as parameter while the 'Input' is None.

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

8 years agoOvmfPkg/Xen: use lower case x in hex immediate value
Ard Biesheuvel [Tue, 11 Aug 2015 12:32:53 +0000 (12:32 +0000)]
OvmfPkg/Xen: use lower case x in hex immediate value

The Clang assembler for AArch64 chokes on the value 0XEA1 since it
expects the 0x prefix to use a lower case x.

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

8 years agoArmVirtPkg: use global section alignment in custom linker script
Ard Biesheuvel [Tue, 11 Aug 2015 12:32:45 +0000 (12:32 +0000)]
ArmVirtPkg: use global section alignment in custom linker script

The ArmVirtPrePiUniCoreRelocatable module comes with its own GNU
linker script to create a PIE executable that can relocate itself
at runtime. In order to be able to build this module using CLANG,
we need to adhere to the section alignment passed via to the linker
using -z commmon-page-size, so add this to the linker script.

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

8 years agoArmVirtPkg: avoid relocated immediates in AARCH64 asm
Ard Biesheuvel [Tue, 11 Aug 2015 12:32:38 +0000 (12:32 +0000)]
ArmVirtPkg: avoid relocated immediates in AARCH64 asm

The relocated immediate notation supported by GNU as (e.g., #:lo12:foo)
is not supported by clang. Since we are loading a constant value, they
were not entirely appropriate here anyway, so simply replace them with
assembler arithmetic expressions.

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

8 years agoMdeModulePkg: Fix issue about current Ip4Dxe implementation for DHCP DORA process
Jiaxin Wu [Tue, 11 Aug 2015 11:07:17 +0000 (11:07 +0000)]
MdeModulePkg: Fix issue about current Ip4Dxe implementation for DHCP DORA process

DHCP policy is applied as default at boot time on all NICs in the system, which results
in all NIC ports attempting DHCP and trying to acquire IP addresses during boot.
Ip4 driver should only set dhcp as default policy, and not trigger DORA at driver binding
start(). We should start DORA until one IP child is configured to use default address.

Cc: Fu Siyuan <siyuan.fu@intel.com>
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@18201 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Change the macro name to fit coding style
fanwang2 [Tue, 11 Aug 2015 01:11:54 +0000 (01:11 +0000)]
MdeModulePkg: Change the macro name to fit coding style

Change a macro name to fit EDK2 naming conventions: Use all capital letters for #define.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: fanwang2 <fan.wang@intel.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18200 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoNetworkPkg: Change the macro name to fit coding style
fanwang2 [Tue, 11 Aug 2015 01:11:29 +0000 (01:11 +0000)]
NetworkPkg: Change the macro name to fit coding style

Change several macro names to fit name EDK2 naming conventions: Use all capital letters for #define.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: fanwang2 <fan.wang@intel.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18199 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools: add CLANG35 toolchain with AARCH64 support
Ard Biesheuvel [Mon, 10 Aug 2015 07:55:26 +0000 (07:55 +0000)]
BaseTools: add CLANG35 toolchain with AARCH64 support

This adds support for building the AARCH64 platforms using the
Clang compiler and assembler combined with the GNU (cross-)linker.

The chosen name CLANG35 is based on version 3.5 being the oldest
supported version, but no issues are known that should prevent its
use with any later version.

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: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18198 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools/GenFw: allow AArch64 tiny and small code model relocations
Ard Biesheuvel [Mon, 10 Aug 2015 07:55:18 +0000 (07:55 +0000)]
BaseTools/GenFw: allow AArch64 tiny and small code model relocations

The AArch64 small C model makes extensive use of ADRP/ADD and
ADRP/{LDR,STR} pairs to emit PC-relative symbol references with
a +/- 4 GB range. Since the relocation pair splits the relative
offset into a relative page offset and an absolute offset into
a 4 KB page, we need to take extra care to ensure that the target
of the relocation preserves its alignment relative to a 4 KB
alignment boundary.

Also, due to a problem with the --emit-relocs GNU ld option, where
it does not recalculate the addends for section relative relocations,
the only way to guarantee correct code is by requiring the relative
section offset to be equal in the ELF and PE/COFF versions of the
binary. This affects both the 'tiny' and 'small' GCC code models.

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: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18197 6f19259b-4bc3-4df7-8a09-765794883524