mirror_edk2.git
5 years agoAdd TpmInitializationDonePpi to TPM PEI module.
Yao, Jiewen [Thu, 22 Jan 2015 05:14:23 +0000 (05:14 +0000)]
Add TpmInitializationDonePpi to TPM PEI module.

This PPI will always be installed to notify other drivers that TPM initialization action is done. TPM initialization may success or fail, or even not present.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Dong, Guo" <guo.dong@intel.com>
Reviewed-by: "Chiu, Chasel" <chasel.chiu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16638 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoResolve buffer check overrun issue.
Yao, Jiewen [Thu, 22 Jan 2015 03:29:17 +0000 (03:29 +0000)]
Resolve buffer check overrun issue.

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

5 years agoUpdate PcdSmbiosVersion from 0x0207 to 0x0208.
Elvin Li [Thu, 22 Jan 2015 02:47:12 +0000 (02:47 +0000)]
Update PcdSmbiosVersion from 0x0207 to 0x0208.

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

5 years agoMdeModulePkg: Refine the format of INF files.
Shumin Qiu [Thu, 22 Jan 2015 02:02:08 +0000 (02:02 +0000)]
MdeModulePkg: Refine the format of INF files.

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

5 years agoShellPkg: Refine the fomat in INF/DEC files to follow spec.
Qiu Shumin [Thu, 22 Jan 2015 01:44:11 +0000 (01:44 +0000)]
ShellPkg: Refine the fomat in INF/DEC files to follow spec.

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

5 years agoRemove 2 unnecessary modules (Ps2MouseDxe, Ps2keyboardDxe) for saving size.
Tim He [Wed, 21 Jan 2015 07:37:42 +0000 (07:37 +0000)]
Remove 2 unnecessary modules (Ps2MouseDxe, Ps2keyboardDxe) for saving size.

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

5 years agoMdeModulePkg/DxeMain: Fix wrong sanity check in CoreTerminateMemoryMap()
Ard Biesheuvel [Wed, 21 Jan 2015 03:11:19 +0000 (03:11 +0000)]
MdeModulePkg/DxeMain: Fix wrong sanity check in CoreTerminateMemoryMap()

The function CoreTerminateMemoryMap() performs some final sanity checks on the runtime regions in the memory map before allowing ExitBootServices() to complete.
Unfortunately, it does so by testing the EFI_MEMORY_RUNTIME bit in the Attribute field, which is never set anywhere in the code.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16630 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoMdePkg: Add [in/out] tags to those function type declarations in UefiSpec.h for Doxge...
Feng Tian [Wed, 21 Jan 2015 02:47:49 +0000 (02:47 +0000)]
MdePkg: Add [in/out] tags to those function type declarations in UefiSpec.h for Doxgen format

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Daryl McDaniel <daryl.mcdaniel@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16629 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoUse RLE (Run Length Encoding) to improve debugging performance.
Ruiyu Ni [Tue, 20 Jan 2015 08:46:31 +0000 (08:46 +0000)]
Use RLE (Run Length Encoding) to improve debugging performance.

DEBUG_AGENT_REVISION is DEBUG_AGENT_REVISION_03 to disable this feature and will be changed to DEBUG_AGENT_REVISION_04 when new version of HOST is released.
Reduce the stack usage by re-using the same buffer to send/receive packet.
Zero out the buffer before fxsave so that the reserved field in the buffer remains 0 for better RLE compression ratio.

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

5 years agoFix GCC build error.
Yao, Jiewen [Tue, 20 Jan 2015 08:24:12 +0000 (08:24 +0000)]
Fix GCC build error.

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

5 years agoPcAtChipsetPkg: Refine the format of meta data files.
Shumin Qiu [Tue, 20 Jan 2015 07:31:57 +0000 (07:31 +0000)]
PcAtChipsetPkg: Refine the format of meta data files.

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

5 years agoDispatch the UEFI option rom returned from PciPlatform/PciOverride protocol.
Ruiyu Ni [Tue, 20 Jan 2015 06:45:01 +0000 (06:45 +0000)]
Dispatch the UEFI option rom returned from PciPlatform/PciOverride protocol.

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

5 years agoPerformance: Refine the format of INF files.
Shumin Qiu [Tue, 20 Jan 2015 01:45:35 +0000 (01:45 +0000)]
Performance: Refine the format of INF files.

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

5 years agoIntelFspWrapperPkg: Refine the format of meta data files.
Shumin Qiu [Mon, 19 Jan 2015 07:45:25 +0000 (07:45 +0000)]
IntelFspWrapperPkg: Refine the format of meta data files.

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

5 years agoIntelFspPkg: Refine the format of meta data files.
Shumin Qiu [Mon, 19 Jan 2015 07:18:24 +0000 (07:18 +0000)]
IntelFspPkg: Refine the format of meta data files.

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

5 years agoAdd HSTI support.
Yao, Jiewen [Mon, 19 Jan 2015 06:08:23 +0000 (06:08 +0000)]
Add HSTI support.

Add HSTI header file and a library to assist HSTI table creation.

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

5 years agoFix SET statement bug which is always evaluated even it is in a False conditional...
Yingke Liu [Mon, 19 Jan 2015 05:04:28 +0000 (05:04 +0000)]
Fix SET statement bug which is always evaluated even it is in a False conditional statement.

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

5 years agoFixed build issue with fds target specified.
Yingke Liu [Mon, 19 Jan 2015 05:01:39 +0000 (05:01 +0000)]
Fixed build issue with fds target specified.

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

5 years agoSourceLevelDebugPkg: Refine the format of meta data files.
Shumin Qiu [Mon, 19 Jan 2015 02:44:10 +0000 (02:44 +0000)]
SourceLevelDebugPkg: Refine the format of meta data files.

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

6 years agoRefine the format of PCD in INF files for UefiCpuPkg.
Shumin Qiu [Fri, 16 Jan 2015 05:20:31 +0000 (05:20 +0000)]
Refine the format of PCD in INF files for UefiCpuPkg.

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

6 years agoRefine the format of GUID in INF files for SecurityPkg.
Shumin Qiu [Fri, 16 Jan 2015 03:30:07 +0000 (03:30 +0000)]
Refine the format of GUID in INF files for SecurityPkg.

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

6 years agoRefine the abstract information in header comment section for NetworkPkg.
Shumin Qiu [Fri, 16 Jan 2015 02:30:51 +0000 (02:30 +0000)]
Refine the abstract information in header comment section for NetworkPkg.

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

6 years agoRefine the format of GUID in INF files for IntelFrameworkModulePkg.
Shumin Qiu [Fri, 16 Jan 2015 02:23:07 +0000 (02:23 +0000)]
Refine the format of GUID in INF files for IntelFrameworkModulePkg.

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

6 years agoAdd package maintainers for Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg.
David Wei [Thu, 15 Jan 2015 01:36:17 +0000 (01:36 +0000)]
Add package maintainers for Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: David Wei <david.wei@intel.com>
Reviewed-by: Hot Tian <hot.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16613 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoArmVirtualizationPkg: PlatformIntelBdsLib: get front page timeout from QEMU
Laszlo Ersek [Wed, 14 Jan 2015 16:26:04 +0000 (16:26 +0000)]
ArmVirtualizationPkg: PlatformIntelBdsLib: get front page timeout from QEMU

Put QemuBootOrderLib's GetFrontPageTimeoutFromQemu() to use, so that
ArmVirtualizationPkg's Platform BDS policy can consume QEMU's command line
option

    -boot menu=on,splash-time=N

RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1172756

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

6 years agoOvmfPkg: PlatformBdsLib: get front page timeout from QEMU
Laszlo Ersek [Wed, 14 Jan 2015 16:25:59 +0000 (16:25 +0000)]
OvmfPkg: PlatformBdsLib: get front page timeout from QEMU

Put QemuBootOrderLib's GetFrontPageTimeoutFromQemu() to use, so that
OVMF's Platform BDS policy can consume QEMU's command line option

  -boot menu=on,splash-time=N

RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1170507

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

6 years agoOvmfPkg: QemuBootOrderLib: expose QEMU's "-boot menu=on[,splash-time=N]"
Laszlo Ersek [Wed, 14 Jan 2015 16:25:54 +0000 (16:25 +0000)]
OvmfPkg: QemuBootOrderLib: expose QEMU's "-boot menu=on[,splash-time=N]"

The QEMU command line option

  -boot menu=on

is meant to have the guest firmware wait for a firmware-specific interval
for the user to enter the boot menu. During the wait, the user can opt to
enter the boot menu, or interrupt the wait and proceed to booting at once.
If the wait interval elapses, the firmware should boot as it normally
would.

The QEMU command line option

  -boot menu=on,splash-time=N

means the same, except the firmware should wait for cca. N milliseconds
instead of a firmware-specific interval.

We can approximate this behavior quite well for edk2's virtual platforms
because the Intel BDS front page already supports a progress bar, with
semantics similar to the above. Let's distill the fw_cfg bits underlying
"-boot menu=on,splash-time=N" for the BDS policies, in the form of a
timeout value they can pass to Intel's PlatformBdsEnterFrontPage().

If the boot menu is not requested, we return
"gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut", which
is what the virtual platforms use right now.

If the boot menu is requested without specifying the timeout, we return
the same PCD, unless it would cause us to skip the boot menu at once. In
the latter case, we return 3 seconds (as an approximation of the 2500 ms
SeaBIOS default.)

RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1170507

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

6 years agoShellPkg: UefiShellLib: drop wrong PathLib library class dependency
Laszlo Ersek [Wed, 14 Jan 2015 16:25:48 +0000 (16:25 +0000)]
ShellPkg: UefiShellLib: drop wrong PathLib library class dependency

SVN r16601 ("MdeModulePkg, MdePkg, NetworkPkg, OvmfPkg, PerformancePkg,
ShellPkg: Library Migration.") incorporated ShellPkg/Library/BasePathLib
into MdePkg/Library/BaseLib. BasePathLib had been the only instance of
library class PathLib.

Even so, SVN r16606 ("ShellPkg: allow creating of files to create required
directory path") added a PathLib dependency to
"ShellPkg/Library/UefiShellLib/UefiShellLib.inf".

This breaks edk2 platforms that build the "new" UEFI shell from source.
Undo the wrong dependency.

Similarly, update the <Library/PathLib.h> #include directive to
<Library/BaseLib.h> (example function prototype: PathRemoveLastItem()).

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

6 years agoStdLib: Move libraries from ShellPkg into MdeModulePkg and MdePkg.
Daryl McDaniel [Tue, 13 Jan 2015 23:35:33 +0000 (23:35 +0000)]
StdLib: Move libraries from ShellPkg into MdeModulePkg and MdePkg.

The following libraries are being migrated out of ShellPkg in order to make
their functionality more widely available.
  • PathLib:        Incorporate into MdePkg/Library/BaseLib
  • FileHandleLib:  MdePkg/Library/UefiFileHandleLib
  • BaseSortLib:    MdeModulePkg/Library/BaseSortLib
  • UefiSortLib:    MdeModulePkg/Library/UefiSortLib

AppPkg.dsc:
StdLib.dsc:
StdLib.inc:
  Delete PathLib LibraryClass description.
  Update FileHandleLib LibraryClass description to reflect its new location.
  Update SortLib LibraryClass description to reflect its new location.

StdLib.inf:
  Delete PathLib from LibraryClasses.

realpath.c:
  Delete include of PathLib.h.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Lee Rosenbaum <lee.g.rosenbaum@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16608 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoEmulatorPkg: Move libraries from ShellPkg into MdeModulePkg and MdePkg.
Daryl McDaniel [Tue, 13 Jan 2015 23:27:08 +0000 (23:27 +0000)]
EmulatorPkg: Move libraries from ShellPkg into MdeModulePkg and MdePkg.

The following libraries are being migrated out of ShellPkg in order to make
their functionality more widely available.
  • PathLib:        Incorporate into MdePkg/Library/BaseLib
  • FileHandleLib:  MdePkg/Library/UefiFileHandleLib
  • BaseSortLib:    MdeModulePkg/Library/BaseSortLib
  • UefiSortLib:    MdeModulePkg/Library/UefiSortLib

EmulatorPkg.dsc:
  Delete PathLib LibraryClass description
  Update FileHandleLib LibraryClass description to reflect its new location.
  Update SortLib LibraryClass description to reflect its new location.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Lee Rosenbaum <lee.g.rosenbaum@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16607 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoShellPkg: allow creating of files to create required directory path
jaben carsey [Tue, 13 Jan 2015 22:16:41 +0000 (22:16 +0000)]
ShellPkg: allow creating of files to create required directory path

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

6 years agoArmPlatformPkg: Fixed builds after some ShellPkg libraries have moved
Olivier Martin [Tue, 13 Jan 2015 18:58:00 +0000 (18:58 +0000)]
ArmPlatformPkg: Fixed builds after some ShellPkg libraries have moved

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

6 years agoFix IA32 build failure: Use MultU64x32 for 64bit * 32bit.
Ruiyu Ni [Tue, 13 Jan 2015 05:33:47 +0000 (05:33 +0000)]
Fix IA32 build failure: Use MultU64x32 for 64bit * 32bit.

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

6 years agoCorrect file path.
Yao, Jiewen [Tue, 13 Jan 2015 01:23:15 +0000 (01:23 +0000)]
Correct file path.

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

6 years agoCheck in missing patch for TPM error handling.
Yao, Jiewen [Tue, 13 Jan 2015 01:18:11 +0000 (01:18 +0000)]
Check in missing patch for TPM error handling.

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

6 years agoMdeModulePkg, MdePkg, NetworkPkg, OvmfPkg, PerformancePkg, ShellPkg: Library Migration.
Daryl McDaniel [Tue, 13 Jan 2015 01:04:07 +0000 (01:04 +0000)]
MdeModulePkg, MdePkg, NetworkPkg, OvmfPkg, PerformancePkg, ShellPkg: Library Migration.

Move libraries from ShellPkg into MdeModulePkg and MdePkg.

The following libraries are being migrated out of ShellPkg in order to make
their functionality more widely available.
  • PathLib:        Incorporate into MdePkg/Library/BaseLib
  • FileHandleLib:  MdePkg/Library/UefiFileHandleLib
  • BaseSortLib:    MdeModulePkg/Library/BaseSortLib
  • UefiSortLib:    MdeModulePkg/Library/UefiSortLib

Diffs showing file changes are in the attached file, LibMigration.patch.
A description of the changes follows:

  • Move ShellPkg/Include/Library/FileHandleLib.h to MdePkg/Include/Library/FileHandleLib.h
  • Move ShellPkg/Include/Library/SortLib.h to MdeModulePkg/Include/Library/SortLib.h
  • Move ShellPkg/Library/BaseSortLib to MdeModulePkg/Library/BaseSortLib
  • Move ShellPkg/Library/UefiSortLib to MdeModulePkg/Library/UefiSortLib
  • Move ShellPkg/Library/BasePathLib/BasePathLib.c to MdePkg/Library/BaseLib/FilePaths.c
  • Merge ShellPkg/Include/Library/PathLib.h into MdePkg/Include/Library/BaseLib.h
  • Delete  ShellPkg/Library/BasePathLib; Includes BasePathLib.c and BasePathLib.inf

  • NetworkPkg/NetworkPkg.dsc
  • PerformancePkg.dsc
  • OvmfPkg/OvmfPkgX64.dsc
  • OvmfPkg/OvmfPkgIa32X64.dsc
  • OvmfPkg/OvmfPkgIa32.dsc
    o Update SortLib and FileHandleLib library classes to point to the new library locations.
    o Remove PathLib library class and make sure that BaseLib is described.

  • MdeModulePkg/MdeModulePkg.dec
    o Add SortLib library class

  • MdePkg/MdePkg.dec
    o Add FileHandleLib library class
    o Add PcdUefiFileHandleLibPrintBufferSize PCD

  • MdePkg/Library/BaseLib/BaseLib.inf
    o Add FilePaths.c to [Sources]

  • MdePkg/Include/Library/BaseLib.h
    o Update file description to include "file path functions"

  • ShellPkg/ShellPkg.dsc
    o Change PACKAGE_GUID to { C1014BB7-4092-43D4-984F-0738EB424DBF }
    o Update PACKAGE_VERSION to 1.0
    o Update SortLib and FileHandleLib library classes to point to the new library locations.
    o Remove PathLib library class and make sure that BaseLib is described.
    o Remove ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf from [Components]

  • ShellPkg/ShellPkg.dec
    o Update PLATFORM_VERSION to 1.0
    o Remove declarations of the FileHandleLib, SortLib, and PathLib Library Classes
    o Update comment for the PcdShellPrintBufferSize PCD.

  • ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
  • ShellPkg/Application/Shell/Shell.inf
    o Remove PathLib from [LibraryClasses]

  • ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h
  • ShellPkg/Application/Shell/Shell.h
    o Remove #include <Library/PathLib.h>

  • ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
    o Add PathLib to [LibraryClasses]

  • ShellPkg/Library/UefiShellLevel1CommandsLib/If.c
    o Remove #include <Library/PathLib.h>

  • ShellPkg/Application/ShellSortTestApp/ShellSortTestApp.inf
    o Add MdeModulePkg/MdeModulePkg.dec to [Packages]

  • MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf
  • MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
    o Replace ShellPkg.dec with MdeModulePkg.dec in [Packages]

  • MdeModulePkg/Library/UefiSortLib/UefiSortLib.c
    o Remove #include <ShellBase.h>
    o Define USL_FREE_NON_NULL() to replace SHELL_FREE_NON_NULL()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16601 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoMdeModulePkg/PartitionDxe: Fixed El Torito support when the medium is not a CDROM
Olivier Martin [Mon, 12 Jan 2015 12:28:36 +0000 (12:28 +0000)]
MdeModulePkg/PartitionDxe: Fixed El Torito support when the medium is not a CDROM

El Torito format can be used on different media (eg: USB).
A ISO image can be dumped onto a USB mass-storage.

These media might not have the same block size as the CDROM media (ie: 2KB).
The El Torito code and the specification assumes a LBA 2KB.

In addition, the specification says in "12.3.4.4 CD-ROM and DVD-ROM":
UEFI code does not assume a fixed block size.

I was able to dupliacte the issue by copying a debian ISO on a USB driver.

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

6 years agoUpload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
David Wei [Mon, 12 Jan 2015 09:37:20 +0000 (09:37 +0000)]
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to

https://svn.code.sf.net/p/edk2/code/trunk/edk2/,

which are for MinnowBoard MAX open source project.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: David Wei <david.wei@intel.com>
Reviewed-by: Mike Wu <mike.wu@intel.com>
Reviewed-by: Hot Tian <hot.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16599 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoHandle TPM device error and avoid deadloop in BDS.
Yao, Jiewen [Mon, 12 Jan 2015 03:21:00 +0000 (03:21 +0000)]
Handle TPM device error and avoid deadloop in BDS.

If TPM error happens, set TPM flag to NOT present, so that trusted boot patch is disabled.
Also report status code for failure, so that platform may register handler to apply policy like force system reset, or disable TPM permanently.

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

6 years agoAdd TPM Physical Presence >=128 operation value support.
Yao, Jiewen [Mon, 12 Jan 2015 03:16:49 +0000 (03:16 +0000)]
Add TPM Physical Presence >=128 operation value support.

The Tcg/TrEE PhysicalPresence library will depend on Tcg/TrEE PpVendor library.
The default NULL library instance is provided in this package.
OEM can create OemPpVendorLib as override to handle >=128 operation value.

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

6 years agoBaseTools Fix NASM tool version in comments of tools_def.template
Liming Gao [Fri, 9 Jan 2015 10:07:02 +0000 (10:07 +0000)]
BaseTools Fix NASM tool version in comments of tools_def.template

NASM tool version should be 2.07 instead of 2.0.7.

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

6 years agoMdeModulePkg DxeCore: Enhance memory profile code to handle possible NULL FilePath.
Star Zeng [Fri, 9 Jan 2015 08:46:47 +0000 (08:46 +0000)]
MdeModulePkg DxeCore: Enhance memory profile code to handle possible NULL FilePath.

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

6 years agoMdePkg IA32/X64 ProcessorBind.h : Disable the C4701 and C4703 warnings for VS2013.
Shumin Qiu [Fri, 9 Jan 2015 04:50:11 +0000 (04:50 +0000)]
MdePkg IA32/X64 ProcessorBind.h : Disable the C4701 and C4703 warnings for VS2013.

As they may be raised as false positive in building.

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

6 years agoMdeModulePkg DxePrintLibPrint2Protocol Library SPrintLength() API issue.
Liming Gao [Fri, 9 Jan 2015 03:22:53 +0000 (03:22 +0000)]
MdeModulePkg DxePrintLibPrint2Protocol Library SPrintLength() API issue.

SPrintLength() and SPrintLengthAsciiFormat() API doesn’t work with 'g', 't' and 'r' option. The fix sync from MdePkg BasePrintLib instance.

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

6 years agoRestore question value for question without storage after CHANGING callback return...
Eric Dong [Fri, 9 Jan 2015 02:38:39 +0000 (02:38 +0000)]
Restore question value for question without storage after CHANGING callback return error.

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

6 years agoFixed VfrCompile crash on efivarstore statement.
Eric Dong [Thu, 8 Jan 2015 08:36:05 +0000 (08:36 +0000)]
Fixed VfrCompile crash on efivarstore statement.

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

6 years agoAdd TPM12 NV related function.
Yao, Jiewen [Thu, 8 Jan 2015 05:41:56 +0000 (05:41 +0000)]
Add TPM12 NV related function.

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

6 years agoArmPlatformPkg/Bds: Signal when the variable 'Fdt' has been updated
Olivier Martin [Tue, 6 Jan 2015 15:54:12 +0000 (15:54 +0000)]
ArmPlatformPkg/Bds: Signal when the variable 'Fdt' has been updated

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

6 years agoArmPlatformPkg/Bds: Retrieve the Status when calling RT.SetVariable
Olivier Martin [Tue, 6 Jan 2015 15:52:52 +0000 (15:52 +0000)]
ArmPlatformPkg/Bds: Retrieve the Status when calling RT.SetVariable

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

6 years agoArmPlatformPkg: PCI emulation - Define a vendor and device id
Ronald Cron [Tue, 6 Jan 2015 15:51:54 +0000 (15:51 +0000)]
ArmPlatformPkg: PCI emulation - Define a vendor and device id

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

6 years agoArmPkg/BdsLib: Close file after reading an Image
Ronald Cron [Tue, 6 Jan 2015 15:51:02 +0000 (15:51 +0000)]
ArmPkg/BdsLib: Close file after reading an Image

When loading an image from a file, close the file after reading from it.
Use OpenProtocol instead of HandleProtocol to retrieve the simple file
system protocol interface.

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

6 years agoArmPlatformPkg/ArmJunoDxe: Close the FDT file
Ronald Cron [Tue, 6 Jan 2015 15:49:51 +0000 (15:49 +0000)]
ArmPlatformPkg/ArmJunoDxe: Close the FDT file

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

6 years agoArmJunoDxe/InstallFdt.c: Fix the closing of the simple file system protocol
Ronald Cron [Tue, 6 Jan 2015 15:48:19 +0000 (15:48 +0000)]
ArmJunoDxe/InstallFdt.c: Fix the closing of the simple file system protocol

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

6 years agoArmPlatformPkg: Make PCI emulation more compliant with the UEFI spec
Ronald Cron [Tue, 6 Jan 2015 15:47:25 +0000 (15:47 +0000)]
ArmPlatformPkg: Make PCI emulation more compliant with the UEFI spec

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

6 years agoArmPkg/BdsLib: Fix DHCP4 configuration
Ronald Cron [Tue, 6 Jan 2015 15:46:36 +0000 (15:46 +0000)]
ArmPkg/BdsLib: Fix DHCP4 configuration

Fix DHCP4 configuration as part of TFTP boot process to get the IP address of
the gateway and the subnet mask from the DHCP server.
Fix a memory leak when the download from the TFTP server fails as well.

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

6 years agoArmPlatformPkg/ArmVExpressPkg: Add support for FV filesystems to ARM platforms
Olivier Martin [Tue, 6 Jan 2015 15:41:59 +0000 (15:41 +0000)]
ArmPlatformPkg/ArmVExpressPkg: Add support for FV filesystems to ARM platforms

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

6 years agoSecurityPkg Variable: Implement VarCheck PROTOCOL
Star Zeng [Mon, 5 Jan 2015 03:42:17 +0000 (03:42 +0000)]
SecurityPkg Variable: Implement VarCheck PROTOCOL

and follow UEFI spec to check UEFI defined variables.

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

6 years agoMdeModulePkg Variable: Implement VarCheck PROTOCOL
Star Zeng [Mon, 5 Jan 2015 03:38:36 +0000 (03:38 +0000)]
MdeModulePkg Variable: Implement VarCheck PROTOCOL

and follow UEFI spec to check UEFI defined variables.

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

6 years agoArmVirtualizationPkg: Intel BDS: load EFI-stubbed Linux kernel from fw_cfg
Laszlo Ersek [Fri, 2 Jan 2015 12:08:33 +0000 (12:08 +0000)]
ArmVirtualizationPkg: Intel BDS: load EFI-stubbed Linux kernel from fw_cfg

A number of tools depend on passing the kernel image, the initial ramdisk,
and the kernel command line to the guest on the QEMU command line (options
-kernel, -initrd, -append, respectively). At the moment, these QEMU
options  work, but the guest kernel loaded this way is launched by a
minimal binary firmware that is dynamically composed by QEMU. As a
consequence, such a kernel has no UEFI environment.

This patch enables -kernel, -initrd, -append to work on top of the
ArmVirtualizationQemu firmware build. The approach it takes is different
from how the same functionality is implemented in OvmfPkg.

OvmfPkg contains a full-fledged Linux boot loader (see
"OvmfPkg/Library/PlatformBdsLib/QemuKernel.c" and
"OvmfPkg/Library/LoadLinuxLib/"). OVMF's LoadLinuxLib sets up the required
kernel environment in a sophisticated way (including x86-specific
artifacts like the GDT), calls ExitBootServices() itself (for legacy
kernels without EFI handover protocol), and jumps to the kernel (using x86
assembly).

In ArmVirtualizationPkg's PlatformIntelBdsLib, we require the kernel being
loaded to have an EFI stub -- that is, to be a genuine UEFI application.

(The EFI stub is not an additional burden for guest kernels -- the EFI
stub is a hard requirement anyway because it needs to process the DTB
heavily:
- it removes memory nodes,
- it removes memreserve entries,
- it adds UEFI properties to the "chosen" node,
- it calculates and installs virt-to-phys mappings with
  SetVirtualAddressMap() in a way that enables kexec [planned].

Kudos to Ard Biesheuvel for summarizing the above.)

An EFI-stubbed Linux guest kernel can be loaded with plain
gBS->LoadImage(). The EFI stub will look up its own
EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL instance (ie. the device path where
it has been loaded from), and it will locate the initial ramdisk named by
the "initrd" command line parameter as a *sibling file* on the same
device.

The initrd file is then loaded using the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.

This approach enables the EFI stub to load the initial ramdisk from normal
EFI System Partitions, from remote PXE/TFTP directories -- and it enables
us to provide the initrd from memory as well.

In this patch:

- We download the kernel image, the initrd image, and the kernel command
  line, using QEMU's fw_cfg interface.

- We create a read-only EFI_SIMPLE_FILE_SYSTEM_PROTOCOL instance that has
  just a root directory, with the three downloaded files in it.

- The handle that carries the simple file system has a single-node
  VenHw(...) device path (not counting the terminator node).

- We load the EFI-stubbed kernel (which is a UEFI application) with
  gBS->LoadImage(), passing "VenHw(...)/kernel" as device path. This
  causes gBS->LoadImage() to call back into our filesystem.

- Appended to the downloaded command line, we pass "initrd=initrd" to the
  EFI stub.

- Once the EFI stub is running, it loads the initial ramdisk from the
  "sibling" device path "VenHw(...)/initrd", also calling back into our
  filesystem.

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

6 years agoArmVirtualizationPkg: identify "new shell" as builtin shell for Intel BDS
Laszlo Ersek [Fri, 2 Jan 2015 12:08:28 +0000 (12:08 +0000)]
ArmVirtualizationPkg: identify "new shell" as builtin shell for Intel BDS

The default value of this PCD (in "IntelFrameworkModulePkg.dec")
identifies the "old shell" from EdkShellBinPkg. Our build includes the
"new" shell from ShellBinPkg/UefiShell/UefiShell.inf; let's specify the
FILE_GUID of that.

Otherwise, no boot option will be generated for the Shell application.

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

6 years agoArmVirtualizationPkg: PlatformIntelBdsLib: adhere to QEMU's boot order
Laszlo Ersek [Fri, 2 Jan 2015 12:08:24 +0000 (12:08 +0000)]
ArmVirtualizationPkg: PlatformIntelBdsLib: adhere to QEMU's boot order

We have all the required pieces in place. Let's call
SetBootOrderFromQemu() in PlatformBdsPolicyBehavior().

We disable OFW-to-UEFI device path fragment translation for virtio-pci,
and enable it only virtio-mmio at this time.

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

6 years agoOvmfPkg: QemuBootOrderLib: OFW-to-UEFI translation for virtio-mmio
Laszlo Ersek [Fri, 2 Jan 2015 12:08:19 +0000 (12:08 +0000)]
OvmfPkg: QemuBootOrderLib: OFW-to-UEFI translation for virtio-mmio

The TranslateMmioOfwNodes() function recognizes the following OpenFirmware
device paths:

  virtio-blk:       /virtio-mmio@000000000a003c00/disk@0,0
  virtio-scsi disk: /virtio-mmio@000000000a003a00/channel@0/disk@2,3
  virtio-net NIC:   /virtio-mmio@000000000a003e00/ethernet-phy@0

The new translation can be enabled with the
"PcdQemuBootOrderMmioTranslation" Feature PCD. This PCD also controls if
the "survival policy" covers unselected boot options that start with the
virtio-mmio VenHw() node.

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

6 years agoOvmfPkg: QemuBootOrderLib: widen ParseUnitAddressHexList() to UINT64
Laszlo Ersek [Fri, 2 Jan 2015 12:08:15 +0000 (12:08 +0000)]
OvmfPkg: QemuBootOrderLib: widen ParseUnitAddressHexList() to UINT64

The OpenFirmware device path nodes that QEMU generates for virtio-mmio
transports contain 64-bit hexadecimal values (16 nibbles) -- the base
addresses of the register blocks. In order to parse them soon,
ParseUnitAddressHexList() must parse UINT64 values.

Call sites need to be adapted, as expected.

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

6 years agoArmVirtualizationPkg: VirtFdtDxe: use dedicated VIRTIO_MMIO_TRANSPORT_GUID
Laszlo Ersek [Fri, 2 Jan 2015 12:08:11 +0000 (12:08 +0000)]
ArmVirtualizationPkg: VirtFdtDxe: use dedicated VIRTIO_MMIO_TRANSPORT_GUID

Installing VenHw() device paths with this GUID, for the virtio-mmio
transports that we detect, enables other modules to recognize those
VenHw() nodes. (Note that the actual value doesn't change.)

In addition, to avoid reusing GUIDs in unrelated contexts, detach the
driver's FILE_GUID from its previous value.

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

6 years agoOvmfPkg: introduce VIRTIO_MMIO_TRANSPORT_GUID
Laszlo Ersek [Fri, 2 Jan 2015 12:08:06 +0000 (12:08 +0000)]
OvmfPkg: introduce VIRTIO_MMIO_TRANSPORT_GUID

Soon there will be more than one modules (in separate packages) that need
to have an understanding about the GUID used in the VenHw() device path
nodes that describe virtio-mmio transports. Define such a GUID explicitly.

Preserve the current value (which happens to be the FILE_GUID of
ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf) for
compatibility with external users.

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

6 years agoOvmfPkg: QemuBootOrderLib: featurize PCI-like device path translation
Laszlo Ersek [Fri, 2 Jan 2015 12:08:02 +0000 (12:08 +0000)]
OvmfPkg: QemuBootOrderLib: featurize PCI-like device path translation

In preparation for adding OpenFirmware-to-UEFI translation for "MMIO-like"
OFW device path fragments, let's turn the currently exclusive "PCI-like"
translation into "just one" of the possible translations.

- Rename TranslateOfwNodes() to TranslatePciOfwNodes(), because it is
  tightly coupled to "PCI-like" translations.

- Rename REQUIRED_OFW_NODES to REQUIRED_PCI_OFW_NODES, because this macro
  is specific to TranslatePciOfwNodes().

- Introduce a new wrapper function under the original TranslateOfwNodes()
  name. This function is supposed to try translations in some order until
  a specific translation returns a status different from
  RETURN_UNSUPPORTED.

- Introduce a new Feature PCD that controls whether PCI translation is
  attempted at all.

- The boot option "survival policy" in BootOrderComplete() must take into
  account if the user was able to select PCI-like boot options. If the
  user had no such possibility (because the Feature PCD was off for
  PCI-like translation), then we ought to keep any such unselected boot
  options.

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

6 years agoOvmfPkg: extract QemuBootOrderLib
Laszlo Ersek [Fri, 2 Jan 2015 12:07:57 +0000 (12:07 +0000)]
OvmfPkg: extract QemuBootOrderLib

and rebase OvmfPkg's PlatformBdsLib on the standalone library.

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

6 years agoArmVirtualizationPkg: PlatformIntelBdsLib: add basic policy
Laszlo Ersek [Fri, 2 Jan 2015 12:07:52 +0000 (12:07 +0000)]
ArmVirtualizationPkg: PlatformIntelBdsLib: add basic policy

In PlatformBdsPolicyBehavior() we should follow the same pattern as in
OvmfPkg's: after the consoles are connected,
- connect all drivers and devices,
- enumerate all boot options,
- enter the Intel BDS FrontPage if the user presses a key different from
  Enter.

We set the countdown to 3 seconds, similarly to the timeout that we
specify for ARM BDS.

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

6 years agoArmVirtualizationPkg: clone PlatformIntelBdsLib from ArmPlatformPkg
Laszlo Ersek [Fri, 2 Jan 2015 12:04:25 +0000 (12:04 +0000)]
ArmVirtualizationPkg: clone PlatformIntelBdsLib from ArmPlatformPkg

In the next patch(es) we'll customize the PlatformBdsLib instance used by
ArmVirtualizationQemu.dsc. Let's clone it first verbatim from
ArmPlatformPkg/Library/PlatformIntelBdsLib, changing only its FILE_GUID.

(Also, coding style errors like "missing space before open parenthesis"
and "missing space after comma or semicolon" have been cleaned up.)

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

6 years agoArmVirtualizationPkg: introduce QemuFwCfgLib instance for DXE drivers
Laszlo Ersek [Fri, 2 Jan 2015 12:04:15 +0000 (12:04 +0000)]
ArmVirtualizationPkg: introduce QemuFwCfgLib instance for DXE drivers

After reviewing OvmfPkg's use of its own QemuFwCfgLib instances, it is
clear that its only pre-DXE fw_cfg dependency concerns S3 support (the
QemuFwCfgS3Enabled() call in "PlatformPei/Platform.c").

For ARM guests, S3 is in the distant future, but we can see several
shorter term applications for fw_cfg that all reside in DXE:
- controlling boot order (to be implemented in PlatformBdsLib for Intel
  BDS),
- supporting -kernel / -initrd / -append boot on QEMU (to be implemented
  in PlatformBdsLib for Intel BDS, similarly),
- loading and linking ACPI tables,
- installing SMBIOS tables.

Therefore it makes sense to add a simple MMIO-based fw_cfg client library
to ArmVirtualizationPkg that for the moment is only available to
DXE_DRIVER modules.

Because MMIO accesses are costly on KVM/ARM, InternalQemuFwCfgReadBytes()
accesses the fw_cfg data register in full words. This speeds up transfers
almost linearly.

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

6 years agoArmVirtualizationPkg: VirtFdtDxe: forward FwCfg addresses from DTB to PCDs
Laszlo Ersek [Fri, 2 Jan 2015 12:04:05 +0000 (12:04 +0000)]
ArmVirtualizationPkg: VirtFdtDxe: forward FwCfg addresses from DTB to PCDs

Qemu's firmware configuration interface for ARM consists of two MMIO
registers, a 16-bit selector, and a 64-bit data register that allows the
guest to transfer data with 8, 16, 32, and 64-bit wide accesses. Parse the
base address from the DTB, and expose the registers to the rest of DXE via
dynamic PCDs.

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

6 years agoRemove the FV header assumption in variable driver.
Dong Guo [Wed, 31 Dec 2014 01:47:39 +0000 (01:47 +0000)]
Remove the FV header assumption in variable driver.

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

6 years agoRemove the FV header assumption in variable driver.
Dong Guo [Wed, 31 Dec 2014 01:46:50 +0000 (01:46 +0000)]
Remove the FV header assumption in variable driver.

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

6 years agoShellPkg: Check the unrecognized environment variable name before it is removed from...
Qiu Shumin [Wed, 31 Dec 2014 01:31:00 +0000 (01:31 +0000)]
ShellPkg: Check the unrecognized environment variable name before it is removed from command line.

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

6 years agoMdeModulePkg/FvSimpleFileSystem:Fix a potential NULL dereference issue.
Feng Tian [Tue, 30 Dec 2014 08:18:57 +0000 (08:18 +0000)]
MdeModulePkg/FvSimpleFileSystem:Fix a potential NULL dereference issue.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Shumin Qiu <shumin.qiu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16562 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoRollback change 16544.
Eric Dong [Tue, 30 Dec 2014 03:03:37 +0000 (03:03 +0000)]
Rollback change 16544.

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

6 years agoShellPkg: Add code to handle the split ('|') in a double-quoted string.
Qiu Shumin [Fri, 26 Dec 2014 08:22:35 +0000 (08:22 +0000)]
ShellPkg: Add code to handle the split ('|') in a double-quoted string.

This patch update the code in function 'ContainsSplit', and make 'ContainsSplit' depend on 'FindNextInstance'. So we move 'FindNextInstance' in front of 'ContainsSplit'.

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

6 years agoCorrect the Hash Calculation for Revoked X.509 Certificate to align with RFC3280...
Long, Qin [Thu, 25 Dec 2014 08:37:08 +0000 (08:37 +0000)]
Correct the Hash Calculation for Revoked X.509 Certificate to align with RFC3280 and UEFI 2.4 Spec.

This patch added one new X509GetTBSCert() interface in BaseCryptLib to retrieve the TBSCertificate,
and also corrected the hash calculation for revoked certificate to aligned the RFC3280 and UEFI 2.4 spec.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Long, Qin" <qin.long@intel.com>
Reviewed-by: "Dong, Guo" <guo.dong@initel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16559 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoMdeModulePkg/FvSimpleFileSystem: Fix building error with 32bit tool chains.
Feng Tian [Thu, 25 Dec 2014 07:08:02 +0000 (07:08 +0000)]
MdeModulePkg/FvSimpleFileSystem: Fix building error with 32bit tool chains.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16558 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoAddress the potential system TPL does not been restore.
Deric Cole [Wed, 24 Dec 2014 00:53:11 +0000 (00:53 +0000)]
Address the potential system TPL does not been restore.

This patch make sure the TPL been raised and restored in pair.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Deric Cole <Deric_Cole@phoenix.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16556 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoDo not assert when the device path node length is invalid.
Ruiyu Ni [Tue, 23 Dec 2014 09:56:33 +0000 (09:56 +0000)]
Do not assert when the device path node length is invalid.

Because IsDevicePathValid() calls this API we should leave the device path validation in the caller.

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

6 years agoMdePkg: fix mixed dos and linux EOL format issue
Hot Tian [Tue, 23 Dec 2014 08:33:49 +0000 (08:33 +0000)]
MdePkg: fix mixed dos and linux EOL format issue

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hot Tian <hot.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16553 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoMdeModulePkg: fix mixed dos and linux EOL format issue
Hot Tian [Tue, 23 Dec 2014 08:33:06 +0000 (08:33 +0000)]
MdeModulePkg: fix mixed dos and linux EOL format issue

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hot Tian <hot.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16552 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoIntelFrameworkPkg: fix mixed dos and linux EOL format issue
Hot Tian [Tue, 23 Dec 2014 08:31:24 +0000 (08:31 +0000)]
IntelFrameworkPkg: fix mixed dos and linux EOL format issue

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hot Tian <hot.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16551 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoFix ‘build run’ doesn’t work for NT32 X64 build.
Cinnamon Shia [Tue, 23 Dec 2014 05:48:31 +0000 (05:48 +0000)]
Fix ‘build run’ doesn’t work for NT32 X64 build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Cinnamon Shia <cinnamon.shia@hp.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16550 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoCorrect AuthHandle definition for Tpm2SetPrimaryPolicy.
Yao, Jiewen [Tue, 23 Dec 2014 04:06:52 +0000 (04:06 +0000)]
Correct AuthHandle definition for Tpm2SetPrimaryPolicy.

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

6 years agoAdd TPM2 commands which might be used in provision.
Yao, Jiewen [Tue, 23 Dec 2014 04:03:32 +0000 (04:03 +0000)]
Add TPM2 commands which might be used in provision.

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

6 years agoMdeModulePkg/FvSimpleFileSystem: Add a new module to provide access to executable...
Brendan Jackman [Tue, 23 Dec 2014 03:18:04 +0000 (03:18 +0000)]
MdeModulePkg/FvSimpleFileSystem: Add a new module to provide access to executable files in FVs.

This module implements Simple FileSystem protocol over Firmware Volume (FV).
EFI Modules included into a FV can be listed and launched from the EFI Shell or any other EFI applications.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Brendan Jackman <brendan.jackman@arm.com>
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16547 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoRemove unnecessary RT attribute from LegacyDevOrder variable.
Ruiyu Ni [Mon, 22 Dec 2014 07:30:06 +0000 (07:30 +0000)]
Remove unnecessary RT attribute from LegacyDevOrder variable.

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

6 years agoFixed VfrCompile crash on efivarstore statement.
Aaron Pop [Mon, 22 Dec 2014 02:21:53 +0000 (02:21 +0000)]
Fixed VfrCompile crash on efivarstore statement.

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

6 years agoOvmfPkg: enable the IPv6 support
Gary Lin [Fri, 19 Dec 2014 19:13:44 +0000 (19:13 +0000)]
OvmfPkg: enable the IPv6 support

There are several network stack drivers in MdeModulePkg or NetworkPkg.
Currently, we only use the drivers from MdeModulePkg which only provides
the IPv4 support. This commit adds the IPv6 drivers in NetworkPkg into
OVMF.

Here is the table of drivers from Laszlo.

currently included  related driver  add or replace
from MdeModulePkg   in NetworkPkg   from NetworkPkg
------------------  --------------  ---------------
SnpDxe              n/a             n/a
DpcDxe              n/a             n/a
MnpDxe              n/a             n/a
VlanConfigDxe       n/a             n/a
ArpDxe              n/a             n/a
Dhcp4Dxe            Dhcp6Dxe        add
Ip4ConfigDxe        Ip6Dxe          add
Ip4Dxe              Ip6Dxe          add
Mtftp4Dxe           Mtftp6Dxe       add
Tcp4Dxe             TcpDxe          replace
Udp4Dxe             Udp6Dxe         add
UefiPxeBcDxe        UefiPxeBcDxe    replace
IScsiDxe            IScsiDxe        replace

Since the TcpDxe, UefiPxeBcDxe, and IScsiDxe drivers in NetworkPkg also
support IPv4, we replace the ones in MdeModulePkg.

To enable the IPv6 support, build OVMF with "-D NETWORK_IP6_ENABLE".
A special case is NetworkPkg/IScsiDxe. It requires openssl. For convenience,
NetworkPkg/IScsiDxe is enabled only if both IPv6 and SecureBoot are enabled.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Lin <glin@suse.com>
[lersek@redhat.com: typo fix in commit message; specil -> special]
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16543 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoMdeModulePkg:
Eric Dong [Fri, 19 Dec 2014 05:30:04 +0000 (05:30 +0000)]
MdeModulePkg:
1.Add code to cover the space which is not covered by browser before.
2.Remove ESC help string for front page screen.

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

6 years agoUse better coding style.
Yao, Jiewen [Fri, 19 Dec 2014 05:21:55 +0000 (05:21 +0000)]
Use better coding style.

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

6 years agoCode refine. Check the original length of array to avoid buffer over flow.
Qiu Shumin [Fri, 19 Dec 2014 02:37:53 +0000 (02:37 +0000)]
Code refine. Check the original length of array to avoid buffer over flow.

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

6 years agoMdeModulePkg\Bus\Ata\AtaAtapiPassThru: don't set PxSACT bit when issuing command
Chris Ruffin [Thu, 18 Dec 2014 06:13:36 +0000 (06:13 +0000)]
MdeModulePkg\Bus\Ata\AtaAtapiPassThru: don't set PxSACT bit when issuing command

Setting a bit in the PxSACT register for a command in the command list indicates
to the controller that the command list slot contains a native queued command (NCQ).
This can cause problems with some controllers (one such controller is the Marvell 9128).
Since NCQ commands are not used, don't set the PxACT register for commands issued.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Chris Ruffin <chris.ruffin@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16536 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoFix a bug that the gateway is not necessary in a simple PXE network.
Gary Lin [Thu, 18 Dec 2014 03:03:52 +0000 (03:03 +0000)]
Fix a bug that the gateway is not necessary in a simple PXE network.

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

6 years agoSourceLevelDebugPkg DebugAgentLib: Fix build error with GNU assembler
Jeff Fan [Wed, 17 Dec 2014 05:31:42 +0000 (05:31 +0000)]
SourceLevelDebugPkg DebugAgentLib: Fix build error with GNU assembler

Use mov instead of movw.

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

6 years agoUefiCpuPkg CpuExceptionHandlerLib: Use %rax instead of %eax to make code consistence.
Jeff Fan [Wed, 17 Dec 2014 05:30:33 +0000 (05:30 +0000)]
UefiCpuPkg CpuExceptionHandlerLib: Use %rax instead of %eax to make code consistence.

Make code consistence between ASM and S files.

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

6 years agoMdeModulePkg DebugSupportDxe: Fix build error with GNU assembler
Jordan Justen [Wed, 17 Dec 2014 05:16:48 +0000 (05:16 +0000)]
MdeModulePkg DebugSupportDxe: Fix build error with GNU assembler

The GNU assembler (2.24.51.20140918) is failing to build when movw is used on this instruction.
Instead use the mov instruction, which matches the other cases of loading segment registers.

The error message seen is:
  AsmFuncs.iii:283: Error: incorrect register `%rax' used with `w' suffix

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16529 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoMdeModulePkg DxeCore: Fix potential FV overflow of 4GB boundary on a 32-bit systems.
Star Zeng [Wed, 17 Dec 2014 00:39:51 +0000 (00:39 +0000)]
MdeModulePkg DxeCore: Fix potential FV overflow of 4GB boundary on a 32-bit systems.

The traversing of a Memory Mapped FV can overflow the 4GB limit on a 32bit system
during the setting up a Linked List of FFS file inside the FV.

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