mirror_edk2.git
5 years agoFspInitPei function calling parameters not matching with the function definition.
Yao, Jiewen [Tue, 7 Jul 2015 05:47:08 +0000 (05:47 +0000)]
FspInitPei function calling parameters not matching with the function definition.

IntelFspWrapperPkg, In the file FspInitPeiV1.c and FspInitPeiV2.c, there are function calling:
GetStackInfo (BootMode, FALSE, &StackBase, &StackSize);

But the function GetStackInfo() defined as EFI_STATUS EFIAPI GetStackInfo (
  IN  UINT32               BootMode,
  IN  BOOLEAN              FspInitDone,
  OUT UINT64               *StackSize,
  OUT EFI_PHYSICAL_ADDRESS *StackBase
  )

It should be GetStackInfo (BootMode, FALSE, &StackSize, &StackBase);

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: "Yao, Jiewen" <Jiewen.yao@intel.com>
Reviewed-by: "Ma, Maurice" <maurice.ma@intel.com>
Reviewed-by: "Rangarajan, Ravi P" <ravi.p.rangarajan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17850 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoMdeModulePkg: Update UefiBootManagerLib to support HTTP boot option creation
Ruiyu Ni [Tue, 7 Jul 2015 05:43:00 +0000 (05:43 +0000)]
MdeModulePkg: Update UefiBootManagerLib to support HTTP boot option creation

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

5 years agoPcRtc: Fix PcRtcInit() to not clear RegisterB Hour Format bit (BIT1) sometimes
Ruiyu Ni [Tue, 7 Jul 2015 05:41:43 +0000 (05:41 +0000)]
PcRtc: Fix PcRtcInit() to not clear RegisterB Hour Format bit (BIT1) sometimes

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

5 years agoMdeModulePkg:Modify the incorrect DestStr length in safe string functions
Dandan Bi [Tue, 7 Jul 2015 04:37:07 +0000 (04:37 +0000)]
MdeModulePkg:Modify the incorrect DestStr length in safe string functions

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

5 years agoEdkCompatibilityPkg: Remove gZeroGuid def in FrameworkHiiOnUefiHiiThunk
Hao Wu [Tue, 7 Jul 2015 03:05:18 +0000 (03:05 +0000)]
EdkCompatibilityPkg: Remove gZeroGuid def in FrameworkHiiOnUefiHiiThunk

MdeModulePkg has defined gZeroGuid in 'Guid/ZeroGuid.h', therefore, the
gZeroGuid defined in Compatibility/FrameworkHiiOnUefiHiiThunk is
redundent.

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

5 years agoEdkCompatibilityPkg: Remove ZeroGuid definition in Datahub2SmbiosThunk
Hao Wu [Tue, 7 Jul 2015 03:04:47 +0000 (03:04 +0000)]
EdkCompatibilityPkg: Remove ZeroGuid definition in Datahub2SmbiosThunk

MdeModulePkg has defined gZeroGuid in 'Guid/ZeroGuid.h', therefore, the
ZeroGuid defined in
\Compatibility\PiSmbiosRecordOnDataHubSmbiosRecordThunk is redundant.

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

5 years agoSecurityPkg: Remove mZeroGuid definition in DxeTpmMeasureBootLib
Hao Wu [Tue, 7 Jul 2015 03:04:18 +0000 (03:04 +0000)]
SecurityPkg: Remove mZeroGuid definition in DxeTpmMeasureBootLib

MdeModulePkg has defined gZeroGuid in 'Guid/ZeroGuid.h', therefore, the
mZeroGuid defined in DxeTpmMeasureBootLib is redundant.

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

5 years agoSecurityPkg: Remove mTrEEZeroGuid definition in DxeTpm2MeasureBootLib
Hao Wu [Tue, 7 Jul 2015 03:03:49 +0000 (03:03 +0000)]
SecurityPkg: Remove mTrEEZeroGuid definition in DxeTpm2MeasureBootLib

MdeModulePkg has defined gZeroGuid in 'Guid/ZeroGuid.h', therefore, the
mTrEEZeroGuid defined in DxeTpm2MeasureBootLib is redundant.

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

5 years agoNetworkPkg: Remove mZeroGuid definition in IpSecDxe
Hao Wu [Tue, 7 Jul 2015 03:03:21 +0000 (03:03 +0000)]
NetworkPkg: Remove mZeroGuid definition in IpSecDxe

mZeroGuid is defined but not used in IpSecDxe. All the header files in
IpSecDxe which expose mZeroGuid are not included externally as well.

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

5 years agoMdeModulePkg: Use StrnCpyS instead of StrCpyS to indicate the copy length from the...
Qiu Shumin [Tue, 7 Jul 2015 03:01:07 +0000 (03:01 +0000)]
MdeModulePkg: Use StrnCpyS instead of StrCpyS to indicate the copy length from the source.

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

5 years agoMdeModulePkg: Remove mZeroGuid definition in Universal/Variable/RuntimeDxe
Hao Wu [Tue, 7 Jul 2015 02:56:01 +0000 (02:56 +0000)]
MdeModulePkg: Remove mZeroGuid definition in Universal/Variable/RuntimeDxe

MdeModulePkg has defined gZeroGuid in 'Guid/ZeroGuid.h', therefore, the
mZeroGuid defined in Universal/Variable/RuntimeDxe is redundant.

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

5 years agoMdeModulePkg: Remove gZeroGuid definition in SetupBrowserDxe
Hao Wu [Tue, 7 Jul 2015 02:55:34 +0000 (02:55 +0000)]
MdeModulePkg: Remove gZeroGuid definition in SetupBrowserDxe

MdeModulePkg has defined gZeroGuid in 'Guid/ZeroGuid.h', therefore, the
gZeroGuid defined in SetupBrowserDxe is redundant.

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

5 years agoIntelFrameworkModulePkg: Remove gZeroGuid definition in DataHubDxe
Hao Wu [Tue, 7 Jul 2015 02:54:53 +0000 (02:54 +0000)]
IntelFrameworkModulePkg: Remove gZeroGuid definition in DataHubDxe

MdeModulePkg has defined gZeroGuid in 'Guid/ZeroGuid.h', therefore, the
gZeroGuid defined in DataHubDxe is redundant.

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

5 years agoArmVirtPkg: adapt ArmVirtXen build to system memory end global variable
Ard Biesheuvel [Mon, 6 Jul 2015 22:09:02 +0000 (22:09 +0000)]
ArmVirtPkg: adapt ArmVirtXen build to system memory end global variable

This fixes the ArmVirtXen build that was broken by r17835, which adds
a global variable mSystemMemoryEnd which is shared between a module
and a library it depends on.

Add the same global variable to the relocatable PrePi used by ArmVirtXen.

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

5 years agoArmPlatformPkg/ArmVExpressPkg: use 64 KB section alignment for runtime drivers
Ard Biesheuvel [Mon, 6 Jul 2015 17:00:40 +0000 (17:00 +0000)]
ArmPlatformPkg/ArmVExpressPkg: use 64 KB section alignment for runtime drivers

This adds the 64 KB alignment overlay linker script to the linker command
line of DXE_RUNTIME_DRIVER modules built for AARCH64. This makes these
modules compatible with the new Properties Table feature by aligning the
.text and .data sections to 64 KB.

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

5 years agoArmPlatformPkg/PrePi: Make dynamic the top of the System Memory
Olivier Martin [Mon, 6 Jul 2015 16:56:31 +0000 (16:56 +0000)]
ArmPlatformPkg/PrePi: Make dynamic the top of the System Memory

This change allows to change the top of the System Memory that
was hardcoded by:
FixedPcdGet64 (PcdSystemMemoryBase) + FixedPcdGet64 (PcdSystemMemorySize)

It allows to add support when the Trusted Firmware reserves the
top of the System Memory as Trusted. The size of this region
might not be known in advance.

Note: The reason why the start of the System Memory has not been
made dynamic is because the early code calculates where to place
the stack from the top of the System Memory.
So there is no need to make the start of the System Memory a
dynamic value at the early stage of the boot phase.

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

5 years agoArmPlatformPkg/MemoryInitPei: Check if the main System Memory resource has been declared
Olivier Martin [Mon, 6 Jul 2015 16:55:29 +0000 (16:55 +0000)]
ArmPlatformPkg/MemoryInitPei: Check if the main System Memory resource has been declared

The PlatformLib could have declared the resource hob for
the main system memory region.
This change would prevent to get this system memory resource
to be declared twice.

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

5 years agoArmPlatformPkg: Allow PcdFirmwareVersionString to be a dynamic PCD
Samer El-Haj-Mahmoud [Mon, 6 Jul 2015 16:54:26 +0000 (16:54 +0000)]
ArmPlatformPkg: Allow PcdFirmwareVersionString to be a dynamic PCD

PcdFirmwareVersionString is defined in MdeModulePkg to be
either fixed or dynamic, but is restricted in ArmPlatformPkg
drivers to FixedPcd. Changed to remove the FixedPcd
restrictions to allow platforms to chose the correct type
in their DSC files.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17833 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoArmPkg/CpuDxe: Fixed AArch64 MMU
Olivier Martin [Mon, 6 Jul 2015 16:53:37 +0000 (16:53 +0000)]
ArmPkg/CpuDxe: Fixed AArch64 MMU

When the function that determines the size of a contiguous region
was returning from a sub-level table scanning it was forgetting to
move to the next entry of its own level table.

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

5 years agoArmPlatformPkg/ArmVExpress: Fix the CA9x4 and TC2 device tree locations
Olivier Martin [Mon, 6 Jul 2015 16:52:50 +0000 (16:52 +0000)]
ArmPlatformPkg/ArmVExpress: Fix the CA9x4 and TC2 device tree locations

We use the NorFlash file system to read the
Device Tree from.

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

5 years agoArmPlatformPkg/ArmVExpressDxe: Renamed the device tree
Olivier Martin [Mon, 6 Jul 2015 16:51:27 +0000 (16:51 +0000)]
ArmPlatformPkg/ArmVExpressDxe: Renamed the device tree

Filenames cannot be longer than 8-character long on
ARM Versatile Express.
Use the default DTB filenames (the ones provided by
the ARM Versatile Express DVD) for the different Core
Tile.

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

5 years agoArmPlatformPkg/ArmVExpress-CTA15-A7.dsc: Build for TC2 HW by default
Olivier Martin [Mon, 6 Jul 2015 16:50:33 +0000 (16:50 +0000)]
ArmPlatformPkg/ArmVExpress-CTA15-A7.dsc: Build for TC2 HW by default

The A15-A7 FVP model was previously the default build.

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

5 years agoArmPkg/Application: Add new EFI application to boot Linux
Ronald Cron [Mon, 6 Jul 2015 16:49:40 +0000 (16:49 +0000)]
ArmPkg/Application: Add new EFI application to boot Linux

This new application support ATAG and FDT Linux kernel.
It uses the Device Tree from the EFI Configuration Table
to boot FDT aware Linux kernel.

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

5 years agoArmPlatformPkg: Give a name to the FV
Olivier Martin [Mon, 6 Jul 2015 16:45:13 +0000 (16:45 +0000)]
ArmPlatformPkg: Give a name to the FV

By default, a MemoryMap() EFI Device Path is created
for the Firmware Volumes.
It means it is difficult to build a Non-Volatile permanent
Device Path for the Firmware Volume as the location in
System Memory may change.

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

5 years agoArmPlatformPkg/Bds: Restore the setting of the FDT device path in the boot manager
Ronald Cron [Mon, 6 Jul 2015 16:41:36 +0000 (16:41 +0000)]
ArmPlatformPkg/Bds: Restore the setting of the FDT device path in the boot manager

People has requested this feature to be restaured in the
ARM Boot Manager.
The configuration from the EFI Shell is always possible
and it is the recommended approach to update the FDT
Device Path.

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

5 years agoArmVirtPkg: build runtime drivers with 64 KB section alignment
Ard Biesheuvel [Mon, 6 Jul 2015 15:58:00 +0000 (15:58 +0000)]
ArmVirtPkg: build runtime drivers with 64 KB section alignment

This adds the 64 KB alignment overlay linker script to the linker
command line of DXE_RUNTIME_DRIVER modules. This makes these modules
compatible with the new Properties Table feature by aligning the .text
and .data sections to 64 KB.

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

5 years agoBaseTools: AArch64: use explicit linker scripts
Ard Biesheuvel [Mon, 6 Jul 2015 15:57:50 +0000 (15:57 +0000)]
BaseTools: AArch64: use explicit linker scripts

Instead of relying on the builtin linker script of GNU ld, which
may vary based on binutils version (which is not tightly coupled to
the GCC version) and linker command line options, introduce a linker
script for AArch64 to be used by all GCC/binutils versions.

The script is laid out such that two ELF sections .text and .data are
created that map onto the PE/COFF with the same names. By aligning
.data to the minimum alignment of .text, and by not adding any
additional padding -which is what LD's builtin linker script does- the
relative offset between .text and .data is retained after the PE/COFF
conversion. This should prevent problems with debuggers and other
tooling that are ELF based.

Also provided is an overlay linker script that increases the alignment
of .text and .data to 64 KB. This is intended for DXE_RUNTIME_DRIVER
modules, to make them compatible with the newly introduced
Properties Table feature.

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

5 years agoMdePkg: Fix bug in CatVSPrint introduced by r17742.
Heyi Guo [Mon, 6 Jul 2015 06:34:47 +0000 (06:34 +0000)]
MdePkg: Fix bug in CatVSPrint introduced by r17742.

Just use a more conservative way to replace unsafe StrCpy.

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

5 years agoBaseTools/Build: Fix the range expression evaluation error.
Bob Feng [Mon, 6 Jul 2015 00:55:15 +0000 (00:55 +0000)]
BaseTools/Build: Fix the range expression evaluation error.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Bob Feng" <bob.c.feng@intel.com>
Reviewed-by: "Chen, Hesheng" <hesheng.chen@intel.com>
Reviewed-by: "Liu, Yingke D" <yingke.d.liu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17822 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoShellPkg: Fix bug introduced by r17730.
Heyi Guo [Sat, 4 Jul 2015 02:26:54 +0000 (02:26 +0000)]
ShellPkg: Fix bug introduced by r17730.

CurrentFilePattern is only part of FilePattern and will be less than or equal to FilePattern. If we use StrCpyS to replace StrnCpy, it will cause assert when FilePattern is longer.
The bug can be replayed when we cd to one directory and run ls command.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17821 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoSecurityPkg: Calculate the length of the String.
Zhang Lubo [Fri, 3 Jul 2015 07:27:31 +0000 (07:27 +0000)]
SecurityPkg: Calculate the length of the String.

When the two concatenated strings are both not null, the total length in bytes of them should calculate the character '\0' once.

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

5 years agoSourceLevelDebugPkg: Fix PEI debug timer regression
Brian J. Johnson [Fri, 3 Jul 2015 02:29:01 +0000 (02:29 +0000)]
SourceLevelDebugPkg: Fix PEI debug timer regression

Recent changes to debug timer handling ended up leaving the timer disabled in
PEI.  This made it impossible to stop execution in PEI externally via the
debugger.  Enable the timer when InitializeDebugAgent calls
InitializeDebugAgentPhase2, as well as when it returns directly.

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

5 years agoMdeModulePkg: Refine code to make it more readable.
Qiu Shumin [Fri, 3 Jul 2015 01:39:06 +0000 (01:39 +0000)]
MdeModulePkg: Refine code to make it more readable.

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

5 years agoMaintainers.txt: Added co-maintainer for MdePkg/IntelFrameworkPkg/ShellPkg
Hot Tian [Fri, 3 Jul 2015 01:32:04 +0000 (01:32 +0000)]
Maintainers.txt: Added co-maintainer for MdePkg/IntelFrameworkPkg/ShellPkg

Liming Gao a co-maintainer for the MdePkg
Jeff Fan a co-maintainer for the IntelFrameworkPkg
Shumin Qiu a co-maintainer for the ShellPkg.

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

5 years agoShellPkg: fix string to number conversion with "0 "
Jaben Carsey [Thu, 2 Jul 2015 17:26:42 +0000 (17:26 +0000)]
ShellPkg: fix string to number conversion with "0 "

also fixes a few out of date comments.

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: Qiu Shumin <shumin.qiu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17816 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoMdeModulePkg: Correct AuthVaribleLib to AuthVariableLib in LibraryClass path
Star Zeng [Thu, 2 Jul 2015 10:06:52 +0000 (10:06 +0000)]
MdeModulePkg: Correct AuthVaribleLib to AuthVariableLib in LibraryClass path

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

5 years agoMdeModulePkg: Fix EBC build failure
Star Zeng [Thu, 2 Jul 2015 10:06:32 +0000 (10:06 +0000)]
MdeModulePkg: Fix EBC build failure

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

5 years agoMdeModulePkg: Merge GCD range before convert it to EFI memory
Liming Gao [Thu, 2 Jul 2015 07:48:48 +0000 (07:48 +0000)]
MdeModulePkg: Merge GCD range before convert it to EFI memory

GCD Range is byte address. EFI memory range is page address. To make sure
GCD range is converted to EFI memory range, the following things are added:
1. Merge adjacent GCD range first.
2. Add ASSERT check on GCD range alignment.

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

5 years agoMdeModulePkg: enforce arch-specific alignment for split regions
Ard Biesheuvel [Thu, 2 Jul 2015 07:32:56 +0000 (07:32 +0000)]
MdeModulePkg: enforce arch-specific alignment for split regions

The splitting of memory regions into code and data regions violates
architecture specific alignment rules by using a fixed alignment
of 4 KB. Replace it with EFI_ACPI_RUNTIME_PAGE_ALLOCATION_ALIGNMENT,
which is defined appropriately on each architecture.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: "Jaben Carsey" <jaben.carsey@intel.com>
Reviewed-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17812 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoMdeModulePkg: move arch-specific allocation granularity defines to DxeMain.h
Ard Biesheuvel [Thu, 2 Jul 2015 07:32:44 +0000 (07:32 +0000)]
MdeModulePkg: move arch-specific allocation granularity defines to DxeMain.h

Move the definitions of EFI_ACPI_RUNTIME_PAGE_ALLOCATION_ALIGNMENT and
DEFAULT_PAGE_ALLOCATION to DxeMain.h to make them available explicitly
to all parts of DxeCore.

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

5 years agoMdeModulePkg: rename PropertiesTableEnable to PcdPropertiesTableEnable
Ard Biesheuvel [Thu, 2 Jul 2015 07:32:33 +0000 (07:32 +0000)]
MdeModulePkg: rename PropertiesTableEnable to PcdPropertiesTableEnable

PCD names should start with 'Pcd' so rename PropertiesTableEnable
to PcdPropertiesTableEnable.

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

5 years agoMdeModulePkg: make internal functions STATIC in Core/Dxe/Misc/PropertiesTable.c
Ard Biesheuvel [Thu, 2 Jul 2015 07:32:22 +0000 (07:32 +0000)]
MdeModulePkg: make internal functions STATIC in Core/Dxe/Misc/PropertiesTable.c

Add STATIC to functions that are only used internally.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: "Jaben Carsey" <jaben.carsey@intel.com>
Reviewed-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17809 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoMdeModulePkg: remove unused functions from Core/Dxe/Misc/PropertiesTable.c
Ard Biesheuvel [Thu, 2 Jul 2015 07:32:10 +0000 (07:32 +0000)]
MdeModulePkg: remove unused functions from Core/Dxe/Misc/PropertiesTable.c

This removes the functions RevertRuntimeMemoryMap () and
DumpMemoryMap () which are not referenced anywhere in the code.

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

5 years agoRevert tree to r17801
Jordan Justen [Thu, 2 Jul 2015 07:23:33 +0000 (07:23 +0000)]
Revert tree to r17801

Revert r17802 "BaseTools: AArch64: use explicit linker scripts"
Revert r17803 "ArmVirtPkg: build runtime drivers with 64 KB section alignment"
Revert r17804 "IntelFrameworkModulePkg: AcpiS3SaveDxe: prepare for End-of-Dxe callback"
Revert r17805 "IntelFrameworkModulePkg: AcpiS3SaveDxe: call S3Ready() at End-of-Dxe"
Revert r17806 "OvmfPkg: AcpiS3SaveDxe: prepare for End-of-Dxe callback"

Requested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17807 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoOvmfPkg: AcpiS3SaveDxe: prepare for End-of-Dxe callback
Laszlo Ersek [Thu, 2 Jul 2015 06:36:38 +0000 (06:36 +0000)]
OvmfPkg: AcpiS3SaveDxe: prepare for End-of-Dxe callback

We are preparing for detaching the S3Ready() functionality from the
EFI_ACPI_S3_SAVE_PROTOCOL.S3Save() protocol member function. Instead, we
will hook the same logic to the End-of-Dxe event group.

The EFI_ACPI_S3_SAVE_PROTOCOL has another member: GetLegacyMemorySize().
According to the documenation,

  This function returns the size of the legacy memory (meaning below 1 MB)
  that is required during an S3 resume. Before the Framework-based
  firmware transfers control to the OS, it has to transition from flat
  mode into real mode in case the OS supplies only a real-mode waking
  vector. This transition requires a certain amount of legacy memory.
  After getting the size of legacy memory below, the caller is responsible
  for allocating the legacy memory below 1 MB according to the size that
  is returned. The specific implementation of allocating the legacy memory
  is out of the scope of this specification.

When EFI_ACPI_S3_SAVE_PROTOCOL.S3Save() is called, the address of the
legacy memory allocated above must be passed to it, in the
LegacyMemoryAddress parameter.

In practice however:

- The S3Ready() function ignores the LegacyMemoryAddress completely.

- No code in the edk2 tree calls
  EFI_ACPI_S3_SAVE_PROTOCOL.GetLegacyMemorySize(), ever.

- All callers of this specific implementation of
  EFI_ACPI_S3_SAVE_PROTOCOL.S3Save() in the edk2 tree pass a NULL
  LegacyMemoryAddress:

  BdsLibBootViaBootOption()
  [IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c]

For this reason, ASSERT() explicitly that LegacyGetS3MemorySize() is never
called, and that the LegacyMemoryAddress parameter is always NULL.

This fact is important to capture in the code, because in the End-of-Dxe
callback, no LegacyMemoryAddress parameter can be taken. So let's make it
clear that we actually don't even have any use for that parameter.

This patch ports the identical change from IntelFrameworkModulePkg to
OvmfPkg.

Cc: Jordan Justen <jordan.l.justen@intel.com>
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@17806 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoIntelFrameworkModulePkg: AcpiS3SaveDxe: call S3Ready() at End-of-Dxe
Laszlo Ersek [Thu, 2 Jul 2015 06:36:29 +0000 (06:36 +0000)]
IntelFrameworkModulePkg: AcpiS3SaveDxe: call S3Ready() at End-of-Dxe

Call S3Ready() whenever the first of the following occurs:
- a driver signals End-of-Dxe,
- a driver calls EFI_ACPI_S3_SAVE_PROTOCOL.S3Save().

S3Ready() already contains a static, function scope "latch" that causes it
to exit early when called for the second time or later.

(At the moment, the only platform in the edk2 tree that includes this
driver is Vlv2TbltDevicePkg. That platform does not signal End-of-Dxe
(yet).)

http://thread.gmane.org/gmane.comp.bios.tianocore.devel/16088/focus=16146
Suggested-by: Yao Jiewen <jiewen.yao@intel.com>
Cc: Yao Jiewen <jiewen.yao@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Cc: David Wei <david.wei@intel.com>
Cc: Tim He <tim.he@intel.com>
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@17805 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoIntelFrameworkModulePkg: AcpiS3SaveDxe: prepare for End-of-Dxe callback
Laszlo Ersek [Thu, 2 Jul 2015 06:36:19 +0000 (06:36 +0000)]
IntelFrameworkModulePkg: AcpiS3SaveDxe: prepare for End-of-Dxe callback

We are preparing for detaching the S3Ready() functionality from the
EFI_ACPI_S3_SAVE_PROTOCOL.S3Save() protocol member function. Instead, we
will hook the same logic to the End-of-Dxe event group.

The EFI_ACPI_S3_SAVE_PROTOCOL has another member: GetLegacyMemorySize().
According to the documenation,

  This function returns the size of the legacy memory (meaning below 1 MB)
  that is required during an S3 resume. Before the Framework-based
  firmware transfers control to the OS, it has to transition from flat
  mode into real mode in case the OS supplies only a real-mode waking
  vector. This transition requires a certain amount of legacy memory.
  After getting the size of legacy memory below, the caller is responsible
  for allocating the legacy memory below 1 MB according to the size that
  is returned. The specific implementation of allocating the legacy memory
  is out of the scope of this specification.

When EFI_ACPI_S3_SAVE_PROTOCOL.S3Save() is called, the address of the
legacy memory allocated above must be passed to it, in the
LegacyMemoryAddress parameter.

In practice however:

- The S3Ready() function ignores the LegacyMemoryAddress completely.

- No code in the edk2 tree calls
  EFI_ACPI_S3_SAVE_PROTOCOL.GetLegacyMemorySize(), ever.

- All callers of EFI_ACPI_S3_SAVE_PROTOCOL.S3Save() in the edk2 tree pass
  a NULL LegacyMemoryAddress:

  BdsLibBootViaBootOption()
  [IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c]

  OnReadyToBoot()
  [Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c]

  InstallReadyToLock()
  [Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c]

  BdsLibBootViaBootOption()
  [Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c]

For this reason, ASSERT() explicitly that LegacyGetS3MemorySize() is never
called, and that the LegacyMemoryAddress parameter is always NULL.

This fact is important to capture in the code, because in the End-of-Dxe
callback, no LegacyMemoryAddress parameter can be taken. So let's make it
clear that we actually don't even have any use for that parameter.

Cc: Yao Jiewen <jiewen.yao@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Cc: David Wei <david.wei@intel.com>
Cc: Tim He <tim.he@intel.com>
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@17804 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoArmVirtPkg: build runtime drivers with 64 KB section alignment
Ard Biesheuvel [Thu, 2 Jul 2015 06:36:10 +0000 (06:36 +0000)]
ArmVirtPkg: build runtime drivers with 64 KB section alignment

This adds the 64 KB alignment overlay linker script to the linker
command line of DXE_RUNTIME_DRIVER modules. This makes these modules
compatible with the new Properties Table feature by aligning the .text
and .data sections to 64 KB.

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

5 years agoBaseTools: AArch64: use explicit linker scripts
Ard Biesheuvel [Thu, 2 Jul 2015 06:36:00 +0000 (06:36 +0000)]
BaseTools: AArch64: use explicit linker scripts

Instead of relying on the builtin linker script of GNU ld, which
may vary based on binutils version (which is not tightly coupled to
the GCC version) and linker command line options, introduce a linker
script for AArch64 to be used by all GCC/binutils versions.

The script is laid out such that two ELF sections .text and .data are
created that map onto the PE/COFF with the same names. By aligning
.data to the minimum alignment of .text, and by not adding any
additional padding -which is what LD's builtin linker script does- the
relative offset between .text and .data is retained after the PE/COFF
conversion. This should prevent problems with debuggers and other
tooling that are ELF based.

Also provided is an overlay linker script that increases the alignment
of .text and .data to 64 KB. This is intended for DXE_RUNTIME_DRIVER
modules, to make them compatible with the newly introduced
Properties Table feature.

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

5 years agoBaseTools/Ecc: Fix a bug when checking copyright format
Hess Chen [Thu, 2 Jul 2015 06:05:26 +0000 (06:05 +0000)]
BaseTools/Ecc: Fix a bug when checking copyright format

Fix a bug to only checking the copyright listed in config.ini file.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: YangX Li <yangx.li@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17801 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoBaseTools/Ecc: Fix a bug to get correct member variable
Hess Chen [Thu, 2 Jul 2015 06:02:42 +0000 (06:02 +0000)]
BaseTools/Ecc: Fix a bug to get correct member variable

Fix a bug to get correct member variable by ignoring 'OPTIONAL' modifier

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: YangX Li <yangx.li@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17800 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoMdeModulePkg: Update DxeCore to handle LoadFile DevicePath
Liming Gao [Thu, 2 Jul 2015 04:28:21 +0000 (04:28 +0000)]
MdeModulePkg: Update DxeCore to handle LoadFile DevicePath

UEFI Spec HTTP Boot Device Path, after retrieving the boot resource
information, the BootURI device path node will be updated to include
the BootURI information. It means the device path on the child handle
will be updated after the LoadFile() service is called.

To handle this case, DxeCore LoadImage() service is updated as the below:
1) Get Device handle based on Device Path
2) Call LoadFile() service (GetFileBufferByFilePath() API) to get Load File Buffer.
3) Retrieve DevicePath from Device handle

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

5 years agoMdeModulePkg: UefiBootManagerLib to handle LoadFile DevicePath
Liming Gao [Thu, 2 Jul 2015 04:27:54 +0000 (04:27 +0000)]
MdeModulePkg: UefiBootManagerLib to handle LoadFile DevicePath

UEFI Spec HTTP Boot Device Path, after retrieving the boot resource
information, the BootURI device path node will be updated to include
the BootURI information. It means the device path on the child handle
will be updated after the LoadFile() service is called.

To handle this case, UefiBootManagerLib BmGetLoadOptionBuffer API
is updated as the below:
1) Get Device handle based on Device Path
2) Call LoadFile() service (GetFileBufferByFilePath() API) to get Load File Buffer.
3) Retrieve DevicePath from Device handle

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

5 years agoMdeModulePkg: SecurityManagementLib to handle LoadFile DevicePath
Liming Gao [Thu, 2 Jul 2015 04:27:32 +0000 (04:27 +0000)]
MdeModulePkg: SecurityManagementLib to handle LoadFile DevicePath

UEFI Spec HTTP Boot Device Path, after retrieving the boot resource
information, the BootURI device path node will be updated to include
the BootURI information. It means the device path on the child handle
will be updated after the LoadFile() service is called.

To handle this case, SecurityManagementLib ExecuteSecurityHandlers API
is updated as the below:
1) Get Device handle based on Device Path
2) Call LoadFile() service (GetFileBufferByFilePath() API) to get Load File Buffer.
3) Retrieve DevicePath from Device handle

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

5 years agoBaseTools: Fixed BuildOptions bug.
Yingke Liu [Thu, 2 Jul 2015 03:42:34 +0000 (03:42 +0000)]
BaseTools: Fixed BuildOptions bug.

The BuildOptions in an INF should also follow override rule: If '==' is used, all previous options are overridden.

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

5 years agoShellPkg: Refine the code logic of StrnCatGrow.
Qiu Shumin [Thu, 2 Jul 2015 01:12:03 +0000 (01:12 +0000)]
ShellPkg: Refine the code logic of StrnCatGrow.

In order to indicate the catena length use StrnCatS instead of StrCatS to generate Destination string, and update the DestMax of Destination string.

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

5 years agoMdeModulePkg Variable: Minor enhancement to VarCheck
Star Zeng [Thu, 2 Jul 2015 00:50:42 +0000 (00:50 +0000)]
MdeModulePkg Variable: Minor enhancement to VarCheck

1. When Property->Attributes == 0, don't check input Attributes.
2. Enhance comments to be indent aligned and debug message
to be aligned with other messages.

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

5 years agoMdePkg: Add P2P Bridge Secondary Latency Timer register definition
Samer El-Haj-Mahmoud [Wed, 1 Jul 2015 15:21:35 +0000 (15:21 +0000)]
MdePkg: Add P2P Bridge Secondary Latency Timer register definition

Add P2P Bridge Secondary Latency Timer register definition to Pci22.h

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17793 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoBaseTools: Add missing EfiPersistentMemory to EFI_MEMORY_TYPE
Samer El-Haj-Mahmoud [Wed, 1 Jul 2015 15:21:03 +0000 (15:21 +0000)]
BaseTools: Add missing EfiPersistentMemory to EFI_MEMORY_TYPE

To sync with the EFI_MEMROYT_TYPE definition in MdePkg

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17792 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoCorebootModulePkg: Get power management register addresses.
Guo Dong [Wed, 1 Jul 2015 09:41:58 +0000 (09:41 +0000)]
CorebootModulePkg: Get power management register addresses.

This patch will get power management event register address and power management GPE enable register address.
Add missing code in CbParseLib.c.

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

5 years agoFixed a couple of typos of 'Configuration' ('Congfiguration') in Vlv2TbltDevicePkg.
Bruce Cran [Wed, 1 Jul 2015 08:45:46 +0000 (08:45 +0000)]
Fixed a couple of typos of 'Configuration' ('Congfiguration') in Vlv2TbltDevicePkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bruce Cran <bruce.cran@gmail.com>
Reviewed-by: Shifei Lu <shifeix.a.lu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17790 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoMdeModulePkg/Universal/Variable: Use safe string functions to refine code.
Qiu Shumin [Wed, 1 Jul 2015 08:34:22 +0000 (08:34 +0000)]
MdeModulePkg/Universal/Variable: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Universal/SmbiosDxe: Use safe string functions to refine code.
Qiu Shumin [Wed, 1 Jul 2015 08:32:29 +0000 (08:32 +0000)]
MdeModulePkg/Universal/SmbiosDxe: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Universal/PlatformDriOverrideDxe: Use safe string functions to refine...
Qiu Shumin [Wed, 1 Jul 2015 08:28:13 +0000 (08:28 +0000)]
MdeModulePkg/Universal/PlatformDriOverrideDxe: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Universal/PCD: Use safe string functions to refine code.
Qiu Shumin [Wed, 1 Jul 2015 08:27:03 +0000 (08:27 +0000)]
MdeModulePkg/Universal/PCD: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Universal/FvSimpleFileSystemDxe: Use safe string functions to refine...
Qiu Shumin [Wed, 1 Jul 2015 08:25:33 +0000 (08:25 +0000)]
MdeModulePkg/Universal/FvSimpleFileSystemDxe: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Universal/CapsuleRuntimeDxe: Use safe string functions to refine code.
Qiu Shumin [Wed, 1 Jul 2015 08:23:30 +0000 (08:23 +0000)]
MdeModulePkg/Universal/CapsuleRuntimeDxe: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Universal/CapsulePei: Use safe string functions to refine code.
Qiu Shumin [Wed, 1 Jul 2015 08:22:31 +0000 (08:22 +0000)]
MdeModulePkg/Universal/CapsulePei: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Library/UefiBootManagerLib: Use safe string functions to refine code.
Qiu Shumin [Wed, 1 Jul 2015 08:21:16 +0000 (08:21 +0000)]
MdeModulePkg/Library/UefiBootManagerLib: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Library/SmmCorePerformanceLib: Use safe string functions to refine code.
Qiu Shumin [Wed, 1 Jul 2015 08:19:56 +0000 (08:19 +0000)]
MdeModulePkg/Library/SmmCorePerformanceLib: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Library/PeiPerformanceLib: Use safe string functions to refine code.
Qiu Shumin [Wed, 1 Jul 2015 08:15:27 +0000 (08:15 +0000)]
MdeModulePkg/Library/PeiPerformanceLib: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Library/PeiDxeDebugLibReportStatusCode: Use safe string functions to...
Qiu Shumin [Wed, 1 Jul 2015 08:14:36 +0000 (08:14 +0000)]
MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Library/DxeCorePerformanceLib: Use safe string functions to refine code.
Qiu Shumin [Wed, 1 Jul 2015 08:05:00 +0000 (08:05 +0000)]
MdeModulePkg/Library/DxeCorePerformanceLib: Use safe string functions to refine code.

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

5 years agoMdeModulePkg/Application/MemoryProfileInfo: Use safe string functions to refine code.
Qiu Shumin [Wed, 1 Jul 2015 08:03:50 +0000 (08:03 +0000)]
MdeModulePkg/Application/MemoryProfileInfo: Use safe string functions to refine code.

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

5 years agoSecurityPkg: Delete empty directory after R17772.
Star Zeng [Wed, 1 Jul 2015 06:48:57 +0000 (06:48 +0000)]
SecurityPkg: Delete empty directory after R17772.

Delete directory
SecurityPkg/VariableAuthenticated/Pei
SecurityPkg/VariableAuthenticated/RuntimeDxe

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

5 years agoBaseTools: Checked return value of malloc for EfiCompress.
Yingke Liu [Wed, 1 Jul 2015 05:16:46 +0000 (05:16 +0000)]
BaseTools: Checked return value of malloc for EfiCompress.

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

5 years agoBaseTools: Do not create an empty file if Rsa2048Sha256Sign was failed.
Yingke Liu [Wed, 1 Jul 2015 05:14:28 +0000 (05:14 +0000)]
BaseTools: Do not create an empty file if Rsa2048Sha256Sign was failed.

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

5 years agoNetworkPkg: Remove unused variables from IpSecDxe to fix GCC build.
Samer El-Haj-Mahmoud [Wed, 1 Jul 2015 03:35:32 +0000 (03:35 +0000)]
NetworkPkg: Remove unused variables from IpSecDxe to fix GCC build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17773 6f19259b-4bc3-4df7-8a09-765794883524

5 years agoSecurityPkg: Delete Auth Variable driver
Star Zeng [Wed, 1 Jul 2015 03:13:02 +0000 (03:13 +0000)]
SecurityPkg: Delete Auth Variable driver

1. Delete TpmMeasurementLib LibraryClass from SecurityPkg after it moved to MdeModulePkg.
2. Update DxeTpmMeasurementLib.inf to include MdeModulePkg.dec.
3. Delete authenticated variable definition from AuthenticatedVariableFormat.h after
them moved to VariableFormat.h.
4. Replace VARIABLE_HEADER with AUTHENTICATED_VARIABLE_HEADER in EsalVariableDxeSal.
5. Delete VariableInfo from SecurityPkg after it merged to VariableInfo in MdeModulePkg.
6. Delete VariablePei from SecurityPkg after it merged to VariablePei in MdeModulePkg.
7. Delete Auth Variable driver from SecurityPkg after it merged to Variable driver in
MdeModulePkg.
8. Also update PACKAGE_GUID and PACKAGE_VERSION in SecurityPkg.dec after the deletion
of authenticated variable definition, VariableInfo, VariablePei and Auth Variable
driver from SecurityPkg; update PLATFORM_VERSION in SecurityPkg.dsc.

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

5 years agoVlv2TbltDevicePkg: Use the merged Variable driver
Star Zeng [Wed, 1 Jul 2015 03:11:45 +0000 (03:11 +0000)]
Vlv2TbltDevicePkg: Use the merged Variable driver

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

5 years agoArmVirtPkg: Use the merged Variable driver
Star Zeng [Wed, 1 Jul 2015 03:11:05 +0000 (03:11 +0000)]
ArmVirtPkg: Use the merged Variable driver

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

5 years agoArmVirtPkg: Cleanup redundant library class resolution of Variable modules
Star Zeng [Wed, 1 Jul 2015 03:10:27 +0000 (03:10 +0000)]
ArmVirtPkg: Cleanup redundant library class resolution of Variable modules

SecurityPkg/VariableAuthenticated/Pei/VariablePei.inf doesn't consume
BaseCryptLib directly or indirectly, cleanup it.
  SecurityPkg/VariableAuthenticated/Pei/VariablePei.inf {
    <LibraryClasses>
      BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
  }

BaseCryptLib has been declared at [LibraryClasses.common.DXE_RUNTIME_DRIVER]
section in ArmVirt.dsc.inc.
OpensslLib has been declared at [LibraryClasses.common]
section in ArmVirt.dsc.inc.
So cleanup them.
  SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf {
    <LibraryClasses>
      BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
      OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
  }

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

5 years agoArmPlatformPkg: Use the merged Variable driver
Star Zeng [Wed, 1 Jul 2015 03:10:01 +0000 (03:10 +0000)]
ArmPlatformPkg: Use the merged Variable driver

Remove gVariableAuthenticatedRuntimeDxeFileGuid definition in
ArmPlatformPkg.dec and use gVariableRuntimeDxeFileGuid in
NorFlashAuthenticatedDxe.inf as auth Variable driver in SecurityPkg
and Variable driver in MdeModulePkg have been merged.

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

5 years agoOvmfPkg: Use the merged Variable driver
Star Zeng [Wed, 1 Jul 2015 03:09:30 +0000 (03:09 +0000)]
OvmfPkg: Use the merged Variable driver

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

5 years agoNt32Pkg: Use the merged Variable driver
Star Zeng [Wed, 1 Jul 2015 03:09:00 +0000 (03:09 +0000)]
Nt32Pkg: Use the merged Variable driver

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

5 years agoMdeModulePkg Variable: Merge from Auth Variable driver in SecurityPkg
Star Zeng [Wed, 1 Jul 2015 03:08:29 +0000 (03:08 +0000)]
MdeModulePkg Variable: Merge from Auth Variable driver in SecurityPkg

What to do:
1. Merge from Auth Variable driver in SecurityPkg to Variable drive in
MdeModulePkg. Then the merged Variable driver in MdeModulePkg will
link to AuthVariableLib and TpmMeasurementLib.
AuthVariableLibNull and TpmMeasurementLibNull in MdeModulePkg
could be used for non auth variable support.
AuthVariableLib and DxeTpmMeasurementLib in SecurityPkg
may be used for auth variable support.

Why to do:
1. Remove code duplication and reduce maintenance effort.
After auth variable service separated from Auth Variable driver in SecurityPkg
to AuthVariableLib. The remaining code logic of Auth Variable driver in SecurityPkg
will be almost same with Variable driver in MdeModulePkg. Now it is to
merge them.

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

5 years agoVlv2TbltDevicePkg: Link AuthVariableLib for following merged variable driver deploy
Star Zeng [Wed, 1 Jul 2015 03:07:27 +0000 (03:07 +0000)]
Vlv2TbltDevicePkg: Link AuthVariableLib for following merged variable driver deploy

AuthVariableLib and TpmMeasurementLib library classes are now linked with
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
to optionally support secure variables.

For Vlv2TbltDevicePkg,
link AuthVariableLib and DxeTpmMeasurementLib in SecurityPkg
when SECURE_BOOT_ENABLE = TRUE,
and link AuthVariableLibNull and TpmMeasurementLibNull in MdeModulePkg
when SECURE_BOOT_ENABLE = FALSE.

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

5 years agoArmVirtPkg: Link AuthVariableLib for following merged variable driver deploy
Star Zeng [Wed, 1 Jul 2015 03:07:02 +0000 (03:07 +0000)]
ArmVirtPkg: Link AuthVariableLib for following merged variable driver deploy

AuthVariableLib and TpmMeasurementLib library classes are now linked with
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
to optionally support secure variables.

For ArmVirtPkg,
link AuthVariableLib and DxeTpmMeasurementLib in SecurityPkg
when SECURE_BOOT_ENABLE = TRUE,
and link AuthVariableLibNull and TpmMeasurementLibNull in MdeModulePkg
when SECURE_BOOT_ENABLE = FALSE.

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

5 years agoArmPlatformPkg: Add TpmMeasurementLib and AuthVariableLib library mapping
Star Zeng [Wed, 1 Jul 2015 03:06:39 +0000 (03:06 +0000)]
ArmPlatformPkg: Add TpmMeasurementLib and AuthVariableLib library mapping

These library classes are now linked with
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
to optionally support secure variables.

For ArmPlatformPkg, secure boot is not currently enabled,
so we map these libraries to the NULL versions that don't support secure variables.

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

5 years agoEmulatorPkg: Add TpmMeasurementLib and AuthVariableLib library mapping
Star Zeng [Wed, 1 Jul 2015 03:06:09 +0000 (03:06 +0000)]
EmulatorPkg: Add TpmMeasurementLib and AuthVariableLib library mapping

These library classes are now linked with
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
to optionally support secure variables.

For EmulatorPkg, secure boot is not currently enabled,
so we map these libraries to the NULL versions that don't support secure variables.

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

5 years agoOvmfPkg: Link AuthVariableLib for following merged variable driver deploy
Star Zeng [Wed, 1 Jul 2015 03:05:47 +0000 (03:05 +0000)]
OvmfPkg: Link AuthVariableLib for following merged variable driver deploy

AuthVariableLib and TpmMeasurementLib library classes are now linked with
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
to optionally support secure variables.

For OvmfPkg,
link AuthVariableLib and DxeTpmMeasurementLib in SecurityPkg
when SECURE_BOOT_ENABLE = TRUE,
and link AuthVariableLibNull and TpmMeasurementLibNull in MdeModulePkg
when SECURE_BOOT_ENABLE = FALSE.

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

5 years agoNt32Pkg: Link AuthVariableLib for following merged variable driver deploy
Star Zeng [Wed, 1 Jul 2015 03:05:22 +0000 (03:05 +0000)]
Nt32Pkg: Link AuthVariableLib for following merged variable driver deploy

AuthVariableLib and TpmMeasurementLib library classes are now linked with
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
to optionally support secure variables.

For Nt32Pkg,
link AuthVariableLib and DxeTpmMeasurementLib in SecurityPkg
when SECURE_BOOT_ENABLE = TRUE,
and link AuthVariableLibNull and TpmMeasurementLibNull in MdeModulePkg
when SECURE_BOOT_ENABLE = FALSE.

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

5 years agoSecurityPkg: Implement AuthVariableLib library instance
Star Zeng [Wed, 1 Jul 2015 03:04:59 +0000 (03:04 +0000)]
SecurityPkg: Implement AuthVariableLib library instance

What to do:
1. Implement AuthVariableLib library instance.
2. Temporarily add VARIABLE_ENTRY_CONSISTENCY and
variable attribute combinations definitions to
AuthenticatedVariableFormat.h for git bisect.

Why to do:
1. Share code.
Separate auth variable service from Auth Variable driver in
SecurityPkg to AuthVariableLib. Then the AuthVariableLib could benefit
and be used by different implementation of Auth Variable drivers.

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

5 years agoMdeModulePkg: Add AuthVariableLib LibraryClass
Star Zeng [Wed, 1 Jul 2015 03:04:18 +0000 (03:04 +0000)]
MdeModulePkg: Add AuthVariableLib LibraryClass

What to do:
1. Add AuthVariableLib LibraryClass definitions.
2. Implement a NULL AuthVariableLib library instance.
3. Add VARIABLE_ENTRY_PROPERTY definition to VarCheck.h.
4. Add VARIABLE_ENTRY_CONSISTENCY and variable attribute
combinations definitions to VariableFormat.h.

Why to do:
1. Share code.
1.1. Separate auth variable service from Auth Variable driver in
SecurityPkg to AuthVariableLib. Then the AuthVariableLib could benefit
and be used by different implementation of Auth Variable drivers.

1.2 The VARIABLE_ENTRY_PROPERTY definition to VarCheck.h,
VARIABLE_ENTRY_CONSISTENCY and variable attribute
combinations definitions to VariableFormat.h will be shared
by merged Variable driver and AuthVariableLib.

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

5 years agoMdeModulePkg VariablePei: Merge from VariablePei in SecurityPkg
Star Zeng [Wed, 1 Jul 2015 03:03:26 +0000 (03:03 +0000)]
MdeModulePkg VariablePei: Merge from VariablePei in SecurityPkg

What to do:
1. Merge from VariablePei in SecurityPkg to VariablePei in MdeModulePkg.

Why to do:
1. Remove code duplication and reduce maintenance effort.
The code logic of VariablePei in SecurityPkg is same with VariablePei
in MdeModulePkg.

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

5 years agoMdeModulePkg VariableInfo: Merge from VariableInfo in SecurityPkg
Star Zeng [Wed, 1 Jul 2015 03:02:45 +0000 (03:02 +0000)]
MdeModulePkg VariableInfo: Merge from VariableInfo in SecurityPkg

What to do:
1. Merge VariableInfo in SecurityPkg to VariableInfo in MdeModulePkg.

Why to do:
1. Remove code duplication and reduce maintenance effort.
The functionality of VariableInfo in SecurityPkg has covered VariableInfo
in MdeModulePkg.

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

5 years agoMdeModulePkg: Move authenticated variable definition from SecurityPkg
Star Zeng [Wed, 1 Jul 2015 03:02:08 +0000 (03:02 +0000)]
MdeModulePkg: Move authenticated variable definition from SecurityPkg

What to do:
1. Move authenticated variable definition from AuthenticatedVariableFormat.h
to VariableFormat.h with gEfiAuthenticatedVariableGuid and
AUTHENTICATED_VARIABLE_HEADER.

Why to do:
1. Share code.
We are moving forward to separate auth variable service from Auth Variable
driver in SecurityPkg to AuthVariableLib. Then the AuthVariableLib could benefit
and be used by different implementation of Auth Variable drivers.
2. Remove code duplication and reduce maintenance effort.
After auth variable service separated from Auth Variable driver in SecurityPkg
to AuthVariableLib. The remaining code logic of Auth Variable driver in SecurityPkg
will be almost same with Variable driver in MdeModulePkg. We are going to
merge them.
3. gEfiAuthenticatedVariableGuid will be used by both merged Variable driver
and AuthVariableLib, AUTHENTICATED_VARIABLE_HEADER will be used by
merged Variable driver.

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

5 years agoMdeModulePkg: Move TpmMeasurementLib LibraryClass from SecurityPkg
Star Zeng [Wed, 1 Jul 2015 03:01:34 +0000 (03:01 +0000)]
MdeModulePkg: Move TpmMeasurementLib LibraryClass from SecurityPkg

What to do:
1. Move TpmMeasurementLib LibraryClass from SecurityPkg to MdeModulePkg.
2. Implement a NULL TpmMeasurementLib library instance.

Why to do:
1. Share code.
We are moving forward to separate auth variable service from Auth Variable
driver in SecurityPkg to AuthVariableLib. Then the AuthVariableLib could benefit
and be used by different implementation of Auth Variable drivers.
2. Remove code duplication and reduce maintenance effort.
After auth variable service separated from Auth Variable driver in SecurityPkg
to AuthVariableLib. The remaining code logic of Auth Variable driver in SecurityPkg
will be almost same with Variable driver in MdeModulePkg. We are going to
merge them.
3. TpmMeasurementLib is consumed by Auth Variable driver in SecurityPkg now,
as Auth Variable driver in SecurityPkg will be merged to Variable driver in
MdeModulePkg, so the library class also needs to be moved to MdeModulePkg.

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

5 years agoMdeModulePkg PlatDriOverrideDxe: Remove unneeded VARIABLE_HEADER reference
Star Zeng [Wed, 1 Jul 2015 02:51:41 +0000 (02:51 +0000)]
MdeModulePkg PlatDriOverrideDxe: Remove unneeded VARIABLE_HEADER reference

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

5 years agoNetworkPkg: Add IPv6 DUID configuration support using platform PCD.
Samer El-Haj-Mahmoud [Wed, 1 Jul 2015 02:17:07 +0000 (02:17 +0000)]
NetworkPkg: Add IPv6 DUID configuration support using platform PCD.

The code today always uses DUID-UUID unless there is an error in reading the UUID,
which results in falling through to DUID-LLT. This change allows the platform to
 control the DUID method (DUID-UUID or DUID-LLT) using a platform dynamic PCD.

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