]> git.proxmox.com Git - mirror_edk2.git/log
mirror_edk2.git
8 years agoCoding style change in UefiPxeBcDxe.inf
jiaxinwu [Fri, 8 May 2015 05:59:35 +0000 (05:59 +0000)]
Coding style change in UefiPxeBcDxe.inf

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

8 years agoSync the branch changes to trunk.
Tim He [Fri, 8 May 2015 03:13:37 +0000 (03:13 +0000)]
Sync the branch changes to trunk.

Support fTPM feature, and update the BiosID to 0.80.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tim He <tim.he@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17362 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg/Include: Add support for flexible array members
Michael Kinney [Thu, 7 May 2015 17:19:11 +0000 (17:19 +0000)]
MdePkg/Include: Add support for flexible array members

Use pragma to disable warning 4200 for all VS* and DDK* tool chains to support
data structure declarations where the last field of the data structure is a
flexible array member.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: lhauch <larry.hauch@intel.com>
Tested-by: Chao Zhang <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17361 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoArmVExpressPkg: add support for embedding DTBs for AArch64 variants
Ard Biesheuvel [Thu, 7 May 2015 15:40:31 +0000 (15:40 +0000)]
ArmVExpressPkg: add support for embedding DTBs for AArch64 variants

If DTB_DIR=<path> is set during the build, incorporate DTBs from
that path for all AArch64 FVP platform variants so that they can
be loaded straight from the firmware image instead of from a file
system. This relieves a user of having to keep a DTB file with the
right name in the working directory of the model.

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

8 years agoArmPlatformPkg: add support for FV embedded device tree blobs
Ard Biesheuvel [Thu, 7 May 2015 15:39:23 +0000 (15:39 +0000)]
ArmPlatformPkg: add support for FV embedded device tree blobs

This adds support to the ArmVExpressPkg platforms to load their
device tree binary from a Firmware Volume if one is found that
matches the current platform. If none is found, the existing
logic to find a FDT by name from a file system is retained as
a fallback.

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

8 years agoArmVExpressPkg: use named GUIDs for all VExpress variants
Ard Biesheuvel [Thu, 7 May 2015 15:38:25 +0000 (15:38 +0000)]
ArmVExpressPkg: use named GUIDs for all VExpress variants

Instead of using open coded GUIDs, define them only once, and refer
to them by name everywhere else.

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

8 years agoArmPkg: fix pointer indirection bug in BdsFirmwareVolumeLoadImage()
Ard Biesheuvel [Thu, 7 May 2015 15:37:10 +0000 (15:37 +0000)]
ArmPkg: fix pointer indirection bug in BdsFirmwareVolumeLoadImage()

The EFI_FIRMWARE_VOLUME2_PROTOCOL::EFI_FV_READ_SECTION prototype
takes a pointer to a pointer to an output buffer, so we should
not dereference Image (which is a pointer to pointer type itself)
but pass its value directly.

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

8 years agoArmVirtualizationPkg: Enable secure boot for ArmVirtualizationQemu
Ard Biesheuvel [Thu, 7 May 2015 15:22:31 +0000 (15:22 +0000)]
ArmVirtualizationPkg: Enable secure boot for ArmVirtualizationQemu

This adds all the required modules and library dependencies so that
the ArmVirtualizationQemu platform can be built with support for
UEFI Secure Boot. This support consists of the OpenSSL crypto
library (whose source needs to be downloaded separately), the
authenticated variable store, and authentication of executables
before launching them.

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

8 years agoArmPlatformPkg: enable use of authenticated variables in NorFlashDxe
Ard Biesheuvel [Thu, 7 May 2015 15:18:14 +0000 (15:18 +0000)]
ArmPlatformPkg: enable use of authenticated variables in NorFlashDxe

The NorFlashDxe uses an explicit 'BEFORE xxx' Depex declaration to
ensure that it is dispatched before VariableRuntimeDxe, and uses the
file GUID of the latter as 'xxx' explicitly to accomplish that.

However, when enabling UEFI Secure Boot, this breaks down since the
authenticated VariableRuntimeDxe is a completely separate driver, with
a different GUID. Also, the hardcoded dependency on gEfiVariableGuid,
which is not used under UEFI Secure Boot, needs to be factored out in
order to allow this driver to be used.

So clone NorFlashDxe.inf into NorFlashAuthenticatedDxe.inf, and fix
up the dependencies so they refer to gEfiAuthenticatedVariableGuid and
SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf
instead.

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

8 years agoSecurityPkg: remove unused variables
Ard Biesheuvel [Thu, 7 May 2015 15:16:23 +0000 (15:16 +0000)]
SecurityPkg: remove unused variables

This removes various unused variables from SecurityPkg whose presence
is causing failed builds.

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

8 years agoMdeModulePkg: Avoid using same TokenValue for two PCDs.
Ruiyu Ni [Thu, 7 May 2015 02:36:51 +0000 (02:36 +0000)]
MdeModulePkg: Avoid using same TokenValue for two PCDs.

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

8 years agoMdePkg/SmmGipDispatch2.h: SMM GpiNum meaning clarification
Jeff Fan [Thu, 7 May 2015 02:31:30 +0000 (02:31 +0000)]
MdePkg/SmmGipDispatch2.h: SMM GpiNum meaning clarification

To support GPI number > 64, PI 1.4 clarified SMM GpiNum meaning as below:
typedef struct {
  UINT64 GpiNum;
} EFI_SMM_GPI_REGISTER_CONTEXT;
Instead of the bit mask of 64 possible GPIs, GpiNum is one of 2^64 possible
GPIs that can generate an SMI. A 0 corresponds to logical GPI[00],
1 corresponds to logical GPI[1], and so on, and GpiNum of N corresponds to
GPI[N], where N can span from 0 to 2^64-1.

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

8 years agoMdeModulePkg/SmmCore: SMM register protocol notify function clarify
Jeff Fan [Thu, 7 May 2015 02:29:52 +0000 (02:29 +0000)]
MdeModulePkg/SmmCore: SMM register protocol notify function clarify

PI 1.4 clarified SMM register protocol notify function return status as below:
EFI_SUCCESS           Successfully returned the registration record that has
                      been added or unhooked
EFI_INVALID_PARAMETER Protocol is NULL or Registration is NULL
The implementation of SmmRegisterProtocolNotify() already followed this new
rule, needn't to be updated.

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

8 years agoMdePkg/PiSmmCis.h: SMM register protocol notify function clarify
Jeff Fan [Thu, 7 May 2015 02:28:56 +0000 (02:28 +0000)]
MdePkg/PiSmmCis.h: SMM register protocol notify function clarify

PI 1.4 clarified SMM register protocol notify function return status as below:
EFI_SUCCESS           Successfully returned the registration record that has
                      been added or unhooked
EFI_INVALID_PARAMETER Protocol is NULL or Registration is NULL

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

8 years agoMdePkg: Add longer term new CPER memory section definition.
Qiu Shumin [Thu, 7 May 2015 01:22:13 +0000 (01:22 +0000)]
MdePkg: Add longer term new CPER memory section definition.

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

8 years agoBaseTools: Fix build fail issue.
Eric Dong [Wed, 6 May 2015 12:52:16 +0000 (12:52 +0000)]
BaseTools: Fix build fail issue.

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

8 years agoMdeModulePkg: Enhance the check for numeric opcode with EFI_IFR_DISPLAY_INT_DEC attri...
Eric Dong [Wed, 6 May 2015 12:30:13 +0000 (12:30 +0000)]
MdeModulePkg: Enhance the check for numeric opcode with EFI_IFR_DISPLAY_INT_DEC attribute.

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

8 years agoBaseTools: Enhance the check for numeric opcode with EFI_IFR_DISPLAY_INT_DEC attribute.
Eric Dong [Wed, 6 May 2015 12:29:33 +0000 (12:29 +0000)]
BaseTools: Enhance the check for numeric opcode with EFI_IFR_DISPLAY_INT_DEC attribute.

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

8 years agoEmbeddedPkg: Remove dependency on TimerLib
Olivier Martin [Wed, 6 May 2015 11:15:44 +0000 (11:15 +0000)]
EmbeddedPkg: Remove dependency on TimerLib

UEFI drivers should not depend on TimerLib. They should
use BS.Stall() instead.

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

8 years agoArmPlatformPkg/ArmJunoDxe: Use different UID for PCI Emulation
Olivier Martin [Wed, 6 May 2015 11:14:28 +0000 (11:14 +0000)]
ArmPlatformPkg/ArmJunoDxe: Use different UID for PCI Emulation

We keep UID=0 for the 'real' PCI root complex on the Juno board.

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

8 years agoMdeModulePkg: BaseSortLib and UefiBootManagerLib support DXE_RUNTIME_DRIVER.
Ruiyu Ni [Wed, 6 May 2015 10:41:05 +0000 (10:41 +0000)]
MdeModulePkg: BaseSortLib and UefiBootManagerLib support DXE_RUNTIME_DRIVER.

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

8 years agoMdeModulePkg: Add match2 opcode support in SetupBrowserDxe and sample code in DriverS...
Eric Dong [Wed, 6 May 2015 10:40:53 +0000 (10:40 +0000)]
MdeModulePkg: Add match2 opcode support in SetupBrowserDxe and sample code in DriverSampleDxe

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@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@17340 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg: Add Regular Expression Protocol and match2 opcode definition.
Eric Dong [Wed, 6 May 2015 10:39:26 +0000 (10:39 +0000)]
MdePkg: Add Regular Expression Protocol and match2 opcode definition.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@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@17339 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoBaseTools: Enable Match2 Opcode.
Eric Dong [Wed, 6 May 2015 10:38:04 +0000 (10:38 +0000)]
BaseTools: Enable Match2 Opcode.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@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@17338 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: update comments for question.
Eric Dong [Wed, 6 May 2015 10:12:53 +0000 (10:12 +0000)]
MdeModulePkg: update comments for question.

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

8 years agoMdeModulePkg: Enable buffer type value for default and oneofoption opcode.
Eric Dong [Wed, 6 May 2015 09:36:40 +0000 (09:36 +0000)]
MdeModulePkg: Enable buffer type value for default and oneofoption opcode.

In order to support default value for orderedlist opcode, support buffer type value for default/oneofoption opcode.
If oneofoption used as a default value, it will not be added to normal option list.

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

8 years agoBaseTools: Enable buffer type value for default and oneofoption opcode.
Eric Dong [Wed, 6 May 2015 09:35:14 +0000 (09:35 +0000)]
BaseTools: Enable buffer type value for default and oneofoption opcode.

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

8 years agoMdeModluePkg: Enable refresh opcode to refresh the entire form.
Eric Dong [Wed, 6 May 2015 09:29:39 +0000 (09:29 +0000)]
MdeModluePkg: Enable refresh opcode to refresh the entire form.

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

8 years agoBaseTool: Add refresh form opcode in vfrcompiler.
Eric Dong [Wed, 6 May 2015 09:27:07 +0000 (09:27 +0000)]
BaseTool: Add refresh form opcode in vfrcompiler.

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

8 years agoRemove obsolete PCDs (new ones are moved to MdePkg and MdeModulePkg)
Ruiyu Ni [Wed, 6 May 2015 04:51:19 +0000 (04:51 +0000)]
Remove obsolete PCDs (new ones are moved to MdePkg and MdeModulePkg)

Including:
  PcdHardwareErrorRecordLevel, PcdPlatformBootTimeout
  PcdSetupConOutColumn, PcdSetupConOutRow, PcdSetupVideoHorizontalResolution, PcdSetupVideoVerticalResolution

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

8 years agoMdeModulePkg: Add DriverHealthManagerDxe driver.
Ruiyu Ni [Wed, 6 May 2015 04:50:56 +0000 (04:50 +0000)]
MdeModulePkg: Add DriverHealthManagerDxe driver.

DriverHealthManagerDxe provides a driver health management VFR form
which will be sent by UefiBootManagerLib when booting a boot option.
It also provides another driver health management VFR form which will
be included by certain boot manager menu through the VFR class GUID.

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

8 years agoIntelFrameworkModulePkg: Add LegacyBootManagerLib.
Ruiyu Ni [Wed, 6 May 2015 04:50:23 +0000 (04:50 +0000)]
IntelFrameworkModulePkg: Add LegacyBootManagerLib.

LegacyBootManagerLib is a NULL class library to work with UefiBootManagerLib
providing legacy boot support.

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

8 years agoMdeModulePkg: Add BootManagerMenuApp.
Ruiyu Ni [Wed, 6 May 2015 04:49:30 +0000 (04:49 +0000)]
MdeModulePkg: Add BootManagerMenuApp.

BootManagerMenuApp only provides a very simple UI showing all the boot options
recorded by "BootOrder" and user can select any of them to boot.

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

8 years agoMdeModulePkg: Add BdsDxe driver and PlatformBootManagerNull library.
Ruiyu Ni [Wed, 6 May 2015 04:48:56 +0000 (04:48 +0000)]
MdeModulePkg: Add BdsDxe driver and PlatformBootManagerNull library.

BdsDxe driver links to UefiBootManagerLib and PlatformBootManager to
provide a pure UEFI boot manager conforming to the UEFI spec.

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

8 years agoMdeModulePkg: Add UefiBootManagerLib
Ruiyu Ni [Wed, 6 May 2015 04:47:02 +0000 (04:47 +0000)]
MdeModulePkg: Add UefiBootManagerLib

UefiBootManagerLib provides:
 load option library functions;
 hot key library functions;
 boot library functions;
 connect and disconnect library functions;
 driver health library functions.

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

8 years agoVlv2TbltDevicePkg: Use the new PCDs defined in MdePkg and MdeModulePkg.
Ruiyu Ni [Wed, 6 May 2015 04:45:53 +0000 (04:45 +0000)]
Vlv2TbltDevicePkg: Use the new PCDs defined in MdePkg and MdeModulePkg.

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

8 years agoCorebootPayloadPkg: Use the new PCDs defined in MdePkg.
Ruiyu Ni [Wed, 6 May 2015 04:45:08 +0000 (04:45 +0000)]
CorebootPayloadPkg: Use the new PCDs defined in MdePkg.

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

8 years agoArmPlatformPkg: Use the new PCDs defined in MdePkg and MdeModulePkg.
Ruiyu Ni [Wed, 6 May 2015 04:44:43 +0000 (04:44 +0000)]
ArmPlatformPkg: Use the new PCDs defined in MdePkg and MdeModulePkg.

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

8 years agoMdeModulePkg: Remove GetBootMode() at FirmwarePerformancePeiEntryPoint
Hao Wu [Wed, 6 May 2015 03:31:28 +0000 (03:31 +0000)]
MdeModulePkg: Remove GetBootMode() at FirmwarePerformancePeiEntryPoint

Boot mode maybe changed at any point during the PEI phase, therefore, boot
mode should be checked later rather at entry point.

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

8 years agoMdePkg: Modify specification number encoding
Hao Wu [Wed, 6 May 2015 03:30:52 +0000 (03:30 +0000)]
MdePkg: Modify specification number encoding

Change the PEI, DXE, and SMM service table revisions to 1.4.

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

8 years agoMdePkg: EFI_FIRMWARE_MANAGEMENT_PROTOCOL.CheckImage() Description Update
Hao Wu [Wed, 6 May 2015 03:30:27 +0000 (03:30 +0000)]
MdePkg: EFI_FIRMWARE_MANAGEMENT_PROTOCOL.CheckImage() Description Update

Update description comments for IMAGE_UPDATABLE_VALID.
Add new definition IMAGE_UPDATABLE_VALID_WITH_VENDOR_CODE to FMP
CheckImage.

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

8 years agoMdePkg: Update the UEFI version to reflect new revision
Hao Wu [Wed, 6 May 2015 03:30:04 +0000 (03:30 +0000)]
MdePkg: Update the UEFI version to reflect new revision

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

8 years agoEmulatorPkg: Use the new PCDs defined in MdePkg.
Ruiyu Ni [Wed, 6 May 2015 03:28:12 +0000 (03:28 +0000)]
EmulatorPkg: Use the new PCDs defined in MdePkg.

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

8 years agoOvmfPkg: Use the new PCDs defined in MdePkg and MdeModulePkg.
Ruiyu Ni [Wed, 6 May 2015 03:27:42 +0000 (03:27 +0000)]
OvmfPkg: Use the new PCDs defined in MdePkg and MdeModulePkg.

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

8 years agoDuetPkg: Use the new PCDs defined in MdePkg.
Ruiyu Ni [Wed, 6 May 2015 03:26:49 +0000 (03:26 +0000)]
DuetPkg: Use the new PCDs defined in MdePkg.

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

8 years agoEdkCompatibilityPkg: Use the new PCDs defined in MdePkg.
Ruiyu Ni [Wed, 6 May 2015 03:24:35 +0000 (03:24 +0000)]
EdkCompatibilityPkg: Use the new PCDs defined in MdePkg.

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

8 years agoNt32Pkg: Use the new PCDs defined in MdePkg and MdeModulePkg.
Ruiyu Ni [Wed, 6 May 2015 03:23:58 +0000 (03:23 +0000)]
Nt32Pkg: Use the new PCDs defined in MdePkg and MdeModulePkg.

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

8 years agoIntelFrameworkModulePkg: Change BdsDxe to use new PCDs defined in MdePkg and MdeModul...
Ruiyu Ni [Wed, 6 May 2015 03:23:06 +0000 (03:23 +0000)]
IntelFrameworkModulePkg: Change BdsDxe to use new PCDs defined in MdePkg and MdeModulePkg.

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

8 years agoCopy PCD from IntelFrameworkModulePkg to MdePkg and MdeModulePkg
Ruiyu Ni [Wed, 6 May 2015 03:22:26 +0000 (03:22 +0000)]
Copy PCD from IntelFrameworkModulePkg to MdePkg and MdeModulePkg

to MdePkg: PcdHardwareErrorRecordLevel, PcdPlatformBootTimeout
to MdeModulePkg: PcdSetupConOutColumn, PcdSetupConOutRow, PcdSetupVideoHorizontalResolution, PcdSetupVideoVerticalResolution

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

8 years agoMdePkg: Add bluetooth devicepath handling in device path library.
Qiu Shumin [Wed, 6 May 2015 02:41:37 +0000 (02:41 +0000)]
MdePkg: Add bluetooth devicepath handling in device path library.

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

8 years agoMdePkg: Add UEFI2.5 bluetooth protocol/devicepath definition in MdePkg.
Qiu Shumin [Wed, 6 May 2015 02:21:48 +0000 (02:21 +0000)]
MdePkg: Add UEFI2.5 bluetooth protocol/devicepath definition in MdePkg.

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

8 years agoAdd ASSERT comment for SafeString API in BaseLib for MdePkg.
Yao, Jiewen [Wed, 6 May 2015 00:46:51 +0000 (00:46 +0000)]
Add ASSERT comment for SafeString API in BaseLib for MdePkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
Reviewed-by: "Carsey, Jaben" <jaben.carsey@intel.com>
Reviewed-by: "Justen, Jordan L" <jordan.l.justen@intel.com>
Reviewed-by: "Gao, Liming" <Liming.Gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17310 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoEmbeddedPkg: do not ASSERT() on valid external input
Ard Biesheuvel [Tue, 5 May 2015 15:51:44 +0000 (15:51 +0000)]
EmbeddedPkg: do not ASSERT() on valid external input

Since ASSERT()s are enabled even on all ArmPlatformPkg RELEASE
builds, ASSERT()ing on a valid FDT header will crash the firmware
if the user selects an incorrect file. Since ASSERT() is meant to
catch internal inconsistencies in the firmware, its use here is
inappropriate.

Instead, handle it as a normal error condition.

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

8 years agoEmbeddedPkg/PrePiLib: Ensure the FFS files are always 8-byte aligned
Olivier Martin [Tue, 5 May 2015 15:48:59 +0000 (15:48 +0000)]
EmbeddedPkg/PrePiLib: Ensure the FFS files are always 8-byte aligned

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

8 years agoEmbeddedPkg/FdtPlatformDxe: Changed the driver from DXE to UEFI driver
Olivier Martin [Tue, 5 May 2015 15:47:07 +0000 (15:47 +0000)]
EmbeddedPkg/FdtPlatformDxe: Changed the driver from DXE to UEFI driver

The driver does not really require to be a DXE driver.
By moving it as a UEFI driver it also implies it is dispatcged after
the DXE drivers at boot time.

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

8 years agoArmPlatformPkg: Removed duplicate PCD settings
Olivier Martin [Tue, 5 May 2015 15:45:20 +0000 (15:45 +0000)]
ArmPlatformPkg: Removed duplicate PCD settings

PcdOverridePlatformFdt was set with its default value.

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

8 years agoArmPlatformPkg: Move the FDT platform driver at the end of the driver list
Olivier Martin [Tue, 5 May 2015 15:43:48 +0000 (15:43 +0000)]
ArmPlatformPkg: Move the FDT platform driver at the end of the driver list

The Fdt platform driver has been moved at the end of the list
of the DXE/UEFI drivers to ensure the device drivers have been
dispatched prior to load the FDT platform driver.

For instance, if we want to load FDT from TFTP we must have
the ethernet driver to be already loaded.

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

8 years agoEmbeddedPkg/FdtPlatformDxe: Update the uni file
Ronald Cron [Tue, 5 May 2015 15:40:46 +0000 (15:40 +0000)]
EmbeddedPkg/FdtPlatformDxe: Update the uni file

The updated uni file reflects the latest EFI shell command updates.

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

8 years agoEmbeddedPkg/FdtPlatformDxe: Introduce EFI Shell command 'dumfdt'
Olivier Martin [Tue, 5 May 2015 15:31:11 +0000 (15:31 +0000)]
EmbeddedPkg/FdtPlatformDxe: Introduce EFI Shell command 'dumfdt'

This command dumps the Flat Device Tree currently installed
in the EFI Configuration Table.

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

8 years agoEmbeddedPkg/FdtPlatformDxe: Move 'setfdt' Shell command into a separate file
Olivier Martin [Tue, 5 May 2015 15:27:41 +0000 (15:27 +0000)]
EmbeddedPkg/FdtPlatformDxe: Move 'setfdt' Shell command into a separate file

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

8 years agoEmbeddedPkg/FdtPlatformDxe: 'setfdt' command, display the successful device path
Ronald Cron [Tue, 5 May 2015 15:25:43 +0000 (15:25 +0000)]
EmbeddedPkg/FdtPlatformDxe: 'setfdt' command, display the successful device path

Display in the EFI Shell the device path from which
the FDT was retrieved when the installation process
triggered by the "-i" option is successful.

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

8 years agoEmbeddedPkg/FdtPlatformDxe: 'setfdt' command, add deletion of the UEFI variable ...
Ronald Cron [Tue, 5 May 2015 15:24:17 +0000 (15:24 +0000)]
EmbeddedPkg/FdtPlatformDxe: 'setfdt' command, add deletion of the UEFI variable "Fdt"

Add deletion of the "Fdt" UEFI variable used to specify
a development FDT device path when the 'setfdt' command
is called with an empty string as file path.

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

8 years agoArmPlatformPkg/FdtPlatformDxe: 'setfdt' command, add display of FDT device paths.
Ronald Cron [Tue, 5 May 2015 15:23:02 +0000 (15:23 +0000)]
ArmPlatformPkg/FdtPlatformDxe: 'setfdt' command, add display of FDT device paths.

Add the display of the device paths that the FDT installation
process goes through when the 'setfdt' EFI Shell command is
called without any parameter.

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

8 years agoEmbeddedPkg/FdtPlatformDxe: Run FDT installation process at TPL_APPLICATION level
Olivier Martin [Tue, 5 May 2015 15:12:58 +0000 (15:12 +0000)]
EmbeddedPkg/FdtPlatformDxe: Run FDT installation process at TPL_APPLICATION level

The current mechanism relies on EndOfDxe event that runs at TPL_CALLBACK level.
It prevents some protocols to run as excepted because they require TPL_CALLBACK
(eg: TFTP transfer).

This change moves FDT installation in the driver entrypoint (that is called at
TPL_APPLICATION level).

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

8 years agoArmPkg/BdsLib: Exposed ShutdownUefiBootServices() in the BdsLib interface
Olivier Martin [Tue, 5 May 2015 14:58:57 +0000 (14:58 +0000)]
ArmPkg/BdsLib: Exposed ShutdownUefiBootServices() in the BdsLib interface

Other libraries/modules could use it (eg: EFI Shell command `runaxf`).

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

8 years agoArmPlatformPkg/Scripts/Makefile: Added support to automatically update the FIP
Olivier Martin [Tue, 5 May 2015 14:56:51 +0000 (14:56 +0000)]
ArmPlatformPkg/Scripts/Makefile: Added support to automatically update the FIP

Some ARM development platforms use ARM Trusted Firmware to boot.
ARM Trusted Firmware encapsulates UEFI into the FIP (Firmware
Image Package) binary.
This change allows to update the FIP binary after building UEFI.

Example to build UEFI for FVP Base model:
$ make -f ArmPlatformPkg/Scripts/Makefile \
   EDK2_DSC=ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc \
   EDK2_ARCH=AARCH64 EDK2_TOOLCHAIN=GCC49 \
   FIP_BIN=~/arm-trusted-firmware/build/fvp/release/fip.bin

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

8 years agoMdePkg: Add UEFI2.5 USB Function I/O protocol definitions
Feng Tian [Tue, 5 May 2015 07:29:56 +0000 (07:29 +0000)]
MdePkg: Add UEFI2.5 USB Function I/O protocol definitions

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

8 years agoMdePkg: Add UEFI2.5 Smart Card Edge protocol definitions
Feng Tian [Tue, 5 May 2015 07:28:48 +0000 (07:28 +0000)]
MdePkg: Add UEFI2.5 Smart Card Edge protocol definitions

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

8 years agoMdePkg: Add UEFI2.5 Smart Card Reader protocol definitions
Feng Tian [Tue, 5 May 2015 07:28:18 +0000 (07:28 +0000)]
MdePkg: Add UEFI2.5 Smart Card Reader protocol definitions

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

8 years agoMdePkg: Add UEFI2.5 Inline Cryptographic Interface definition
Feng Tian [Tue, 5 May 2015 07:27:52 +0000 (07:27 +0000)]
MdePkg: Add UEFI2.5 Inline Cryptographic Interface definition

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

8 years agoFixed SOURCE_DEBUG_ENABLE build error.
Shifei Lu [Tue, 5 May 2015 02:58:51 +0000 (02:58 +0000)]
Fixed SOURCE_DEBUG_ENABLE build error.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Shifei Lu <shifeix.a.lu@intel.com>
Reviewed-by: David Wei <david.wei@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17291 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoIntelFrameworkModulePkg: Modify IsaSerialDxe to follow driver rules
Hao Wu [Tue, 5 May 2015 02:34:20 +0000 (02:34 +0000)]
IntelFrameworkModulePkg: Modify IsaSerialDxe to follow driver rules

IsaSerialDxe creates child handles and wishes to retrieve the name for
those child controllers.

However, in the IsaSerialComponentNameGetControllerName() function, it
directly return EFI_UNSUPPORTED when ChildHandle != NULL.

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

8 years agoAdd UEFI2.5 HASH protocol implementation.
Yao, Jiewen [Tue, 5 May 2015 01:40:16 +0000 (01:40 +0000)]
Add UEFI2.5 HASH protocol implementation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
Reviewed-by: "Long, Qin" <Qin.Long@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17288 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoAdd UEFI2.5 HASH protocol definition.
Yao, Jiewen [Tue, 5 May 2015 01:34:39 +0000 (01:34 +0000)]
Add UEFI2.5 HASH protocol definition.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
Reviewed-by: "Long, Qin" <Qin.Long@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17287 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg/NvmExpressDxe: Expose EFI_NVM_EXPRESS_PASS_THRU protocol
Feng Tian [Mon, 4 May 2015 11:08:09 +0000 (11:08 +0000)]
MdeModulePkg/NvmExpressDxe: Expose EFI_NVM_EXPRESS_PASS_THRU protocol

This patch produces a EFI_NVM_EXPRESS_PASS_THRU protocol instance
on device handle to provide upper user a way to send cmd to NVMe
device.

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

8 years agoMdePkg: Add UEFI2.5 EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL definitions
Feng Tian [Mon, 4 May 2015 11:07:25 +0000 (11:07 +0000)]
MdePkg: Add UEFI2.5 EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL definitions

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

8 years agoenhancement to tool to generate the comments along with offsets in the .h file.
Mudusuru, Giri P [Fri, 1 May 2015 23:09:53 +0000 (23:09 +0000)]
enhancement to tool to generate the comments along with offsets in the .h file.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Mudusuru, Giri P" <giri.p.mudusuru@intel.com>
Reviewed-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17282 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoFix FSP GCC error on FspApiCallingCheck().
Yao, Jiewen [Fri, 1 May 2015 01:05:00 +0000 (01:05 +0000)]
Fix FSP GCC error on FspApiCallingCheck().

Add comment for ASM.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
Reviewed-by: "Mudusuru, Giri P" <giri.p.mudusuru@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17281 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg/BaseLib: Preserve EBX register and fix stack offset to LinearAddress in AsmFlu...
Michael Kinney [Thu, 30 Apr 2015 07:25:07 +0000 (07:25 +0000)]
MdePkg/BaseLib: Preserve EBX register and fix stack offset to LinearAddress in AsmFlushCacheLine()

The value of EBX must be preserved to follow IA32 cdecl calling convention in the assembly
implementation of AsmFlushCacheLine(). The CPUID instruction modifies the EBX register.
The EBX register value is saved onto the stack before CPUID and restored from the stack
after CPUID.

The update to the inline assembly implementation of AsmFlushCacheLine() changed the location of the
LinearAddress parameter value on the stack.  The hardcoded lookup using [esp + 4] is not correct.
Use the parameter name LinearAddress instead of the hard coded [esp + 4] stack location to prevent
this issue from occurring again if there are changes to the inline assembly in the future.

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

8 years agoAdd IPV6 support from UNDI
Ye Ting [Thu, 30 Apr 2015 02:57:10 +0000 (02:57 +0000)]
Add IPV6 support from UNDI

Add new information block ‘IPV6 support from UNDI’ in AIP protocol and provide sample implementation in UNDI driver.
Update PXE driver to get ‘Ipv6Available’ of PXE BC Mode data from UNDI driver, if unsupported then not to start PXE over IPv6 path.

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

8 years agoAdd FSP_FSPP_SIGNATURE in 1.1.
Yao, Jiewen [Thu, 30 Apr 2015 01:57:25 +0000 (01:57 +0000)]
Add FSP_FSPP_SIGNATURE in 1.1.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
Reviewed-by: "Mudusuru, Giri P" <giri.p.mudusuru@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17273 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoClean update API name for ASM function.
Yao, Jiewen [Thu, 30 Apr 2015 01:18:30 +0000 (01:18 +0000)]
Clean update API name for ASM function.

Add FSP_INFO_HEADER_SIGNATURE and FSP_INFO_EXTENDED_HEADER_SIGNATURE.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
Reviewed-by: "Ma, Maurice" <maurice.ma@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17271 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: Update comments for PcdMemoryProfileMemoryType
Liming Gao [Wed, 29 Apr 2015 08:12:11 +0000 (08:12 +0000)]
MdeModulePkg: Update comments for PcdMemoryProfileMemoryType

PcdMemoryProfileMemoryType also includes EfiPersistentMemory.

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

8 years agoShellPkg: Update CopyRight to 2015
Liming Gao [Wed, 29 Apr 2015 08:11:45 +0000 (08:11 +0000)]
ShellPkg: Update CopyRight to 2015

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

8 years agoRemove duplicate DAD entry in IP6 driver to fix DAD fail issue.
Fu Siyuan [Wed, 29 Apr 2015 05:47:03 +0000 (05:47 +0000)]
Remove duplicate DAD entry in IP6 driver to fix DAD fail issue.

The IP6 driver may create duplicate IP6_DAD_ENTRY in DupAddrDetectList in some situation like:
1. Address policy switch but not clear the delay node list, OR
2. Set manual address repeatedly before the previous DAD is finished.
The NS sent out by duplicate DAD entry will mix up with the loop back multicast packet, result in DAD fail.

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

8 years agoMdeModulePkg: PI1.4 DxeCore GetMemoryMap() update
Liming Gao [Wed, 29 Apr 2015 05:11:21 +0000 (05:11 +0000)]
MdeModulePkg: PI1.4 DxeCore GetMemoryMap() update

PI1.4: Updates DxeCore to add all EfiGcdMemoryTypeReserved memory
into UEFI memory map.

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

8 years agoEdkCompatibilityPkg: Add PersistentMemory definition
Liming Gao [Wed, 29 Apr 2015 05:10:41 +0000 (05:10 +0000)]
EdkCompatibilityPkg: Add PersistentMemory definition

Include this definition to make sure EfiMaxMemoryType be same value in EDKII and ECP code.

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

8 years agoAdd dual FSP binaries support.
Ma, Maurice [Wed, 29 Apr 2015 03:50:20 +0000 (03:50 +0000)]
Add dual FSP binaries support.

There are two FSP images at different locations in a flash (one factory version is read only and other in updatable version)
TempRamInit, FspMemoryInit and TempRamExit are executed from factory version and FspSiliconInit/NotifyPhase will be executed from updatable version.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Ma, Maurice" <maurice.ma@intel.com>
Reviewed-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17249 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoAdd dual FSP binaries support.
Ma, Maurice [Wed, 29 Apr 2015 03:10:24 +0000 (03:10 +0000)]
Add dual FSP binaries support.

There are two FSP images at different locations in a flash (one factory version is read only and other in updatable version)
TempRamInit, FspMemoryInit and TempRamExit are executed from factory version and FspSiliconInit/NotifyPhase will be executed from updatable version.

Also update FSP specification version to v1.1.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Ma, Maurice" <maurice.ma@intel.com>
Reviewed-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17248 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdeModulePkg: fix some issues in ScsiDisk to co-work with UFS stack
Feng Tian [Wed, 29 Apr 2015 02:44:42 +0000 (02:44 +0000)]
MdeModulePkg: fix some issues in ScsiDisk to co-work with UFS stack

The changes in ScsiDisk include:
1. Add UFS disk info support.
2. Remove the wrong block size calculation.
3. Get sense data for TEST_UNIT_READY cmd immediately rather than sending a REQUEST_SENSE cmd again.

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

8 years agoMdeModulePkg: Add UFS (Universal Flash Storage) Stack
Feng Tian [Wed, 29 Apr 2015 02:42:58 +0000 (02:42 +0000)]
MdeModulePkg: Add UFS (Universal Flash Storage) Stack

It includes 4 drivers:
1. UfsPassThruDxe, which is a UEFI driver and consumes EFI_UFS_HOST_CONTROLLER_PROTOCOL and produces EFI_EXT_SCSI_PASS_THRU_PROTOCOL
2. UfsPciHcDxe, which is specific for pci-based UFS HC implementation and is a UEFI driver to produce EFI_UFS_HOST_CONTROLLER_PROTOCOL.
3. UfsBlockIoPei, which is a PEI driver and consumes EFI_UFS_HOST_CONTROLLER_PPI and produces EFI_PEI_VIRTUAL_BLOCK_IO_PPI.
4. UfsPciHcPei, which is specific for pci-based UFS HC implementation and is a PEI driver to produce EFI_UFS_HOST_CONTROLLER_PPI.

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

8 years agoMdePkg: Add UFS (Universal Flash Storage) related definitions
Feng Tian [Wed, 29 Apr 2015 02:37:30 +0000 (02:37 +0000)]
MdePkg: Add UFS (Universal Flash Storage) related definitions

These definitions are defined in UEFI2.5/PI1.4 spec.

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

8 years agoIntelFrameworkModulePkg: Add UEFI2.5 PersistentMemory support in LegacyBios
Liming Gao [Wed, 29 Apr 2015 01:38:01 +0000 (01:38 +0000)]
IntelFrameworkModulePkg: Add UEFI2.5 PersistentMemory support in LegacyBios

LegacyBiosDxe converts EfiPersistentMemory to E820 EfiAddressRangePersistentMemory.

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

8 years agoShellPkg: Update Shell MemMap command to show PersistentMemory range
Liming Gao [Wed, 29 Apr 2015 01:37:32 +0000 (01:37 +0000)]
ShellPkg: Update Shell MemMap command to show PersistentMemory range

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

8 years agoMdeModulePkg: Add support for UEFI2.5 and PI1.4 PersistentMemory feature
Liming Gao [Wed, 29 Apr 2015 01:37:05 +0000 (01:37 +0000)]
MdeModulePkg: Add support for UEFI2.5 and PI1.4 PersistentMemory feature

Update DxeCore to collect PersistentMemory resource and report them
in EFI memory map.

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

8 years agoMdePkg: Add UEFI2.5 and PI1.4 PersistentMemory definition
Liming Gao [Wed, 29 Apr 2015 01:36:16 +0000 (01:36 +0000)]
MdePkg: Add UEFI2.5 and PI1.4 PersistentMemory definition

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

8 years agoMdePkg: Trim trailing whitespaces for ESRT related files
Hao Wu [Tue, 28 Apr 2015 07:34:02 +0000 (07:34 +0000)]
MdePkg: Trim trailing whitespaces for ESRT related files

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17236 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg: Add ESRT Interface Definitions
Hao Wu [Tue, 28 Apr 2015 07:28:27 +0000 (07:28 +0000)]
MdePkg: Add ESRT Interface Definitions

Add EFI System Resource Table (ESRT) interface (API only).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17235 6f19259b-4bc3-4df7-8a09-765794883524

8 years agoMdePkg: Add the header file for UEFI PI Multi-processor PPI
Hao Wu [Tue, 28 Apr 2015 07:24:16 +0000 (07:24 +0000)]
MdePkg: Add the header file for UEFI PI Multi-processor PPI

The MP Services PPI is installed by some platform or chipset-specific PEIM
that abstracts handling multiprocessor support.

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

8 years agoMdePkg: Add PI 1.4 Graphics HOB and PPI header files
Hao Wu [Tue, 28 Apr 2015 07:18:15 +0000 (07:18 +0000)]
MdePkg: Add PI 1.4 Graphics HOB and PPI header files

The PeiGraphicsPpi is the main interface exposed by the Graphics PEIM to
be used by the other firmware modules.

When graphics capability is included in PEI, it produces a
EFI_PEI_GRAPHICS_INFO_HOB which provides information about the graphics
mode and the framebuffer.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17233 6f19259b-4bc3-4df7-8a09-765794883524