mirror_edk2.git
7 years agoUefiCpuPkg/CpuMpPei: Implementation of PeiStartupThisAP ()
Jeff Fan [Wed, 15 Jul 2015 03:43:34 +0000 (03:43 +0000)]
UefiCpuPkg/CpuMpPei: Implementation of PeiStartupThisAP ()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18009 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Implementation of PeiStartupAllAPs ()
Jeff Fan [Wed, 15 Jul 2015 03:43:12 +0000 (03:43 +0000)]
UefiCpuPkg/CpuMpPei: Implementation of PeiStartupAllAPs ()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18008 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Implementation of PeiGetProcessorInfo ()
Jeff Fan [Wed, 15 Jul 2015 03:42:45 +0000 (03:42 +0000)]
UefiCpuPkg/CpuMpPei: Implementation of PeiGetProcessorInfo ()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18007 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Implementation of PeiGetNumberOfProcessors ()
Jeff Fan [Wed, 15 Jul 2015 03:42:22 +0000 (03:42 +0000)]
UefiCpuPkg/CpuMpPei: Implementation of PeiGetNumberOfProcessors ()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18006 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Implementation of PeiWhoAmI ()
Jeff Fan [Wed, 15 Jul 2015 03:41:59 +0000 (03:41 +0000)]
UefiCpuPkg/CpuMpPei: Implementation of PeiWhoAmI ()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18005 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Update and publish CPU BIST information
Jeff Fan [Wed, 15 Jul 2015 03:41:33 +0000 (03:41 +0000)]
UefiCpuPkg/CpuMpPei: Update and publish CPU BIST information

Get CPU BIST information from SEC Platform Information(2) PPIs and update them
accordingly. Install(Reinstall) SEC Platform Information2 PPI to published the
new CPU BIST.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18004 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Build one GUIDed HOB to save CPU MP Data
Jeff Fan [Wed, 15 Jul 2015 03:41:07 +0000 (03:41 +0000)]
UefiCpuPkg/CpuMpPei: Build one GUIDed HOB to save CPU MP Data

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18003 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Load microcode on BSP and APs
Jeff Fan [Wed, 15 Jul 2015 03:40:41 +0000 (03:40 +0000)]
UefiCpuPkg/CpuMpPei: Load microcode on BSP and APs

Add DetectMicrocode() to load microcode on BSP and APs.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18002 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg: Add some CPUID definitions
Jeff Fan [Wed, 15 Jul 2015 03:40:12 +0000 (03:40 +0000)]
UefiCpuPkg: Add some CPUID definitions

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18001 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg: Add microcode PCDs
Jeff Fan [Wed, 15 Jul 2015 03:39:46 +0000 (03:39 +0000)]
UefiCpuPkg: Add microcode PCDs

Add PCDs PcdCpuMicrocodePatchAddress and PcdCpuMicrocodePatchRegionSize that
are used to detect microcode patch from microcode region.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18000 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Sync BPS's mtrr setting to APs
Jeff Fan [Wed, 15 Jul 2015 03:39:24 +0000 (03:39 +0000)]
UefiCpuPkg/CpuMpPei: Sync BPS's mtrr setting to APs

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17999 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Sort APIC ID in ascending order
Jeff Fan [Wed, 15 Jul 2015 03:38:57 +0000 (03:38 +0000)]
UefiCpuPkg/CpuMpPei: Sort APIC ID in ascending order

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17998 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Wakeup APs and collect AP count
Jeff Fan [Wed, 15 Jul 2015 03:38:35 +0000 (03:38 +0000)]
UefiCpuPkg/CpuMpPei: Wakeup APs and collect AP count

BSP will send broadcast INIT Startup IPI to all APs and collect APs count and
BIST information.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17997 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg: Add PcdCpuApInitTimeOutInMicroSeconds
Jeff Fan [Wed, 15 Jul 2015 03:38:10 +0000 (03:38 +0000)]
UefiCpuPkg: Add PcdCpuApInitTimeOutInMicroSeconds

This PCD is used to specify timeout value for BSP to detect all APs for the
first time.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17996 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Prepare for buffer for AP wakeup and CPU MP data
Jeff Fan [Wed, 15 Jul 2015 03:37:50 +0000 (03:37 +0000)]
UefiCpuPkg/CpuMpPei: Prepare for buffer for AP wakeup and CPU MP data

Get AP wakeup buffer and copy AP reset code into it. Allocate APs' stack and CPU
MP data buffer. Fill CPU MP data fields accordingly.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17995 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Get AP reset code size and far jump information
Jeff Fan [Wed, 15 Jul 2015 03:37:25 +0000 (03:37 +0000)]
UefiCpuPkg/CpuMpPei: Get AP reset code size and far jump information

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17994 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Initialize FPU per UEFI specification
Jeff Fan [Wed, 15 Jul 2015 03:36:51 +0000 (03:36 +0000)]
UefiCpuPkg/CpuMpPei: Initialize FPU per UEFI specification

Invoke InitializeFloatingPointUnits() to initialize FPU per UEFI specification
before call C function in assembly code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17993 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Add AP reset x64 assembly code
Jeff Fan [Wed, 15 Jul 2015 03:36:19 +0000 (03:36 +0000)]
UefiCpuPkg/CpuMpPei: Add AP reset x64 assembly code

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17992 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Add AP reset IA32 assembly code
Jeff Fan [Wed, 15 Jul 2015 03:35:48 +0000 (03:35 +0000)]
UefiCpuPkg/CpuMpPei: Add AP reset IA32 assembly code

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17991 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Add MP exchange structure definition
Jeff Fan [Wed, 15 Jul 2015 03:30:01 +0000 (03:30 +0000)]
UefiCpuPkg/CpuMpPei: Add MP exchange structure definition

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17990 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Find available memory < 1MB for AP reset code
Jeff Fan [Wed, 15 Jul 2015 03:29:40 +0000 (03:29 +0000)]
UefiCpuPkg/CpuMpPei: Find available memory < 1MB for AP reset code

Search memory resource HOB list to find one available system memory under 1MB
for AP reset code and exchange information between BSP and APs.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17989 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg/CpuMpPei: Load GDT table on BSP
Jeff Fan [Wed, 15 Jul 2015 03:29:12 +0000 (03:29 +0000)]
UefiCpuPkg/CpuMpPei: Load GDT table on BSP

Load new GDT table and update segment accordingly.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17988 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoUefiCpuPkg: Add CpuMpPei module
Jeff Fan [Wed, 15 Jul 2015 03:28:04 +0000 (03:28 +0000)]
UefiCpuPkg: Add CpuMpPei module

This module is to provide MP PPI services defined in PI 1.4.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17987 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoNetworkPkg: Fix bios bootup hang issue when enable network.
Zhang Lubo [Wed, 15 Jul 2015 03:23:20 +0000 (03:23 +0000)]
NetworkPkg: Fix bios bootup hang issue when enable network.

Dhcp6Dxe driver uses a new added dynamic PCD PcdDhcp6UidType in
NetworkPkg, but typically a pure UEFI driver are configured to
not allowed to access the dynamic PCDs in most platform, thus will
cause Dhcp6Dxe assert when it started. This patch add more PCD
access method types for module to use the PcdDhcp6UidType value
to fix the issue.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17986 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdePkg: Add BMC device path definition and its node/text conversion
Hao Wu [Wed, 15 Jul 2015 03:16:42 +0000 (03:16 +0000)]
MdePkg: Add BMC device path definition and its node/text conversion

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17985 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdePkg: Fix a comment typo in Include/Ppi/MpServices.h
Hao Wu [Wed, 15 Jul 2015 03:15:49 +0000 (03:15 +0000)]
MdePkg: Fix a comment typo in Include/Ppi/MpServices.h

The summary of EFI_PEI_MP_SERVICES_WHOAMI is modified to show the correct
description of this service.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17984 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdeModulePkg: Remove two protocols and add HttpLib access
fanwang2 [Wed, 15 Jul 2015 02:44:40 +0000 (02:44 +0000)]
MdeModulePkg: Remove two protocols and add HttpLib access

Remove two protocols never used in DxeNetLib.inf and add HttpLib access in MdeModulePkg.dec.

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

7 years agoNetworkPkg: Add a comment to pcd field
fanwang2 [Wed, 15 Jul 2015 02:44:12 +0000 (02:44 +0000)]
NetworkPkg: Add a comment to pcd field

Add a comment to pcd field to describe this pcd as SOMETIMES_CONSUMES.

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

7 years agoSecurityPkg: Fix DBX Variable Read Error in ImageVerificationLib
Chao Zhang [Wed, 15 Jul 2015 02:13:48 +0000 (02:13 +0000)]
SecurityPkg: Fix DBX Variable Read Error in ImageVerificationLib

ImageVerificationLib passes wrong data buffer size when reading DBX variable, causing heap crash.

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

7 years agoSecurityPkg: Correct BootOrder/Boot#### measurement behavior
Chao Zhang [Wed, 15 Jul 2015 02:13:22 +0000 (02:13 +0000)]
SecurityPkg: Correct BootOrder/Boot#### measurement behavior

Correct the variable measurement behavior to include whole EFI_VARIABLE_DATA structure.
It is for the latest spec compliance

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

7 years agoShellPkg: decode serial console attribute set failure status when used thru sermode...
Tapan Shah [Tue, 14 Jul 2015 17:54:12 +0000 (17:54 +0000)]
ShellPkg: decode serial console attribute set failure status when used thru sermode command

Serial console driver may not support all databits / stopbits attribute values.
But ‘sermode’ command only displays a general error indicating operation failure.
Instead it should decode error status and report more accurate error message.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tapan Shah <tapandshah@hp.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17978 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdePkg/ImageAuthentication.h: Fixed ARM toolchain error
Olivier Martin [Tue, 14 Jul 2015 16:07:02 +0000 (16:07 +0000)]
MdePkg/ImageAuthentication.h: Fixed ARM toolchain error

ARM Toolchain raised the error:
"last line of file ends without a newline"

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17977 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Increase PcdShellFileOperationSize
Brendan Jackman [Tue, 14 Jul 2015 16:04:30 +0000 (16:04 +0000)]
ShellPkg: Increase PcdShellFileOperationSize

This improves performance for dumb filesystem drivers
as block sizes tend to be more 4KB size than 1000 bytes
size.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-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@17976 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg: Use LinuxLoader.efi for the default boot entry
Olivier Martin [Tue, 14 Jul 2015 14:42:55 +0000 (14:42 +0000)]
ArmPlatformPkg: Use LinuxLoader.efi for the default boot entry

There are still ARM/AArch64 Linux kernels that do not support EFI Stub.
By using the EFI Linux loader as the default option we can boot any
Linux kernel from UEFI as Linux kernel with EFI stub can also be
booted with the legacy way.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Ronald Cron <Ronald.Cron@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17975 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/Bds: Added support for booting legacy kernel from BDS
Olivier Martin [Tue, 14 Jul 2015 14:41:46 +0000 (14:41 +0000)]
ArmPlatformPkg/Bds: Added support for booting legacy kernel from BDS

When PcdBdsLinuxSupport is enabled, users can create boot
entries for the legacy EFI Linux loader.

The ARM BDS detects if the image is a EFI image if not
then it assumes it is a legacy Linux kernel (a kernel
without EFI Stub).
If the Boot Manager did not manage to load the binary
(it could happen when the binary is on the network or
not present on the media yet).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Ronald Cron <Ronald.Cron@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17974 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg: Remove PCD declarations linked to the ARM BDS Linux Loader
Olivier Martin [Tue, 14 Jul 2015 14:39:45 +0000 (14:39 +0000)]
ArmPkg: Remove PCD declarations linked to the ARM BDS Linux Loader

The Linux Loader has been removed from ARM BDS. These PCDs
are not needed anymore.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Ronald Cron <Ronald.Cron@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17973 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmVirtPkg/ArmVirtQemu.dsc: Remove Linux specific boot path
Olivier Martin [Tue, 14 Jul 2015 14:39:07 +0000 (14:39 +0000)]
ArmVirtPkg/ArmVirtQemu.dsc: Remove Linux specific boot path

PcdDefaultBootType has been removed when the embedded
Linux Loader has been removed from BdsLib.
The boot arguments (defined by PcdDefaultBootArgument)
are now always targetting EFI applications.

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

7 years agoArmPlatformPkg: Remove Linux specific boot path
Olivier Martin [Tue, 14 Jul 2015 14:37:57 +0000 (14:37 +0000)]
ArmPlatformPkg: Remove Linux specific boot path

PcdDefaultBootType has been removed when the embedded
Linux Loader has been removed from BdsLib.
The boot arguments (defined by PcdDefaultBootArgument)
are now always targetting EFI applications.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Ronald Cron <Ronald.Cron@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17971 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/Bds: Remove Linux specific boot path
Olivier Martin [Tue, 14 Jul 2015 14:36:49 +0000 (14:36 +0000)]
ArmPlatformPkg/Bds: Remove Linux specific boot path

Since the embedded Linux Loader has been removed from BdsLib
there is no more Linux specific boot option.
All the boot options are now expected to be arguments for
EFI applications.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Ronald Cron <Ronald.Cron@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17970 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg/BdsLib: Remove Linux loader from BdsLib
Olivier Martin [Tue, 14 Jul 2015 14:35:20 +0000 (14:35 +0000)]
ArmPkg/BdsLib: Remove Linux loader from BdsLib

This change removes the embedded Linux Loder from BdsLib.
BdsLib becomes OS agnostic.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Ronald Cron <Ronald.Cron@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17969 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg: Add the LinuxLoader.efi EFI application
Ronald Cron [Tue, 14 Jul 2015 14:32:24 +0000 (14:32 +0000)]
ArmPlatformPkg: Add the LinuxLoader.efi EFI application

Add the legacy Linux Loader EFI application to the ARM
development platforms.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ronald Cron <Ronald.Cron@arm.com>
Reviewed-by: Olivier Martin <Olivier.Martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17968 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoEmbeddedPkg/AndroidFastboot: Use Linux Loader instead of BdsLib
Olivier Martin [Tue, 14 Jul 2015 14:31:05 +0000 (14:31 +0000)]
EmbeddedPkg/AndroidFastboot: Use Linux Loader instead of BdsLib

Android FastBoot EFI application was using the Linux Loader
from BdsLib. This change makes use of the EFI Linux Loader
application.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Ronald Cron <Ronald.Cron@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17967 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPkg/BdsLib: Replaced BdsLoadApplication() by LocateEfiApplicationInFv()
Olivier Martin [Tue, 14 Jul 2015 14:30:08 +0000 (14:30 +0000)]
ArmPkg/BdsLib: Replaced BdsLoadApplication() by LocateEfiApplicationInFv()

Replaced the function BdsLoadApplication() by two explicit
functions that load the EFI application either by its GUID
or its Name.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Ronald Cron <Ronald.Cron@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17966 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: QemuBootOrderLib: recognize extra PCI root buses
Laszlo Ersek [Tue, 14 Jul 2015 12:02:44 +0000 (12:02 +0000)]
OvmfPkg: QemuBootOrderLib: recognize extra PCI root buses

The OFW device path that QEMU exports in the "bootorder" fw_cfg file, for
a device that is plugged into the main PCI root bus, is:

  /pci@i0cf8/...

Whereas the same device plugged into the N'th extra root bus results in:

  /pci@i0cf8,N/pci-bridge@0/...

(N is in hex.)

Extend TranslatePciOfwNodes() so that it not assume a single PCI root;
instead it parse the extra root bus serial number if present, and resolve
it in the translation to the UEFI devpath fragment.

Note that the "pci-bridge@0" node is a characteristic of QEMU's PXB
device. It reflects the actual emulated PCI hierarchy. We don't parse it
specifically in this patch, because it is automatically handled by the
bridge sequence translator added recently in SVN rev 17385 (git commit
feca17fa4b) -- "OvmfPkg: QemuBootOrderLib: parse OFW device path nodes of
PCI bridges".

The macro EXAMINED_OFW_NODES need not be raised from 6. The longest OFW
device paths that we wish to recognize under this new scheme comprise 5
nodes. The initial "extra root bus" OFW fragment, visible at the top,
takes up 2 nodes, after which the longest device-specific patterns (IDE
disk, IDE CD-ROM, ISA floppy, virtio-scsi disk) take 3 more nodes each.

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

7 years agoOvmfPkg: QemuBootOrderLib: introduce ExtraRootBusMap
Laszlo Ersek [Tue, 14 Jul 2015 12:02:39 +0000 (12:02 +0000)]
OvmfPkg: QemuBootOrderLib: introduce ExtraRootBusMap

SeaBIOS requires the OpenFirmware device paths exported in the "bootorder"
fw-cfg file to refer to extra (PXB) root buses by their relative positions
(in increasing bus number order) rather than by actual bus numbers.

However, OVMF's PCI host bridge / root bridge driver creates PciRoot(UID)
device path nodes for extra PCI root buses with UID=bus_nr, not position.
(These ACPI devpath UID values must, and do, match the UID values exposed
in QEMU's ACPI payload, generated for PXB root buses.)

Therefore the boot order matching logic will have to map extra root bus
positions to bus numbers. Add a small group of utility functions to help
with that.

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

7 years agoOvmfPkg: PciHostBridgeDxe: shorten search for extra root buses
Laszlo Ersek [Tue, 14 Jul 2015 12:02:34 +0000 (12:02 +0000)]
OvmfPkg: PciHostBridgeDxe: shorten search for extra root buses

QEMU provides an fw_cfg file called "etc/extra-pci-roots", containing a
little-endian UINT64 value that exposes the number of extra root buses. We
can use this value to terminate the scan as soon as we find the last extra
root bus.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17963 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PciHostBridgeDxe: look for all root buses
Laszlo Ersek [Tue, 14 Jul 2015 12:02:29 +0000 (12:02 +0000)]
OvmfPkg: PciHostBridgeDxe: look for all root buses

In this patch we assume that root bus number 0 is always there (same as
before), and scan the rest of the extra root buses, up to and including
255. When an extra root bus is found, we install the PCI root bridge IO
protocol for the previous root bus (which might be bus 0 or just the
previous extra root bus).

The root bridge protocol created thus will report the available bus number
range

  [own bus number, next extra root bus number - 1]

The LHS of this interval will be used for the root bus's own number, and
the rest of the interval (which might encompass 0 additional elements too)
can be used by the PCI bus driver to assign subordinate bus numbers from.

(Subordinate buses are provided by PCI bridges that hang off the root bus
in question.)

For MMIO and IO space allocation, all the root buses share the original
[0x8000_0000, 0xFFFF_FFFF] and [0x0, 0xFFFF] ranges, respectively.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17962 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PciHostBridgeDxe: eliminate PCI_HOST_BRIDGE_INSTANCE.RootBridgeNumber
Laszlo Ersek [Tue, 14 Jul 2015 12:02:25 +0000 (12:02 +0000)]
OvmfPkg: PciHostBridgeDxe: eliminate PCI_HOST_BRIDGE_INSTANCE.RootBridgeNumber

This field was supposed to store the number of root buses created; however
we don't need to keep that count persistently. After the entry point returns,
nothing reads this field.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17961 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PciHostBridgeDxe: use private buffer in RootBridgeIoConfiguration()
Laszlo Ersek [Tue, 14 Jul 2015 12:02:20 +0000 (12:02 +0000)]
OvmfPkg: PciHostBridgeDxe: use private buffer in RootBridgeIoConfiguration()

On output, the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Configuration() function
produces a pointer to a buffer of ACPI 2.0 resource descriptors:

  Resources  A pointer to the ACPI 2.0 resource descriptors that describe
             the current configuration of this PCI root bridge. The
             storage for the ACPI 2.0 resource descriptors is allocated by
             this function. The caller must treat the return buffer as
             read-only data, and the buffer must not be freed by the
             caller.

PciHostBridgeDxe currently provides this buffer in a structure with static
storage duration. If multiple root bridges existed in parallel, the
pointers returned by their Configuration() methods would point to the same
static storage. A later Configuration() call would overwrite the storage
pointed out by an earlier Configuration() call (which was possibly made
for a different, but still alive, root bridge.)

Fix this problem by embedding the configuration buffer in
PCI_ROOT_BRIDGE_INSTANCE.

While we're at it, correct some typos (Desp -> Desc), spell out a missing
pack(1) pragma, and improve formatting.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17960 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PciHostBridgeDxe: release resources on driver entry failure
Laszlo Ersek [Tue, 14 Jul 2015 12:02:15 +0000 (12:02 +0000)]
OvmfPkg: PciHostBridgeDxe: release resources on driver entry failure

The entry point of the driver, InitializePciHostBridge(), leaks resources
(and installed protocols) in the following cases:

- The first root bridge protocol installation fails. In this case, the
  host bridge protocol is left installed, but the driver exits with an
  error.

- The second or a later root bridge protocol installation fails. In this
  case, the host bridge protocol, and all prior root bridge protocols, are
  left installed, even though the driver exits with an error.

Handle errors correctly: roll back / release / uninstall resources when
aborting the driver.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17959 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PciHostBridgeDxe: factor out InitRootBridge() function
Laszlo Ersek [Tue, 14 Jul 2015 12:02:11 +0000 (12:02 +0000)]
OvmfPkg: PciHostBridgeDxe: factor out InitRootBridge() function

This new function incorporates the current loop body found in the entry
point function, InitializePciHostBridge(). It will be called once for each
root bus discovered.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17958 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PciHostBridgeDxe: embed device path in private root bridge struct
Laszlo Ersek [Tue, 14 Jul 2015 12:02:06 +0000 (12:02 +0000)]
OvmfPkg: PciHostBridgeDxe: embed device path in private root bridge struct

Currently we define a device path for each root bridge statically (for all
one of them). Since we'll want to create a dynamic number of root bridges,
replace the static device paths with a common template, embed the actual
device path into the private root bridge structure, and distinguish the
device paths from each other in the UID field (as required by ACPI).

This patch is best viewed with "git show -b".

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17957 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PciHostBridgeDxe: kill RootBridgeNumber and RootBridgeAttribute
Laszlo Ersek [Tue, 14 Jul 2015 12:02:01 +0000 (12:02 +0000)]
OvmfPkg: PciHostBridgeDxe: kill RootBridgeNumber and RootBridgeAttribute

There is no need to store these constants in dedicated static storage
duration objects; we can simply open-code them, simplifying the code.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17956 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PciHostBridgeDxe: eliminate nominal support for multiple host bridges
Laszlo Ersek [Tue, 14 Jul 2015 12:01:57 +0000 (12:01 +0000)]
OvmfPkg: PciHostBridgeDxe: eliminate nominal support for multiple host bridges

The entry point function of this driver, InitializePciHostBridge(), and
the static storage duration objects it relies on, are speculatively
generic -- they nominally support more than one host bridges, but (a) the
code hardwires the number of host bridges as 1, (b) it's very unlikely
that we'd ever like to raise that number (especially by open-coding it).

So let's just remove the the nominal support, and simplify the code.

This patch is best viewed with "git show -b".

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17955 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PlatformBdsLib: connect all PCI root buses
Laszlo Ersek [Tue, 14 Jul 2015 12:01:52 +0000 (12:01 +0000)]
OvmfPkg: PlatformBdsLib: connect all PCI root buses

Currently we only connect the root bus with bus number 0, by device path.
Soon we will possibly have several extra root buses, so connect all root
buses up-front (bus number zero and otherwise), by protocol GUID.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17954 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PlatformBdsLib: refine PCI host bridge assertion
Laszlo Ersek [Tue, 14 Jul 2015 12:01:48 +0000 (12:01 +0000)]
OvmfPkg: PlatformBdsLib: refine PCI host bridge assertion

The ASSERT() in SetPciIntLine() assumes that Device 0 on "the" root bus
corresponds to the PCI host bridge (00:00). This used to be true, but
because we're going to have extra root buses (with nonzero bus numbers),
soon this assumption may no longer hold. Check for the zero root bus
number explicitly.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Gabriel Somlo <somlo@cmu.edu>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Gabriel Somlo <somlo@cmu.edu>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17953 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: PlatformBdsLib: debug log interrupt line assignments
Laszlo Ersek [Tue, 14 Jul 2015 12:01:43 +0000 (12:01 +0000)]
OvmfPkg: PlatformBdsLib: debug log interrupt line assignments

These messages are helpful for comparing the assignments made by OVMF
against those made by SeaBIOS. To SeaBIOS a small debug patch like the
following can be applied:

> diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c
> index ac39d23..9e61c22 100644
> --- a/src/fw/pciinit.c
> +++ b/src/fw/pciinit.c
> @@ -308,8 +308,12 @@ static void pci_bios_init_device(struct pci_device *pci)
>
>      /* map the interrupt */
>      int pin = pci_config_readb(bdf, PCI_INTERRUPT_PIN);
> -    if (pin != 0)
> -        pci_config_writeb(bdf, PCI_INTERRUPT_LINE, pci_slot_get_irq(pci, pin));
> +    if (pin != 0) {
> +        int irqline = pci_slot_get_irq(pci, pin);
> +
> +        pci_config_writeb(bdf, PCI_INTERRUPT_LINE, irqline);
> +        dprintf(1, "assigned irq line %d\n", irqline);
> +    }
>
>      pci_init_device(pci_device_tbl, pci, NULL);
>

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Gabriel Somlo <somlo@cmu.edu>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17952 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: clone PciHostBridgeDxe from PcAtChipsetPkg
Laszlo Ersek [Tue, 14 Jul 2015 12:01:36 +0000 (12:01 +0000)]
OvmfPkg: clone PciHostBridgeDxe from PcAtChipsetPkg

The source code is copied verbatim, with the following two exceptions:
- the UNI files are dropped, together with the corresponding UNI
  references in the INF file,
- the INF file receives a new FILE_GUID.

The OVMF DSC and FDF files are at once flipped to the cloned driver.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17951 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoPcAtChipsetPkg/PciHostBridgeDxe/PciRootBridgeIo.c: rewrap code, strip trailing ws
Laszlo Ersek [Tue, 14 Jul 2015 12:01:30 +0000 (12:01 +0000)]
PcAtChipsetPkg/PciHostBridgeDxe/PciRootBridgeIo.c: rewrap code, strip trailing ws

In this patch the code and the comments embedded in code are rewrapped to
79 columns, plus any trailing whitespace is stripped.

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17950 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoPcAtChipsetPkg/PciHostBridgeDxe/PciRootBridgeIo.c: rewrap leading comments
Laszlo Ersek [Tue, 14 Jul 2015 12:01:26 +0000 (12:01 +0000)]
PcAtChipsetPkg/PciHostBridgeDxe/PciRootBridgeIo.c: rewrap leading comments

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17949 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoPcAtChipsetPkg/PciHostBridgeDxe/PciHostBridge.c: rewrap code, strip trailing ws
Laszlo Ersek [Tue, 14 Jul 2015 12:01:21 +0000 (12:01 +0000)]
PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridge.c: rewrap code, strip trailing ws

In this patch the code and the comments embedded in code are rewrapped to
79 columns, plus any trailing whitespace is stripped.

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17948 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoPcAtChipsetPkg/PciHostBridgeDxe/PciHostBridge.c: rewrap leading comments
Laszlo Ersek [Tue, 14 Jul 2015 12:01:16 +0000 (12:01 +0000)]
PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridge.c: rewrap leading comments

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17947 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoPcAtChipsetPkg/PciHostBridgeDxe/PciHostBridge.h: strip trailing ws from code
Laszlo Ersek [Tue, 14 Jul 2015 12:01:11 +0000 (12:01 +0000)]
PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridge.h: strip trailing ws from code

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17946 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoPcAtChipsetPkg/PciHostBridgeDxe/PciHostBridge.h: rewrap comments to 79 columns
Laszlo Ersek [Tue, 14 Jul 2015 12:01:07 +0000 (12:01 +0000)]
PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridge.h: rewrap comments to 79 columns

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17945 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoPcAtChipsetPkg: PciHostBridgeDxe: rewrap INF file to 79 columns
Laszlo Ersek [Tue, 14 Jul 2015 12:01:02 +0000 (12:01 +0000)]
PcAtChipsetPkg: PciHostBridgeDxe: rewrap INF file to 79 columns

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17944 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoPcAtChipsetPkg: PciHostBridgeDxe: rewrap IoFifo source files to 79 columns
Laszlo Ersek [Tue, 14 Jul 2015 12:00:57 +0000 (12:00 +0000)]
PcAtChipsetPkg: PciHostBridgeDxe: rewrap IoFifo source files to 79 columns

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Gabriel Somlo <somlo@cmu.edu>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17943 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoBaseTools/PeCoffLib: handle EFI_IMAGE_REL_BASED_DIR64 in generic code
Ard Biesheuvel [Tue, 14 Jul 2015 08:15:28 +0000 (08:15 +0000)]
BaseTools/PeCoffLib: handle EFI_IMAGE_REL_BASED_DIR64 in generic code

Relocations of type EFI_IMAGE_REL_BASED_DIR64 are handled in exactly
the same way on all 64-bit machine types (IPF, X64 and AARCH64).
So move the handling of this type to the generic part of the relocation
routine PeCoffLoaderRelocateImage ().

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

7 years agoNetworkPkg: Fix an error that the call function declared implicitly.
Zhang Lubo [Tue, 14 Jul 2015 04:02:35 +0000 (04:02 +0000)]
NetworkPkg: Fix an error that the call function declared implicitly.

Use NetRandomInitSeed() instead of AsmReadTsc() to generate
a random seed.
Macro definition of EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE for EBC architecture.
Add some space to make codes more standard.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: jiaxinwu <jiaxin.wu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17941 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoShellPkg: Fix ping IPv6 stack usage mode failure issue
Jiaxin Wu [Tue, 14 Jul 2015 03:41:44 +0000 (03:41 +0000)]
ShellPkg: Fix ping IPv6 stack usage mode failure issue

Fix ping IPv6 stack usage mode failure issue and also
update its the help info.
Verified command:
*ping -?
*Ping -_ip6 -_s 2000:bbbb::12 2000:bbbb::8

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

7 years agoCryptoPkg: remove redundant parentheses
Bruce Cran [Tue, 14 Jul 2015 02:57:38 +0000 (02:57 +0000)]
CryptoPkg: remove redundant parentheses

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bruce Cran <bruce@cran.org.uk>
Reviewed-by: Qin Long <qin.long.intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17939 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoCryptoPkg: Make the function headers of Pkcs7GetAttachedContent follow Doxygen.
Qiu Shumin [Tue, 14 Jul 2015 02:24:22 +0000 (02:24 +0000)]
CryptoPkg: Make the function headers of Pkcs7GetAttachedContent follow Doxygen.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Qin Long <qin.long@intel.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17938 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoSecurityPkg/Pkcs7VerifyDxe: Cleanup P7CheckTrust function comments.
Qiu Shumin [Tue, 14 Jul 2015 02:18:19 +0000 (02:18 +0000)]
SecurityPkg/Pkcs7VerifyDxe: Cleanup P7CheckTrust function comments.

Delete description of non-existent parameters 'Content' and 'ContentSize' from P7CheckTrust() description.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Qin Long <qin.long@intel.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17937 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdePkg: ensure SafeString length functions don't access beyond MaxSize
Leif Lindholm [Mon, 13 Jul 2015 11:35:28 +0000 (11:35 +0000)]
MdePkg: ensure SafeString length functions don't access beyond MaxSize

The StrnLenS and AsciiStrnLenS functions, when presented with a string
with no terminating NULL in the first MaxSize characters will check
the character at String[MaxSize] before checking if Length < MaxSize.
(They return the correct value, but have accessed beyond the stated
limit in the process.)

Flip the order of the tests to prevent this behaviour.

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

7 years agoPerformancePkg Dp_App: Fix ASSERT in GetNameFromHandle
Hao Wu [Mon, 13 Jul 2015 01:24:44 +0000 (01:24 +0000)]
PerformancePkg Dp_App: Fix ASSERT in GetNameFromHandle

This commit will resolve the issue brought by r17745.

StrCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, StringPtr);

The above using of StrCpyS will cause ASSERT if StringPtr is longer than
mGaugeString. Therefore, StrnCpyS is used here to resolve the issue.

Similar scenario is for:
StrCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, NameString); (twice)

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

7 years agoUefiCpuPkg S3Resume2Pei: Fix ASSERT in WriteToOsS3PerformanceData
Hao Wu [Mon, 13 Jul 2015 01:24:24 +0000 (01:24 +0000)]
UefiCpuPkg S3Resume2Pei: Fix ASSERT in WriteToOsS3PerformanceData

This commit will resolve the issue brought by r17744.

AsciiStrCpyS (PerfData->Token, PERF_TOKEN_SIZE, Token);

The above using of AsciiStrCpyS will cause ASSERT if Token is longer than
PerfData->Token. Therefore, AsciiStrnCatS is used here to resolve the
issue.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17934 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoIntelFrameworkModulePkg DeviceMngr: Potential read over memory boundary
Hao Wu [Mon, 13 Jul 2015 01:24:00 +0000 (01:24 +0000)]
IntelFrameworkModulePkg DeviceMngr: Potential read over memory boundary

This commit will resolve the issue brought by r17738.

String = AllocateCopyPool (BufferLen, L"MAC:");

The above using of AllocateCopyPool() will read contents out of the scope
of the constant string. Potential risk for the constant string allocated
at the boundary of memory region.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17933 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoIntelFrameworkModulePkg BootMngr: Fix potential read over memory boundary
Hao Wu [Mon, 13 Jul 2015 01:23:37 +0000 (01:23 +0000)]
IntelFrameworkModulePkg BootMngr: Fix potential read over memory boundary

This commit will resolve the issue brought by r17737.

HelpString = AllocateCopyPool (HelpSize, L"Device Path : ");

The above using of AllocateCopyPool() will read contents out of the scope
of the constant string. Potential risk for the constant string allocated
at the boundary of memory region.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17932 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoIntelFrameworkModulePkg BootMaint: Fix potential read over memory boundary
Hao Wu [Mon, 13 Jul 2015 01:23:14 +0000 (01:23 +0000)]
IntelFrameworkModulePkg BootMaint: Fix potential read over memory boundary

This commit will resolve the issue brought by r17736.

Str   = AllocateCopyPool (MaxLen * sizeof (CHAR16), Str1);

The above using of AllocateCopyPool() will read contents out of the scope
of Str1. Potential risk for Str1 allocated at the boundary of memory
region.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17931 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoIntelFrameworkModulePkg BdsDxe: Fix ASSERT in BdsMemoryTest
Hao Wu [Mon, 13 Jul 2015 01:22:44 +0000 (01:22 +0000)]
IntelFrameworkModulePkg BdsDxe: Fix ASSERT in BdsMemoryTest

This commit will resolve the issue brought by r17735.

StrCatS (StrPercent, sizeof (StrPercent) / sizeof (CHAR16), TmpStr);

The above using of StrCatS will cause ASSERT if TmpStr is longer than
StrPercent. Therefore, StrnCatS is used here to resolve the issue.

Similar scenario is for:
StrCatS (StrTotalMemory, StrTotalMemorySize / sizeof (CHAR16), TmpStr);

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17930 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoIntelFrameworkModulePkg GenericBdsLib: Potential read over memory boudary
Hao Wu [Mon, 13 Jul 2015 01:22:21 +0000 (01:22 +0000)]
IntelFrameworkModulePkg GenericBdsLib: Potential read over memory boudary

This commit will resolve the issue brought by r17733.

StringBuffer1 = AllocateCopyPool (
                  MAX_STRING_LEN * sizeof (CHAR16),
                  L"Configuration changed. Reset to apply it Now."
                  );

The above using of AllocateCopyPool() will read contents out of the scope
of the constant string. Potential risk for the constant string allocated
at the boundary of memory region.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17929 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoCryptoPkg: update OpenSSL dependency to version 1.0.2d
Ard Biesheuvel [Sun, 12 Jul 2015 18:58:24 +0000 (18:58 +0000)]
CryptoPkg: update OpenSSL dependency to version 1.0.2d

Upstream OpenSSL version 1.0.2c contained a fatal flaw
[CVE-2015-1793] and is no longer available from the openssl.org
download servers. So upgrade to its replacement, version 1.0.2d.

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: Ye Ting <ting.ye@intel.com>
Reviewed-by: Qin Long <qin.long@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17928 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmVExpressPkg: use PSCI for system reset only on AARCH64 platforms
Ard Biesheuvel [Fri, 10 Jul 2015 15:10:00 +0000 (15:10 +0000)]
ArmVExpressPkg: use PSCI for system reset only on AARCH64 platforms

The PSCI specification covers both ARM and AARCH64, however, the
ARM Trusted Firmware (ATF) reference implementation is only available
for AARCH64, and PSCI firmware is not widely available for ARM platforms.

So use the EfiResetSystemLib implementation that uses PSCI calls only
on AARCH64, and revert to the Versatile Express-specific system register
interface (which is only available during boot time) on ARM platforms.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17927 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmVExpressPkg: use ArmVExpressSysConfigRuntimeLib by default
Ard Biesheuvel [Fri, 10 Jul 2015 15:09:13 +0000 (15:09 +0000)]
ArmVExpressPkg: use ArmVExpressSysConfigRuntimeLib by default

Instead of using a NULL implementation of ArmPlatformSysConfigLib for
DXE_RUNTIME_DRIVER modules, which prevents them from accessing system
control registers even at boot time, use the new implementation that
only switches into a non-functional mode at runtime, and operates as
before otherwise.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17926 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg/ArmVExpressPkg: add ArmPlatformSysConfigLib for runtime
Ard Biesheuvel [Fri, 10 Jul 2015 15:08:15 +0000 (15:08 +0000)]
ArmPlatformPkg/ArmVExpressPkg: add ArmPlatformSysConfigLib for runtime

This adds a ArmPlatformSysConfigLib implementation that is usable by
DXE_RUNTIME_DRIVER modules. Since the system registers that this library
encapsulates are not usable at runtime, this driver allows access to
those registers only at boot time.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17925 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdeModulePkg: Code logic optimization for Ip4Dxe driver
fanwang2 [Fri, 10 Jul 2015 09:01:42 +0000 (09:01 +0000)]
MdeModulePkg: Code logic optimization for Ip4Dxe driver

Move null check before set value to address to avoid null address dereferenced.

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

7 years agoNetworkPkg: Code logic optimization for DnsDxe and HttpDxe driver
fanwang2 [Fri, 10 Jul 2015 09:00:33 +0000 (09:00 +0000)]
NetworkPkg: Code logic optimization for DnsDxe and HttpDxe driver

Revise some errors which may lead NULL pointer be dereferenced:
* DnsDhcp.c: Paralist may be used without any initialized
* DnsHeader and RcvString may be null but be dereferenced
* HttpDriver.c: revise an if judgment
* HttpImpl.c: add a judgment to avoid null dereferenced

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

7 years agoMdeModulePkg: Fix a bug that return type differs from the left one when assigned.
Zhang Lubo [Fri, 10 Jul 2015 06:57:22 +0000 (06:57 +0000)]
MdeModulePkg: Fix a bug that return type differs from the left one when assigned.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: jiaxinwu <jiaxin.wu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17922 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoNetworkPkg: Fix an error that return type differs from the left one when assigned.
Zhang Lubo [Fri, 10 Jul 2015 06:50:41 +0000 (06:50 +0000)]
NetworkPkg: Fix an error that return type differs from the left one when assigned.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: jiaxinwu <jiaxin.wu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17921 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoOvmfPkg: QemuFwCfgLib: avoid "variable set but not used" warning from GCC
Bill Paul [Fri, 10 Jul 2015 06:46:57 +0000 (06:46 +0000)]
OvmfPkg: QemuFwCfgLib: avoid "variable set but not used" warning from GCC

The FileReserved variable in QemuFwCfgFindFile() is only used to skip
over the reserved field in file headers, which causes newer versions of
GCC to flag it with a "variable set but not used" warning (which is normally
not visible since as of right now these warnings are supressed). It's true
that the value read into FileReserved is never used, but this is
intentional. This patch adds a do-nothing reference to silence the
warning.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bill Paul <wpaul@windriver.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17920 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoSecurityPkg: Make time based AuthVariable update atomic
Chao Zhang [Fri, 10 Jul 2015 06:20:04 +0000 (06:20 +0000)]
SecurityPkg: Make time based AuthVariable update atomic

System may break during time based AuthVariable update, causing certdb inconsistent. 2 ways are used to ensure update atomic.
 1. Delete cert in certdb after variable is deleted
 2. Clean up certdb on variable initialization

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

7 years agoSecurityPkg: Add default value for TPM action question
Chao Zhang [Fri, 10 Jul 2015 06:19:32 +0000 (06:19 +0000)]
SecurityPkg: Add default value for TPM action question

1. Add default value for TPM action question. F9 restore default can get the right value
2. Remove redundant suppressif

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

7 years agoMdeModulePkg: Remove Ip4ConfigDxe and related guid definition
Jiaxin Wu [Fri, 10 Jul 2015 05:49:48 +0000 (05:49 +0000)]
MdeModulePkg: Remove Ip4ConfigDxe and related guid definition

Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol,
which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).

Dependent network drivers, libraries and applications have been migrated to (or extended to) the new protocol version.
For example:
git 7c25b7ea (SVN r17869): ping & ifconfig
git 00a6ad1b (SVN r17870): UefiHandleParsingLib
git 6c5c70d6 (SVN r17873): DxeNetLib
git 39561686 (SVN r17874): IpSecDxe
git c581e503 (SVN r17875): EfiSocketLib

This patch is based on related packages(MdeModulePkg, Nt32Pkg,  ArmPlatformPkg, ArmVirtPkg, EmulatorPkg, OvmfPkg, Vlv2TbltDevicePkg) clean-up work finished.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17917 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoSourceLevelDebugPkg/SecPeiDebugAgentLib: Restore CPU interrupt state
Jeff Fan [Fri, 10 Jul 2015 05:48:19 +0000 (05:48 +0000)]
SourceLevelDebugPkg/SecPeiDebugAgentLib: Restore CPU interrupt state

In DEBUG_AGENT_INIT_POSTMEM_SEC case, caller may disable/restore CPU interrupt
to protect the stack/heap migration. SecPeiDebugAgentLib cannot always enable
CPU interrupt. Otherwise system may crash during stack/heap migration.
SecPeiDebugAgentLib should restore original CPU interrupt state in
DEBUG_AGENT_INIT_POSTMEM_SEC case.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Brian J. Johnson <bjohnson@sgi.com>
Tested-by: Brian J. Johnson <bjohnson@sgi.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17916 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoVlv2TbltDevicePkg: Remove Ip4ConfigDxe module from build
Jiaxin Wu [Fri, 10 Jul 2015 05:47:31 +0000 (05:47 +0000)]
Vlv2TbltDevicePkg: Remove Ip4ConfigDxe module from build

Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol,
which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).
Therefore we can remove Ip4ConfigDxe driver from this build.

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

7 years agoOvmfPkg: Remove Ip4ConfigDxe module from OvmfPkg
Jiaxin Wu [Fri, 10 Jul 2015 05:46:45 +0000 (05:46 +0000)]
OvmfPkg: Remove Ip4ConfigDxe module from OvmfPkg

Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol,
which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).
Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17914 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoEmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
Jiaxin Wu [Fri, 10 Jul 2015 05:44:23 +0000 (05:44 +0000)]
EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg

Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol,
which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).
Therefore we can remove Ip4ConfigDxe driver from this build.

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

7 years agoArmVirtPkg: Remove Ip4ConfigDxe module from ArmVirtPkg
Jiaxin Wu [Fri, 10 Jul 2015 05:43:35 +0000 (05:43 +0000)]
ArmVirtPkg: Remove Ip4ConfigDxe module from ArmVirtPkg

Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol,
which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).
Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Olivier Martin <Olivier.martin@arm.com>
Reviewed-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@17912 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoArmPlatformPkg: Remove Ip4ConfigDxe from ArmPlatformPkg
Jiaxin Wu [Fri, 10 Jul 2015 05:41:15 +0000 (05:41 +0000)]
ArmPlatformPkg: Remove Ip4ConfigDxe from ArmPlatformPkg

Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol,
which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).
Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17911 6f19259b-4bc3-4df7-8a09-765794883524

7 years agoMdeModulePkg: Fix TerminalDxe VS2013 build failure
Roy Franz [Fri, 10 Jul 2015 03:21:09 +0000 (03:21 +0000)]
MdeModulePkg: Fix TerminalDxe VS2013 build failure

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

7 years agoBaseTools: Fix BinWrappers LzmaF86Compress Script
Liming Gao [Fri, 10 Jul 2015 02:51:38 +0000 (02:51 +0000)]
BaseTools: Fix BinWrappers LzmaF86Compress Script

LzmaF86Compress Script should use $arg to arg value.

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