]> git.proxmox.com Git - mirror_edk2.git/log
mirror_edk2.git
10 years agoOvmfPkg EmuVariableFvbRuntimeDxe: Let FaultTolerantWriteDxe to init working block...
Star Zeng [Wed, 3 Jul 2013 09:26:49 +0000 (09:26 +0000)]
OvmfPkg EmuVariableFvbRuntimeDxe: Let FaultTolerantWriteDxe to init working block header.

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

10 years agoEmulatorPkg: Use FaultTolerantWritePei driver.
Star Zeng [Wed, 3 Jul 2013 09:24:07 +0000 (09:24 +0000)]
EmulatorPkg: Use FaultTolerantWritePei driver.

1. The signature of working block header needs to be updated to gEdkiiWorkingBlockSignatureGuid because FTW write header and record has be updated and exposed to support crossing archs.
2. PEI variable has been updated to depend on FaultTolerantWritePei to robustly handle crashes during Reclaim(), so add FaultTolerantWritePei.inf in *.dsc and *.fdf.

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

10 years agoNt32Pkg: Use FaultTolerantWritePei driver.
Star Zeng [Wed, 3 Jul 2013 09:19:47 +0000 (09:19 +0000)]
Nt32Pkg: Use FaultTolerantWritePei driver.

1. The signature of working block header needs to be updated to gEdkiiWorkingBlockSignatureGuid because FTW write header and record has be updated and exposed to support crossing archs.
2. PEI variable has been updated to depend on FaultTolerantWritePei to robustly handle crashes during Reclaim(), so add FaultTolerantWritePei.inf in *.dsc and *.fdf.

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

10 years agoSecurityPkg: Variable drivers robustly handle crashes during Reclaim().
Star Zeng [Wed, 3 Jul 2013 09:09:42 +0000 (09:09 +0000)]
SecurityPkg: Variable drivers robustly handle crashes during Reclaim().

PEI variable implementation checks only the variable header signature for validity. This does not seem robust if system crash occurred during previous Reclaim() operation. If the crash occurred while FTW was rewriting the variable FV, the signature could be valid even though the rest of the FV isn't valid.
Solution: PEI variable and early phase(before FTW protocol ready) of DXE variable can check the FTW last write status provided by FaultTolerantWritePei and determine if all or partial variable data has been backed up in spare block, and then use the backed up data.

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

10 years agoMdeModulePkg: Variable drivers robustly handle crashes during Reclaim().
Star Zeng [Wed, 3 Jul 2013 09:08:40 +0000 (09:08 +0000)]
MdeModulePkg: Variable drivers robustly handle crashes during Reclaim().

PEI variable implementation checks only the variable header signature for validity. This does not seem robust if system crash occurred during previous Reclaim() operation. If the crash occurred while FTW was rewriting the variable FV, the signature could be valid even though the rest of the FV isn't valid.
Solution: Add a FaultTolerantWritePei driver to check and provide the FTW last write status, then PEI variable and early phase(before FTW protocol ready) of DXE variable can check the status and determine if all or partial variable data has been backed up in spare block, and then use the backed up data.

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

10 years agoFix DDK build fail.
Eric Dong [Wed, 3 Jul 2013 01:29:12 +0000 (01:29 +0000)]
Fix DDK build fail.

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

10 years agoFix GCC build fail.
Eric Dong [Wed, 3 Jul 2013 01:21:39 +0000 (01:21 +0000)]
Fix GCC build fail.

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

10 years agoUpdate HiiDataBase and UefiHiiLib to support Name/Value varstore.
Eric Dong [Tue, 2 Jul 2013 07:53:35 +0000 (07:53 +0000)]
Update HiiDataBase and  UefiHiiLib to support Name/Value varstore.

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

10 years agoFix a bug in Mtftp6 retransmission mechanism of the ACK.
Ari Zigler [Tue, 2 Jul 2013 06:44:27 +0000 (06:44 +0000)]
Fix a bug in Mtftp6 retransmission mechanism of the ACK.
Signed-off-by: Ari Zigler <ariz@mellanox.com>
Reviewed-by: Ouyang Qian <qian.ouyang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14450 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/ArmVExpressLibCTA15-A7: Mapped the extra 1GB of DRAM in the MMU
Olivier Martin [Mon, 1 Jul 2013 14:14:37 +0000 (14:14 +0000)]
ArmPlatformPkg/ArmVExpressLibCTA15-A7: Mapped the extra 1GB of DRAM in the MMU

ARM Versatile Express TC2 Core Tile has two profiles: the 1GB DRAM core tile or
the 2GB DRAM core tile profiles.
By default UEFI assumes, it is the 1GB core tile. In case of 2GB DRAM it declares
this additional 1GB resource system memory to UEFI. But the previous code did
not map this memory in the MMU Page Table.
So, the memory was allocatable by UEFI modules, but was not accessible by the CPU
(because not mapped).

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

10 years agoShellPkg: Verify memory and handle allocation failure.
jaben carsey [Fri, 28 Jun 2013 22:44:21 +0000 (22:44 +0000)]
ShellPkg: Verify memory and handle allocation failure.

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

10 years agoArmPkg/BdsLib: Fixed manipulation of the Memory Map returned by GetMemoryMap()
Olivier Martin [Thu, 27 Jun 2013 18:18:24 +0000 (18:18 +0000)]
ArmPkg/BdsLib: Fixed manipulation of the Memory Map returned by GetMemoryMap()

The UEFI specification mandates that software uses the DescriptorSize returned
by the GetMemoryMap() function to find the start of each EFI_MEMORY_DESCRIPTOR
in the MemoryMap array. This allows for future expansion of the EFI_MEMORY_DESCRIPTOR.

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

10 years agoArmPkg/ArmLib: Marked functions as 'STATIC' if not exposed outside of the scope of...
Olivier Martin [Thu, 27 Jun 2013 18:17:19 +0000 (18:17 +0000)]
ArmPkg/ArmLib: Marked functions as 'STATIC' if not exposed outside of the scope of the source file

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

10 years agoArmPkg: Made ArmConfigureMmu() returns a status code
Olivier Martin [Thu, 27 Jun 2013 18:16:06 +0000 (18:16 +0000)]
ArmPkg: Made ArmConfigureMmu() returns a status code

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

10 years agoShellPkg: make automatically created shells quit automatically
jaben carsey [Thu, 27 Jun 2013 16:11:39 +0000 (16:11 +0000)]
ShellPkg: make automatically created shells quit automatically

This creates a new parameter to this shell implementation “_exit” that causes the shell to automatically exit after running the initial specified command line.  This also automatically uses that command in the Execute() API.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jaben carsey <jaben.carsey@intel.com>
Reviewed-by: Samer El-Haj-Mahmoud <elhaj@hp.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14444 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoAx88772: Add logic to separate packet, fix MTU issue. Ax88772b: Fix driver model...
Yu Pei [Thu, 27 Jun 2013 05:07:29 +0000 (05:07 +0000)]
Ax88772: Add logic to separate packet, fix MTU issue. Ax88772b: Fix driver model unload function, fix SCT test failures.

Signed-off-by: Yu Pei <pei.yu@intel.com>
Reviewed-by: Ouyang Qian <qian.ouyang@intel.com>
Reviewed-by: Leahy, Leroy P <Leroy.P.Leahy@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14443 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoMdeModulePkg/Usb: Boost the r/w performance by reducing stall time on polling cmd...
Feng Tian [Mon, 24 Jun 2013 03:03:55 +0000 (03:03 +0000)]
MdeModulePkg/Usb: Boost the r/w performance by reducing stall time on polling cmd execution status

Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14442 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: Update rm command to properly prepend file system identifiers to filenames.
Jaben Carsey [Fri, 21 Jun 2013 21:20:03 +0000 (21:20 +0000)]
ShellPkg: Update rm command to properly prepend file system identifiers to filenames.

This is required when recursively removing directories with files on file systems other than the current one.

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

10 years agoArmPlatformPkg: Fixed deprecated ifdef syntax in DSC files
Olivier Martin [Fri, 21 Jun 2013 11:08:17 +0000 (11:08 +0000)]
ArmPlatformPkg: Fixed deprecated ifdef syntax in DSC files

The syntax '!ifdef $(MACRO)' is deprecated and should be replaced by '!ifdef MACRO'.

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

10 years agoArmPlatformPkg/ArmVExpressPkg: CTA9x4: Default to EDK2_ARMVE_STANDALONE=1
Ryan Harkin [Fri, 21 Jun 2013 10:59:53 +0000 (10:59 +0000)]
ArmPlatformPkg/ArmVExpressPkg: CTA9x4: Default to EDK2_ARMVE_STANDALONE=1

This patch changes the Versatile Express A9 BSP to build with
EDK2_ARMVE_STANDALONE=1 as the default option.

The user may then specify zero if they wish to build the non-standalone
version.

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

10 years agoArmPlatformPkg/ArmVExpressPkg: Add Shutdown support
Ryan Harkin [Fri, 21 Jun 2013 10:09:50 +0000 (10:09 +0000)]
ArmPlatformPkg/ArmVExpressPkg: Add Shutdown support

LibResetSystem was performing a cold reboot for both reboot and
shutdown.

This patch updates LibResetSystem to pass SYS_CFG_SHUTDOWN to the
microcontroller when called wit EfiResetShutdown.

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

10 years agoArmPlatformPkg/Bds: Make ".EFI" files recognizable as EFI applications
Leif Lindholm [Fri, 21 Jun 2013 10:01:27 +0000 (10:01 +0000)]
ArmPlatformPkg/Bds: Make ".EFI" files recognizable as EFI applications

Currently, only ".efi" files are recognized as valid ARM UEFI
applications by BDS. This patch also makes ".EFI" files recognised.

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

10 years agoArmPkg/ArmLib: Removed ArmInvalidateTlb when disabling cache as ArmDisableMmu() alrea...
Olivier Martin [Wed, 19 Jun 2013 18:27:55 +0000 (18:27 +0000)]
ArmPkg/ArmLib: Removed ArmInvalidateTlb when disabling cache as ArmDisableMmu() already does it

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

10 years agoArmPkg: Moved PcdArmLinuxAtagMaxOffset to be ARM specific
Olivier Martin [Wed, 19 Jun 2013 18:27:05 +0000 (18:27 +0000)]
ArmPkg: Moved PcdArmLinuxAtagMaxOffset to be ARM specific

ATAG is specific to 32bit ARM architecture.

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

10 years agoArmPkg/BdsLib: Update FDT CPU node format
Olivier Martin [Wed, 19 Jun 2013 18:09:19 +0000 (18:09 +0000)]
ArmPkg/BdsLib: Update FDT CPU node format

- Based on Doc here:
  Repo: http://www.linux-arm.org/git?p=linux-2.6-lp.git
  Branch: dt-cpus-bindings
  File:   Documentation/devicetree/bindings/arm/cpus.txt

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

10 years agoArmPkg/Drivers/TimerDxe: Improve Timer initialisation.
Olivier Martin [Wed, 19 Jun 2013 18:08:02 +0000 (18:08 +0000)]
ArmPkg/Drivers/TimerDxe: Improve Timer initialisation.

- Registering a interrupt handler implicitly enables said interrupt. This
  is in the UEFI Spec. No need to enable the interrupts a second time.
- Make sure the Timer is completely disabled before configuring it. Only
  enable after configuration is complete.

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

10 years agoArmPlatformPkg/PL011Uart: Ignore BAUD rate if Integral non-zero
Olivier Martin [Wed, 19 Jun 2013 18:06:12 +0000 (18:06 +0000)]
ArmPlatformPkg/PL011Uart: Ignore BAUD rate if Integral non-zero

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

10 years agoArmPlatformPkg/PL011Uart: Fixed condition
Olivier Martin [Wed, 19 Jun 2013 18:03:12 +0000 (18:03 +0000)]
ArmPlatformPkg/PL011Uart: Fixed condition

The aim of the condition is to check if we should use the default BaudRate
value (case when *BaudRate == 0).

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

10 years agoArmPlatformPkg/Bds: Moved the PrintLib() after forcing the last character to be null
Olivier Martin [Wed, 19 Jun 2013 18:00:46 +0000 (18:00 +0000)]
ArmPlatformPkg/Bds: Moved the PrintLib() after forcing the last character to be null

That should prevent the risk of buffer overflow.

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

10 years agoArmPlatformPkg/ArmVExpressLibCTA15-A7: Fixed ARM Toolchain build
Olivier Martin [Wed, 19 Jun 2013 17:58:26 +0000 (17:58 +0000)]
ArmPlatformPkg/ArmVExpressLibCTA15-A7: Fixed ARM Toolchain build

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

10 years agoMdeModulePkg/AtaBus: wait up to 30s for ATA cmd response in Standby/Idle mode to...
Feng Tian [Tue, 18 Jun 2013 03:36:11 +0000 (03:36 +0000)]
MdeModulePkg/AtaBus: wait up to 30s for ATA cmd response in Standby/Idle mode to follow ATA spec

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

10 years agoShellBinPkg/UefiShell: Updated Shell Binary for ARM architecture
Olivier Martin [Mon, 17 Jun 2013 09:58:18 +0000 (09:58 +0000)]
ShellBinPkg/UefiShell: Updated Shell Binary for ARM architecture

This binary is built against svn r14400 (such as the x86 ones).

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

10 years agoArmPlatformPkg: Fixed size of RTSM FDs
Olivier Martin [Mon, 17 Jun 2013 09:52:51 +0000 (09:52 +0000)]
ArmPlatformPkg: Fixed size of RTSM FDs

The size of the FDs did not match the FD layout.

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

10 years agoThe list of locked variables is traversed at runtime, hence we must
Laszlo Ersek [Mon, 17 Jun 2013 02:30:42 +0000 (02:30 +0000)]
The list of locked variables is traversed at runtime, hence we must
convert the list when transferring from physical to virtual mode.

Contributed-under: TianoCore Contribution Agreement 1.0

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

10 years agoRevert the changes made in 14403 because it incorrectly changed the EOL.
Ruiyu Ni [Mon, 17 Jun 2013 02:18:58 +0000 (02:18 +0000)]
Revert the changes made in 14403 because it incorrectly changed the EOL.

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

10 years agoOvmfPkg: Reduce PcdMaxVariableSize with secure boot to avoid assert
Jordan Justen [Fri, 14 Jun 2013 21:37:44 +0000 (21:37 +0000)]
OvmfPkg: Reduce PcdMaxVariableSize with secure boot to avoid assert

r14252 causes OVMF to crash if SECURE_BOOT_ENABLE is set,
because PcdMaxVariableSize is set to a larger value than
required. In other platforms, 0x2000 seems to be sufficient.

Reported-by: Gary Ching-Pang Lin <glin@suse.com>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14423 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoFixed the issue that IPv6 network stack assert infrequently – assert once every 300...
Ye Ting [Fri, 14 Jun 2013 08:18:34 +0000 (08:18 +0000)]
Fixed the issue that IPv6 network stack assert infrequently – assert once every 300~400 PXE boots.

Signed-off-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ouyang Qian <qian.ouyang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14422 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: enable building VirtioNetDxe
Laszlo Ersek [Fri, 14 Jun 2013 07:41:13 +0000 (07:41 +0000)]
OvmfPkg: enable building VirtioNetDxe

Also summarize the resultant NIC driver options in the README file.

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

10 years agoOvmfPkg/VirtioNetDxe: Fix build errors on VS2012 (IA32 & X64)
Jordan Justen [Fri, 14 Jun 2013 07:41:05 +0000 (07:41 +0000)]
OvmfPkg/VirtioNetDxe: Fix build errors on VS2012 (IA32 & X64)

These changes were needed in addition to the silence.patch
that Laszlo posted on May 28.

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

10 years agoOvmfPkg: VirtioNetDxe: fix some build errors emitted by Visual Studio
Laszlo Ersek [Fri, 14 Jun 2013 07:40:59 +0000 (07:40 +0000)]
OvmfPkg: VirtioNetDxe: fix some build errors emitted by Visual Studio

These were found with the gcc-4.4 option "-Wconversion" after Jordan
reported the build failure under Visual Studio. The patch was originally
posted to edk2-devel as "silence.patch":

http://thread.gmane.org/gmane.comp.bios.tianocore.devel/2804/focus=2972

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

10 years agoOvmfPkg: VirtioNetDxe: complete driver with INF file
Laszlo Ersek [Fri, 14 Jun 2013 07:40:53 +0000 (07:40 +0000)]
OvmfPkg: VirtioNetDxe: complete driver with INF file

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

10 years agoOvmfPkg: VirtioNetDxe: WaitForPacket and EXIT_BOOT_SERVICES event callbacks
Laszlo Ersek [Fri, 14 Jun 2013 07:40:47 +0000 (07:40 +0000)]
OvmfPkg: VirtioNetDxe: WaitForPacket and EXIT_BOOT_SERVICES event callbacks

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

10 years agoOvmfPkg: VirtioNetDxe: definitions of unsupported SNP member functions
Laszlo Ersek [Fri, 14 Jun 2013 07:40:42 +0000 (07:40 +0000)]
OvmfPkg: VirtioNetDxe: definitions of unsupported SNP member functions

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

10 years agoOvmfPkg: VirtioNetDxe: emulate Rx filter configuration: SNP.ReceiveFilters
Laszlo Ersek [Fri, 14 Jun 2013 07:40:36 +0000 (07:40 +0000)]
OvmfPkg: VirtioNetDxe: emulate Rx filter configuration: SNP.ReceiveFilters

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

10 years agoOvmfPkg: VirtioNetDxe: map multicast IP to MAC: SNP.McastIpToMac
Laszlo Ersek [Fri, 14 Jun 2013 07:40:30 +0000 (07:40 +0000)]
OvmfPkg: VirtioNetDxe: map multicast IP to MAC: SNP.McastIpToMac

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

10 years agoOvmfPkg: VirtioNetDxe: implement Tx: SNP.Transmit and SNP.GetStatus
Laszlo Ersek [Fri, 14 Jun 2013 07:40:24 +0000 (07:40 +0000)]
OvmfPkg: VirtioNetDxe: implement Tx: SNP.Transmit and SNP.GetStatus

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

10 years agoOvmfPkg: VirtioNetDxe: SNP.Receive
Laszlo Ersek [Fri, 14 Jun 2013 07:40:17 +0000 (07:40 +0000)]
OvmfPkg: VirtioNetDxe: SNP.Receive

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

10 years agoOvmfPkg: VirtioNetDxe: SNP.Shutdown
Laszlo Ersek [Fri, 14 Jun 2013 07:40:11 +0000 (07:40 +0000)]
OvmfPkg: VirtioNetDxe: SNP.Shutdown

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

10 years agoOvmfPkg: VirtioNetDxe: add SNP.Initialize and shared dependencies
Laszlo Ersek [Fri, 14 Jun 2013 07:40:05 +0000 (07:40 +0000)]
OvmfPkg: VirtioNetDxe: add SNP.Initialize and shared dependencies

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

10 years agoOvmfPkg: VirtioNetDxe: Simple Network Protocol members Start and Stop
Laszlo Ersek [Fri, 14 Jun 2013 07:39:58 +0000 (07:39 +0000)]
OvmfPkg: VirtioNetDxe: Simple Network Protocol members Start and Stop

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

10 years agoOvmfPkg: VirtioNetDxe: driver binding
Laszlo Ersek [Fri, 14 Jun 2013 07:39:52 +0000 (07:39 +0000)]
OvmfPkg: VirtioNetDxe: driver binding

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

10 years agoOvmfPkg: VirtioNetDxe: Component Name Protocol implementation
Laszlo Ersek [Fri, 14 Jun 2013 07:39:46 +0000 (07:39 +0000)]
OvmfPkg: VirtioNetDxe: Component Name Protocol implementation

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

10 years agoOvmfPkg: VirtioNetDxe: add entry point
Laszlo Ersek [Fri, 14 Jun 2013 07:39:40 +0000 (07:39 +0000)]
OvmfPkg: VirtioNetDxe: add entry point

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

10 years agoOvmfPkg: VirtioNetDxe: declarations and macro definitions
Laszlo Ersek [Fri, 14 Jun 2013 07:39:32 +0000 (07:39 +0000)]
OvmfPkg: VirtioNetDxe: declarations and macro definitions

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

10 years agoOvmfPkg: VirtioNetDxe: add technical notes
Laszlo Ersek [Fri, 14 Jun 2013 07:39:25 +0000 (07:39 +0000)]
OvmfPkg: VirtioNetDxe: add technical notes

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

10 years agoThe list of locked variables is traversed at runtime, hence we must
Laszlo Ersek [Fri, 14 Jun 2013 01:55:12 +0000 (01:55 +0000)]
The list of locked variables is traversed at runtime, hence we must
convert the list when transferring from physical to virtual mode.

Contributed-under: TianoCore Contribution Agreement 1.0

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

10 years agoUse correct pointer to install DevicePath protocol.
Star Zeng [Thu, 13 Jun 2013 09:07:42 +0000 (09:07 +0000)]
Use correct pointer to install DevicePath protocol.

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

10 years agoShellBinPkg: Upadate both MinUefiShell and UefiShell for IA32 and X64 based on ShellP...
Jaben Carsey [Wed, 12 Jun 2013 18:14:33 +0000 (18:14 +0000)]
ShellBinPkg: Upadate both MinUefiShell and UefiShell for IA32 and X64 based on ShellPkg SVN 14400

Contributed-under: TianoCore Contribution Agreement 1.0
signed-off-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14401 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: Fix ARM build errors.
jcarsey [Tue, 11 Jun 2013 22:07:03 +0000 (22:07 +0000)]
ShellPkg: Fix ARM build errors.

submitted-by: Olivier Martin olivier.martin@arm.com>
reviewed-by: Jaben Carsey <Jaben.Carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14400 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoUpdate to new SVN URL in readme.txt
Tian, Hot [Sat, 8 Jun 2013 05:26:39 +0000 (05:26 +0000)]
Update to new SVN URL in readme.txt

Signed-off-by: Tian, Hot <hot.tian@intel.com>
Reviewed-by: Ni, Ruiyu <ruiyu.ni@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14399 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoUse right LBA to get the backed up WorkSpace in spare block.
Star Zeng [Fri, 7 Jun 2013 02:38:00 +0000 (02:38 +0000)]
Use right LBA to get the backed up WorkSpace in spare block.

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

10 years agoUpdate code to follow spec, add discard form action before reset.
Eric Dong [Thu, 6 Jun 2013 09:31:46 +0000 (09:31 +0000)]
Update code to follow spec, add discard form action before reset.

Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14397 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoFix overflow issue in TcgProtocol
Chao Zhang [Thu, 6 Jun 2013 00:39:41 +0000 (00:39 +0000)]
Fix overflow issue in TcgProtocol

Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by  : Yao Jiewen <jiewen.yao@intel.com>
Reviewed-by  : Dong Guo   <guo.dong@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14396 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoAdd the missing "," for the patch to fix status code print string.
Gary Ching-Pang Lin [Tue, 4 Jun 2013 08:51:30 +0000 (08:51 +0000)]
Add the missing "," for the patch to fix status code print string.

Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14395 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: refine the logic for cp command
Eric Dong [Tue, 4 Jun 2013 01:06:22 +0000 (01:06 +0000)]
ShellPkg: refine the logic for cp command

Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <Erik.c.Bjorge@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14394 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/Bds: Fixed potential overflow in EditHIInputStr()
Ryan Harkin [Wed, 29 May 2013 14:56:35 +0000 (14:56 +0000)]
ArmPlatformPkg/Bds: Fixed potential overflow in EditHIInputStr()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Signed-off: Olivier Martin <olivier.martin@arm.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14393 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoThough the comment of RandomSeed() states it should return FALSE if there is not...
tye1 [Wed, 29 May 2013 05:30:13 +0000 (05:30 +0000)]
Though the comment of RandomSeed() states it should return FALSE if there is not enough entropy for random generation, the function always returns TRUE. This commit checks the status of pseudorandom number generator to match the comment.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
Reviewed-by: Long Qin <qin.long@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14392 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: make help footer string have same info as help usage information
jcarsey [Tue, 28 May 2013 20:21:51 +0000 (20:21 +0000)]
ShellPkg: make help footer string have same info as help usage information

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.Carsey@intel.com>
Reviewed-by: Erik Bjorge <Erik.c.Bjorge@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14391 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg/SerializeVariablesLib: ignore secure variable restore errors
jljusten [Tue, 28 May 2013 17:21:37 +0000 (17:21 +0000)]
OvmfPkg/SerializeVariablesLib: ignore secure variable restore errors

OvmfPkg's file-based NvVar storage is read back as follows at boot (all
paths under OvmfPkg/Library/):

PlatformBdsPolicyBehavior() [PlatformBdsLib/BdsPlatform.c]
  PlatformBdsRestoreNvVarsFromHardDisk()
    VisitAllInstancesOfProtocol
      for each simple file system:
        VisitingFileSystemInstance()
          ConnectNvVarsToFileSystem() [NvVarsFileLib/NvVarsFileLib.c]
            LoadNvVarsFromFs() [NvVarsFileLib/FsAccess.c]
              ReadNvVarsFile()
+-------------> SerializeVariablesSetSerializedVariables() [SerializeVariablesLib/SerializeVariablesLib.c]
|                 SerializeVariablesIterateInstanceVariables()
|   +-------------> IterateVariablesInBuffer()
|   |                 for each loaded / deserialized variable:
| +-|-----------------> IterateVariablesCallbackSetSystemVariable()
| | |                     gRT->SetVariable()
| | |
| | IterateVariablesInBuffer() stops processing variables as soon as the
| | first error is encountered from the callback function.
| |
| | In this case the callback function is
| IterateVariablesCallbackSetSystemVariable(), selected by
SerializeVariablesSetSerializedVariables().

The result is that no NvVar is restored from the file after the first
gRT->SetVariable() failure.

On my system such a failure
- never happens in an OVMF build with secure boot disabled,
- happens *immediately* with SECURE_BOOT_ENABLE, because the first
  variable to restore is "AuthVarKeyDatabase".

"AuthVarKeyDatabase" has the EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS
attribute set. Since the loop tries to restore it before any keys (PK, KEK
etc) are enrolled, gRT->SetVariable() rejects it with
EFI_SECURITY_VIOLATION. Consequently the NvVar restore loop terminates
immediately, and we never reach non-authenticated variables such as
Boot#### and BootOrder.

Until work on KVM-compatible flash emulation converges between qemu and
OvmfPkg, improve the SECURE_BOOT_ENABLE boot experience by masking
EFI_SECURITY_VIOLATION in the callback:
- authenticated variables continue to be rejected same as before, but
- at least we allow the loop to progress and restore non-authenticated
  variables, for example boot options.

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://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14390 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoRefine the logic about processing options for oneof opcode.
ydong10 [Mon, 27 May 2013 07:04:09 +0000 (07:04 +0000)]
Refine the logic about processing options for oneof opcode.

Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14389 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoFix the issue that FreePool is too early in FirmwarePerformanceDxe.
lgao4 [Mon, 27 May 2013 05:45:35 +0000 (05:45 +0000)]
Fix the issue that FreePool is too early in FirmwarePerformanceDxe.

Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14388 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoWithout this fix, the "%r" format specifier prints eg. "0000001A" instead of "Securit...
lgao4 [Fri, 24 May 2013 02:48:40 +0000 (02:48 +0000)]
Without this fix, the "%r" format specifier prints eg. "0000001A" instead of "Security Violation" for EFI_SECURITY_VIOLATION.

Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14387 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoMove the memory allocation and variable set to BdsEntry, use VariableLock protocol...
lzeng14 [Thu, 23 May 2013 02:56:41 +0000 (02:56 +0000)]
Move the memory allocation and variable set to BdsEntry, use VariableLock protocol to lock the L”PerfDataMemAddr” variable and prevent malware to update it.

Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14386 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoCorrect the incorrect Copyright or License in EDKII source files.
lgao4 [Wed, 22 May 2013 02:19:16 +0000 (02:19 +0000)]
Correct the incorrect Copyright or License in EDKII source files.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Hess Chen (hesheng.chen@intel.com)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14383 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoWhen finish using the browser storage for one formset, browser should clean the Confi...
ydong10 [Tue, 21 May 2013 05:50:23 +0000 (05:50 +0000)]
When finish using the browser storage for one formset, browser should clean the ConfigRequest string for this formset.

Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14380 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoFix the TOCTOU issue of CommBufferSize itself for SMM communicate handler input.
lzeng14 [Tue, 21 May 2013 02:22:02 +0000 (02:22 +0000)]
Fix the TOCTOU issue of CommBufferSize itself for SMM communicate handler input.

Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14379 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoAdd the EDKII_VARIABLE_LOCK_PROTOCOL implementation in SecurityPkg variable drivers.
niruiyu [Mon, 20 May 2013 07:10:10 +0000 (07:10 +0000)]
Add the EDKII_VARIABLE_LOCK_PROTOCOL implementation in SecurityPkg variable drivers.

Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14378 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoRemove the complex buffer since the _LOCK_VARIABLE won't be allowed after leaving...
niruiyu [Mon, 20 May 2013 07:04:56 +0000 (07:04 +0000)]
Remove the complex buffer since the _LOCK_VARIABLE won't be allowed after leaving DXE phase.
Add the variable name size check in the RequestToLock wrapper.

Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14377 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoFix a bug that “SecureBoot” varaible will be updated to NV+AT attribute incorrectly.
sfu5 [Fri, 17 May 2013 08:05:01 +0000 (08:05 +0000)]
Fix a bug that “SecureBoot” varaible will be updated to NV+AT attribute incorrectly.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com>
Reviewed-by: Dong Guo <guo.dong@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14375 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoNew EDK Shell binary(r63).
niruiyu [Fri, 17 May 2013 07:36:14 +0000 (07:36 +0000)]
New EDK Shell binary(r63).

Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14374 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoPop up error message when user tries to enroll an invalid certificate file into KEK...
sfu5 [Fri, 17 May 2013 07:03:49 +0000 (07:03 +0000)]
Pop up error message when user tries to enroll an invalid certificate file into KEK/DB/DBX.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14373 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoAdd EDKII_VARIABLE_LOCK_PROTOCOL and the implementation in MdeModulePkg variable...
niruiyu [Fri, 17 May 2013 03:49:35 +0000 (03:49 +0000)]
Add EDKII_VARIABLE_LOCK_PROTOCOL and the implementation in MdeModulePkg variable drivers.
Add code in BdsDxe driver to call the protocol to mark the read-only variables defined in the UEFI Spec.

Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Guo Dong <guo.dong@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14372 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoUpdate the logic about get initial value for one storage.
ydong10 [Thu, 16 May 2013 08:41:39 +0000 (08:41 +0000)]
Update the logic about get initial value for one storage.

Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14370 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoSeparate memory allocation for FPDT S3 performance table and boot performance table...
lzeng14 [Thu, 16 May 2013 07:35:30 +0000 (07:35 +0000)]
Separate memory allocation for FPDT S3 performance table and boot performance table, save S3 performance table pointer to LockBox in FirmwarePerformanceDxe. Then FirmwarePerformancePei can use the pointer in LockBox.

Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14369 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg\Library\UefiShellCEntryLib\UefiShellCEntryLib.c:
darylm503 [Wed, 15 May 2013 20:39:04 +0000 (20:39 +0000)]
ShellPkg\Library\UefiShellCEntryLib\UefiShellCEntryLib.c:
Return actual error codes instead of EFI_UNSUPPORTED for all errors.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: daryl.mcdaniel@intel.com
Reviewed-by: jaben.carsey@intel.com
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14368 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: QemuBootOrder: recognize Ethernet OFW device paths
jljusten [Wed, 15 May 2013 18:21:08 +0000 (18:21 +0000)]
OvmfPkg: QemuBootOrder: recognize Ethernet OFW device paths

Tested with the e1000, ne2k_pci, pcnet, rtl8139, and virtio iPXE UEFI
oprom drivers distributed with qemu-1.5.0-rc1. Also tested with Intel's
e1000 driver.

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://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14367 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: enable the generic network stack by default
jljusten [Wed, 15 May 2013 18:20:39 +0000 (18:20 +0000)]
OvmfPkg: enable the generic network stack by default

DHCP, PXE, and StdLib socket apps are enabled in OVMF by the sum of:
(a) a UEFI NIC driver,
(b) the generic network stack.

The only choice for (a) used to be the proprietary Intel E1000 driver,
which is cumbersome to obtain and enable.

The iPXE UEFI NIC drivers packaged with qemu-1.5 cover (a) for each NIC
type supported by qemu, and are easy to obtain & configure, even for
earlier qemu versions. Therefore enable (b) per default as well.

This doesn't take up much space; the binaries (b) adds to the firmware
don't seem to need -D FD_SIZE_2MB.

Intel's e1000 driver remains an option, requested by the -D E1000_ENABLE
build flag.

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://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14366 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoEmbeddedPkg/SerialPortExtLib.h: Changed SerialPortSetAttributes() prototype to return...
oliviermartin [Wed, 15 May 2013 08:44:59 +0000 (08:44 +0000)]
EmbeddedPkg/SerialPortExtLib.h: Changed SerialPortSetAttributes() prototype to return the set value(s)

To be compliant with the UEFI specification it is required to update SERIAL_IO_MODE with the values set.
This prototype change allows to get the value used inside SerialPortSetAttributes().

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

10 years agoOvmfPkg: describe debug messages in the README file
jljusten [Wed, 15 May 2013 08:09:29 +0000 (08:09 +0000)]
OvmfPkg: describe debug messages in the README file

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://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14364 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: adapt VirtioFlush()'s leading comment to the coding style
jljusten [Wed, 15 May 2013 06:23:22 +0000 (06:23 +0000)]
OvmfPkg: adapt VirtioFlush()'s leading comment to the coding style

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14362 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: adapt VirtioAppendDesc()'s leading comment to the coding style
jljusten [Wed, 15 May 2013 06:22:50 +0000 (06:22 +0000)]
OvmfPkg: adapt VirtioAppendDesc()'s leading comment to the coding style

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14361 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: adapt VirtioPrepare()'s leading comment to the coding style
jljusten [Wed, 15 May 2013 06:22:15 +0000 (06:22 +0000)]
OvmfPkg: adapt VirtioPrepare()'s leading comment to the coding style

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14360 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoEmulatorPkg: Add SerialPortExtLib library class mapping
jljusten [Wed, 15 May 2013 05:18:49 +0000 (05:18 +0000)]
EmulatorPkg: Add SerialPortExtLib library class mapping

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14359 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoStdLib/LibC/Locale/multibyte_Utf8.c: Fix obscure corner cases in wide to multibyte...
darylm503 [Wed, 15 May 2013 01:59:11 +0000 (01:59 +0000)]
StdLib/LibC/Locale/multibyte_Utf8.c: Fix obscure corner cases in wide to multibyte and multibyte to wide character conversions.  The majority of problems center around the interpretation of the Length or Limit parameter when the Destination parameter is NULL.

DecodeOneStateful: Properly handle combinations of Src, Dest, or Len being NULL or 0.

EncodeUtf8: Do not zero-terminate the result string in this worker function.

mbsrtowcs: Remove test for **src == '\0', as per ISO/IEC 9899:199409.  Allows "".

wcsrtombs:  The C Language standard, ISO/IEC 9899:199409, states that the wcsrtombs() function will stop before encountering the terminating NUL character only if Dest is NOT NULL.  This implies that if Dest is NULL, the Limit parameter will be ignored.  In order to avoid system hangs, if Dest is NULL a Limit value of ASCII_STRING_MAX is automatically used.  Also fixed a typo in the function header comment.

With these changes, StdLib now passes all of the C Language Standards Compliance Tests for ISO/IEC 9899:199409 (C95).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: daryl.mcdaniel@intel.com
Reviewed-by: erik.c.bjorge@intel.com
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14358 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoEmulatorPkg/(Pei|Dxe)EmuSerialPortLib: Remove the SerialPortExtLib functions from...
oliviermartin [Tue, 14 May 2013 23:50:33 +0000 (23:50 +0000)]
EmulatorPkg/(Pei|Dxe)EmuSerialPortLib: Remove the SerialPortExtLib functions from SerialPortLib

SerialPortSetControl, SerialPortGetControl and SerialPortSetAttributes are functions
of the SerialPortExtLib library interface. They should not be implemented by the
SerialPortLib library.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <Olivier.martin@arm.com>
Reviewed-by: Andrew Fish <afish@apple.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14357 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: VirtioLib: populate the Available Ring correctly
jljusten [Tue, 14 May 2013 15:57:55 +0000 (15:57 +0000)]
OvmfPkg: VirtioLib: populate the Available Ring correctly

The descriptor table (also known as "queue") consists of descriptors. (The
corresponding type in the code is VRING_DESC.)

An individual descriptor describes a contiguous buffer, to be transferred
uni-directionally between host and guest.

Several descriptors in the descriptor table can be linked into a
descriptor chain, specifying a bi-directional scatter-gather transfer
between host and guest. Such a descriptor chain is also known as "virtio
request".

(The descriptor table can host sereval descriptor chains (in-flight virtio
requests) in parallel, but the OVMF driver supports at most one chain, at
any point in time.)

The first descriptor in any descriptor chain is called "head descriptor".
In order to submit a number of parallel requests (= a set of independent
descriptor chains) from the guest to the host, the guest must put *only*
the head descriptor of each separate chain onto the Available Ring.

VirtioLib currently places the head of its one descriptor chain onto the
Available Ring repeatedly, once for each single (head *or* dependent)
descriptor in said descriptor chain. If the descriptor chain comprises N
descriptors, this error amounts to submitting the same entire chain N
times in parallel.

  Available Ring    Descriptor table
    Ptr to head ----> Desc#0     (head of chain)
    Ptr to head --/   Desc#1     (next in same chain)
    ...          /    ...
    Ptr to head /     Desc#(N-1) (last in same chain)

Anatomy of a single virtio-blk READ request (a descriptor chain with three
descriptors):

  virtio-blk request header, prepared by guest:
    VirtioAppendDesc PhysAddr=3FBC6050 Size=16 Flags=1 Head=1232 Next=1232

  payload to be filled in by host:
    VirtioAppendDesc PhysAddr=3B934C00 Size=32768 Flags=3 Head=1232 Next=1233

  host status, to be filled in by host:
    VirtioAppendDesc PhysAddr=3FBC604F Size=1 Flags=2 Head=1232 Next=1234

Processing on the host side -- the descriptor chain is processed three
times in parallel (its head is available to virtqueue_pop() thrice); the
same chain is submitted/collected separately to/from AIO three times:

  virtio_queue_notify vdev VDEV vq VQ#0

  virtqueue_pop vq VQ#0 elem EL#0 in_num 2 out_num 1
  bdrv_aio_readv bs BDRV sector_num 585792 nb_sectors 64 opaque REQ#0

  virtqueue_pop vq VQ#0 elem EL#1 in_num 2 out_num 1
  bdrv_aio_readv bs BDRV sector_num 585792 nb_sectors 64 opaque REQ#1

  virtqueue_pop vq VQ#0 elem EL#2 in_num 2 out_num 1
  bdrv_aio_readv bs BDRV sector_num 585792 nb_sectors 64 opaque REQ#2

  virtio_blk_rw_complete req REQ#0 ret 0
  virtio_blk_req_complete req REQ#0 status 0

  virtio_blk_rw_complete req REQ#1 ret 0
  virtio_blk_req_complete req REQ#1 status 0

  virtio_blk_rw_complete req REQ#2 ret 0
  virtio_blk_req_complete req REQ#2 status 0

On my Thinkpad T510 laptop with RHEL-6 as host, this probably leads to
simultaneous DMA transfers targeting the same RAM area. Even though the
source of each transfer is identical, the data is corrupted in the
destination buffer -- the CRC32 calculated over the buffer varies, even
though the origin of the transfers is the same, never rewritten LBA.

  SynchronousRequest Lba=585792 BufSiz=32768 ReqIsWrite=0 Crc32=BF68A44D

The problem is invisible on my HP Z400 workstation.

Fix the request submission by:
- building the only one descriptor chain supported by VirtioLib always at
  the beginning of the descriptor table,
- ensuring the head descriptor of this chain is put on the Available Ring
  only once,
- requesting the virtio spec's language to be cleaned up
  <http://lists.linuxfoundation.org/pipermail/virtualization/2013-April/024032.html>.

  Available Ring    Descriptor table
    Ptr to head ----> Desc#0     (head of chain)
                      Desc#1     (next in same chain)
                      ...
                      Desc#(N-1) (last in same chain)

  VirtioAppendDesc PhysAddr=3FBC6040 Size=16 Flags=1 Head=0 Next=0
  VirtioAppendDesc PhysAddr=3B934C00 Size=32768 Flags=3 Head=0 Next=1
  VirtioAppendDesc PhysAddr=3FBC603F Size=1 Flags=2 Head=0 Next=2

    virtio_queue_notify vdev VDEV vq VQ#0

    virtqueue_pop vq VQ#0 elem EL#0 in_num 2 out_num 1
    bdrv_aio_readv bs BDRV sector_num 585792 nb_sectors 64 opaque REQ#0

    virtio_blk_rw_complete req REQ#0 ret 0
    virtio_blk_req_complete req REQ#0 status 0

  SynchronousRequest Lba=585792 BufSiz=32768 ReqIsWrite=0 Crc32=1EEB2B07

(The Crc32 was double-checked with edk2's and Linux's guest IDE driver.)

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://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14356 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoAdd Copyright notices and comments for Red Hat contributor.
sfu5 [Tue, 14 May 2013 06:25:39 +0000 (06:25 +0000)]
Add Copyright notices and comments for Red Hat contributor.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14355 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoFix bug in PXE driver: memory may be freed before use.
sfu5 [Tue, 14 May 2013 03:01:51 +0000 (03:01 +0000)]
Fix bug in PXE driver: memory may be freed before use.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Ouyang Qian <qian.ouyang@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14354 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: remove unused enum
jcarsey [Mon, 13 May 2013 17:22:30 +0000 (17:22 +0000)]
ShellPkg: remove unused enum

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.Carsey@intel.com>
Reviewed-by: Erik Bjorge <Erik.c.Bjorge@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14353 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoUpdate Code to pass EBC compiler.
lgao4 [Mon, 13 May 2013 02:36:09 +0000 (02:36 +0000)]
Update Code to pass EBC compiler.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14352 6f19259b-4bc3-4df7-8a09-765794883524