mirror_edk2.git
6 years agoMdeModulePkg: Fix potential integer overflow issue
Ruiyu Ni [Fri, 10 Jul 2015 02:16:42 +0000 (02:16 +0000)]
MdeModulePkg: Fix potential integer overflow issue

In certain rare circumstance, the data passed from outside of SMM may be
invalid resulting the integer overflow. The issue are found by code review.

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

6 years agoIntelFrameworkModulePkg: Fix a memory leak bug in BdsDxe driver.
Ruiyu Ni [Fri, 10 Jul 2015 02:16:00 +0000 (02:16 +0000)]
IntelFrameworkModulePkg: Fix a memory leak bug in BdsDxe driver.

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

6 years agoIntelFrameworkPkg FrameworkUefiLib: Fix ASSERT in CatVSPrint
Hao Wu [Fri, 10 Jul 2015 01:08:05 +0000 (01:08 +0000)]
IntelFrameworkPkg FrameworkUefiLib: Fix ASSERT in CatVSPrint

This commit will resolve issue brought by r17740.

BufferToReturn = AllocateCopyPool(SizeRequired, String);

The above using of AllocateCopyPool() will cause ASSERT if 'String' is
NULL. Therefore, proper check for 'String' is needed.

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

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

6 years agoBaseTools: aarch64: add -fno-asynchronous-unwind-tables to gcc cflags
Leif Lindholm [Thu, 9 Jul 2015 16:29:44 +0000 (16:29 +0000)]
BaseTools: aarch64: add -fno-asynchronous-unwind-tables to gcc cflags

Some toolchains, at least Fedora GCC, generate inline unwind tables in
object files. These confuses GenFw to no end, leading to build failures:
  GenFw: ERROR 3000: Invalid WriteSections64(): ...
         unsupported ELF EM_AARCH64 relocation 0x105.
  GenFw: ERROR 3000: Invalid WriteSections64(): ...
         unsupported ELF EM_AARCH64 relocation 0x0.

I am aware of no current use of these tables, so explicitly disable
their generation for aarch64.

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

6 years agoMdePkg/AArch64: use GCC_ASM_EXPORT to export functions
Olivier Martin [Thu, 9 Jul 2015 10:43:27 +0000 (10:43 +0000)]
MdePkg/AArch64: use GCC_ASM_EXPORT to export functions

This ensures the .type directive is used to mark them as function symbols

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

6 years agoMdeModulePkg/FvSimpleFileSystemDxe: Support file opening with no '.efi'
Olivier Martin [Thu, 9 Jul 2015 10:34:27 +0000 (10:34 +0000)]
MdeModulePkg/FvSimpleFileSystemDxe: Support file opening with no '.efi'

FvSimpleFileSystem adds '.efi' to the EFI application and drivers
filenames even through this extension is not present in the real
filename of the EFI module.

In the current behaviour, it would not be possible to open an EFI
application using FvSimpleFileSystem if the extension has been omitted
in the given filename.
It can be create some confusion if someone wants to try to
open a file with the real application name (eg: 'Shell').

This patch adds support to try again to look for the file with the
extension if it had failed to find it without the extension.

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

6 years agoOvmfPkg: Fix GCC49 build hang in PeiCore
Ruiyu Ni [Thu, 9 Jul 2015 08:55:23 +0000 (08:55 +0000)]
OvmfPkg: Fix GCC49 build hang in PeiCore

PeiCore hang when loads a PEIM whose section alignment requirement is 0x40
but the actual base address is 0x20 aligned.

The issue is caused by the following facts, in order:

1. GCC49 requires the section alignment of .data to be 0x40. So a new link
   script gcc4.9-ld-script was added for GCC49 to specify the 0x40
   alignment.

2. GenFw tool was enhanced to sync ELF's section alignment to PE header.
   Before the enhancement, the section alignment of converted PE image
   always equals to 0x20.

If only with #1 change, GCC49 build image won't hang in PeiCore because
the converted PE image still claims 0x20 section alignment which is
aligned to the align setting set in FDF file. But later with #2 change,
the converted PE image starts to claims 0x40 section alignment, while
build tool still puts the PEIM in 0x20 aligned address, resulting the
PeCoffLoaderLoadImage() reports IMAGE_ERROR_INVALID_SECTION_ALIGNMENT
error.

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

6 years agoMdePkg/UefiDevicePathLib:Fix link error due to missing RamDisk GUIDs
Feng Tian [Thu, 9 Jul 2015 08:51:54 +0000 (08:51 +0000)]
MdePkg/UefiDevicePathLib:Fix link error due to missing RamDisk GUIDs

UefiDevicePathLibOptionalDevicePathProtocol.inf needs to be updated
to add RamDisk related GUIDs for passing compiler build.

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

6 years agoNt32Pkg: Update DSC/FDF to include drivers for HTTP boot.
Fu Siyuan [Thu, 9 Jul 2015 08:33:38 +0000 (08:33 +0000)]
Nt32Pkg: Update DSC/FDF to include drivers for HTTP boot.

This patch add the HTTP boot related drivers to NT32 platform.

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

6 years agoadd TTY_TERMINAL build option for ARM BDS
Roy Franz [Thu, 9 Jul 2015 06:24:29 +0000 (06:24 +0000)]
add TTY_TERMINAL build option for ARM BDS

Enable selecting the TtyTerminal type for the ARM BDS build of QEMU using
the TTY_TERMINAL define.
Convert INTEL_BDS define to check for value (!if) rather than just definition
(!ifdef) to allow setting of either value on command line.

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

6 years agoAdd PCD for selecting terminal type at build time
Laszlo Ersek [Thu, 9 Jul 2015 06:24:25 +0000 (06:24 +0000)]
Add PCD for selecting terminal type at build time

Add a fixed pointer PCD to allow build-time selection of VT100 or TTY terminal
type.  The default remains VT100 emulation.
Add support for building the ARM QEMU platforms with the TTY terminal
with the "-D TTY_TERMINAL" build option.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
[Roy Franz: minor edits: add TtyTerminal GUID, rename LINUX_TERMINAL to TTY_TERMINAL]
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Roy Franz <roy.franz@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17898 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoAccept VT220 DEL and function keys for TTY terminal type
Roy Franz [Thu, 9 Jul 2015 06:24:20 +0000 (06:24 +0000)]
Accept VT220 DEL and function keys for TTY terminal type

Accept the VT220 escape code [3~ as backspace for TtyTerm terminals.  This is
sent by many Linux terminals by default.  Also accept VT220 function keys
F1-F12, and VT100 F1-F4 keys as these are commonly sent by Linux terminals.
The VT220 escape codes are longer, and variable length so a new state is added
to the state machine along with a variable to construct the multibyte escape
sequence.
There are currently no ambiguous escape sequence prefixes accepted, so the TTY
terminal accepts escape sequences for a variety of terminals.  The goal is to
'just work' with as many terminals as possible, rather than properly emulating
any specific terminal.  Backspace, Del, and F10 have been tested on xterm,
rxvt, tmux, and screen.
Note: The existing vt100 function key handling does not match the vt100
documentation that I found, so I added the TTY terminal handling
of VT100 F1-F4 (really PF1-PF4 on vt100) separately.  The vt100
has no F5-F10 keys, so I don't know what the current vt100 code
is based on.

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

6 years agoTreat ASCII 0x7F as backspace for TtyTerm terminals
Roy Franz [Thu, 9 Jul 2015 06:24:15 +0000 (06:24 +0000)]
Treat ASCII 0x7F as backspace for TtyTerm terminals

Treat ASCII 0x7F as backspace, rather than delete, for TTY terminals.  This
better matches the default Linux terminal settings that are used when connecting
to a simulated platform using xterm or a similar terminal program.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Roy Franz <roy.franz@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17896 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoAdd "TtyTerm" terminal type to TerminalDxe
Roy Franz [Thu, 9 Jul 2015 06:24:11 +0000 (06:24 +0000)]
Add "TtyTerm" terminal type to TerminalDxe

This patch a adds new terminal type, TtyTerm, to TerminalDxe.  This terminal
type provides a place to add support for various *nix terminals that don't
behave like standard VT terminals.  The goal is to 'just work' with as many
terminals as possible, rather than properly emulating any one specific
terminal.

Signed-off-by: Roy Franz <roy.franz@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17895 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoShellPkg: Refine code to use Strn**S safe functions instead of Str**S ones in some...
Qiu Shumin [Thu, 9 Jul 2015 03:19:06 +0000 (03:19 +0000)]
ShellPkg: Refine code to use Strn**S safe functions instead of Str**S ones in some cases.

Safe string functions may ASSERT when the source length is larger than the MaxDest. This patch use Strn**S to indicate the copy length.

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

6 years agoSourceLevelDebugPkg: Fix PEI timer interrupt regression
Brian J. Johnson [Thu, 9 Jul 2015 02:29:58 +0000 (02:29 +0000)]
SourceLevelDebugPkg: Fix PEI timer interrupt regression

Recent changes to debug timer initialization (commit 2befbc82, svn 17572)
modified the Sec/Pei InitializeDebugAgent() routine to enable debug timer
interrupts.  This causes problems in the DEBUG_AGENT_INIT_POSTMEM_SEC case:
the callers appear to assume that if they block timer interrupts before the
call, interrupts will remain blocked afterwards.

It is not always safe to have interrupts enabled on return from
InitializeDebugAgent().  For instance, after calling InitializeDebugAgent(),
OvmfPkg's TemporaryRamMigration() moves the stack, heap, and IDT to RAM, then
switches to the new stack.  Only then does it reenable timer interrupts.
Taking an interrupt during this process can corrupt state, causing crashes.

Do not unmask the debug timer interrupt in the DEBUG_AGENT_INIT_POSTMEM_SEC
case.

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

6 years agoMdePkg: SmmMemLib.inf: add Depex section and update protocol usage.
Qiu Shumin [Thu, 9 Jul 2015 01:16:33 +0000 (01:16 +0000)]
MdePkg: SmmMemLib.inf: add Depex section and update protocol usage.

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

6 years agoRevert "ArmPlatformPkg/ArmVExpressDxe: Change FDT default file names."
Olivier Martin [Wed, 8 Jul 2015 16:20:30 +0000 (16:20 +0000)]
Revert "ArmPlatformPkg/ArmVExpressDxe: Change FDT default file names."

This reverts commit SVN rev17862.
The former commit was breaking the build when DTB_DIR is defined.
It has been the patch would be reverted for the time being.

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

6 years agoShellPkg: Remove Status definition in function scope
jiaxinwu [Wed, 8 Jul 2015 13:41:09 +0000 (13:41 +0000)]
ShellPkg: Remove Status definition in function scope

that are assigned but never used afterwards.

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

6 years agoNetworkPkg:Replace unsafe string functions.
Zhang Lubo [Wed, 8 Jul 2015 12:17:11 +0000 (12:17 +0000)]
NetworkPkg:Replace unsafe string functions.

Replace unsafe string functions with new added safe string functions.

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

6 years agofix the problem that data type conversion may loss data.
Zhang Lubo [Wed, 8 Jul 2015 09:49:41 +0000 (09:49 +0000)]
fix the problem that data type conversion may loss data.

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

6 years agoMdeModulePkg AcpiTableDxe: Install config table at ACPI data change
Star Zeng [Wed, 8 Jul 2015 09:44:46 +0000 (09:44 +0000)]
MdeModulePkg AcpiTableDxe: Install config table at ACPI data change

UEFI spec has clear description below:

Configuration Table Groups
The GUID for a configuration table also defines a corresponding event group GUID with the same value.
If the data represented by a configuration table is changed,
InstallConfigurationTable() should be called.
When InstallConfigurationTable() is called, the corresponding event is signaled.
When this event is signaled,
any components that cache information from the configuration table can optionally update their cached state.
For example, EFI_ACPI_TABLE_GUID defines a configuration table for ACPI data.
When ACPI data is changed, InstallConfigurationTable() is called.
During the execution of InstallConfigurationTable(),
a corresponding event group with EFI_ACPI_TABLE_GUID is signaled,
allowing an application to invalidate any cached ACPI data.

But current implementation only InstallConfigurationTable() at first time ACPI data change.
  if (((Version & EFI_ACPI_TABLE_VERSION_1_0B) != 0) &&
      !AcpiTableInstance->TablesInstalled1) {
    Status = gBS->InstallConfigurationTable (&gEfiAcpi10TableGuid, AcpiTableInstance->Rsdp1);
    if (EFI_ERROR (Status)) {
      return EFI_ABORTED;
    }

    AcpiTableInstance->TablesInstalled1 = TRUE;
  }

  if (((Version & ACPI_TABLE_VERSION_GTE_2_0) != 0) &&
      !AcpiTableInstance->TablesInstalled3) {
    Status = gBS->InstallConfigurationTable (&gEfiAcpiTableGuid, AcpiTableInstance->Rsdp3);
    if (EFI_ERROR (Status)) {
      return EFI_ABORTED;
    }

    AcpiTableInstance->TablesInstalled3= TRUE;
  }

The AcpiTableInstance->TablesInstalled1 and AcpiTableInstance->TablesInstalled3 conditional judgment need to be removed.

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

6 years agoOvmfPkg: Fix the build.sh shebang line to avoid depending on location of bash
Bruce Cran [Wed, 8 Jul 2015 07:11:35 +0000 (07:11 +0000)]
OvmfPkg: Fix the build.sh shebang line to avoid depending on location of bash

The bash binary can be in various locations depending on the system: on Linux
it's in /bin while on BSD it's normally in /usr/local/bin. However, the
env binary is almost always in /usr/bin and so can be used to find and start
the shell.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bruce Cran <bruce@cran.org.uk>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17883 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoSecurityPkg:Replace unsafe string functions.
Zhang Lubo [Wed, 8 Jul 2015 06:59:50 +0000 (06:59 +0000)]
SecurityPkg:Replace unsafe string functions.

Replace unsafe string functions with new added safe string functions.

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

6 years agoMdeModulePkg: Replace unsafe string functions.
Zhang Lubo [Wed, 8 Jul 2015 06:35:37 +0000 (06:35 +0000)]
MdeModulePkg: Replace unsafe string functions.

Replace unsafe string functions with new added safe string functions.

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

6 years agoMdeModulePkg/XhciPei: Error handling enhancement for XhcPeiExecTransfer
Feng Tian [Wed, 8 Jul 2015 05:54:44 +0000 (05:54 +0000)]
MdeModulePkg/XhciPei: Error handling enhancement for XhcPeiExecTransfer

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

6 years agoMdeModulePkg/XhciDxe: Error handling enhancement for XhcExecTransfer
Feng Tian [Wed, 8 Jul 2015 05:54:21 +0000 (05:54 +0000)]
MdeModulePkg/XhciDxe: Error handling enhancement for XhcExecTransfer

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

6 years agoMdePkg: Add UEFI2.5 Ramdisk device path definition
Feng Tian [Wed, 8 Jul 2015 05:49:07 +0000 (05:49 +0000)]
MdePkg: Add UEFI2.5 Ramdisk device path definition

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

6 years agoUefiCpuPkg/Library/CpuExceptionHandlerLib: Add exception type decoder
Jeff Fan [Wed, 8 Jul 2015 05:45:10 +0000 (05:45 +0000)]
UefiCpuPkg/Library/CpuExceptionHandlerLib: Add exception type decoder

Add exception type decoder to print exception name string beside print
exception type value. The exception names are from IA32 SDM.

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

6 years agoBaseTools/Upt: Add a BOM check for UNI file and fix some help message error
Hess Chen [Wed, 8 Jul 2015 05:43:22 +0000 (05:43 +0000)]
BaseTools/Upt: Add a BOM check for UNI file and fix some help message error

Add a BOM check for UNI file and fix some help message error

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

6 years agoStdLib: Remove EfiSocketLib and Ip4Config Protocol dependency.
jiaxinwu [Wed, 8 Jul 2015 03:12:58 +0000 (03:12 +0000)]
StdLib: Remove EfiSocketLib and Ip4Config Protocol dependency.

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

6 years agoNetworkPkg: Remove IpSecDxe and Ip4Config Protocol dependency.
jiaxinwu [Wed, 8 Jul 2015 03:09:28 +0000 (03:09 +0000)]
NetworkPkg: Remove IpSecDxe and Ip4Config Protocol dependency.

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

6 years agoMdeModulePkg: Remove NetLib and Ip4Config Protocol dependency.
jiaxinwu [Wed, 8 Jul 2015 03:08:05 +0000 (03:08 +0000)]
MdeModulePkg: Remove NetLib and Ip4Config Protocol dependency.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jiaxinwu <jiaxin.wu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Samer El-Haj-Mahmoud <elhaj@hp.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17873 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoBaseTools/Upt: Update UPT to ignore "!include" statement when parsing UNI file
Hess Chen [Wed, 8 Jul 2015 03:00:17 +0000 (03:00 +0000)]
BaseTools/Upt: Update UPT to ignore "!include" statement when parsing UNI file

Update UPT to ignore "!include" statement when parsing UNI 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@17872 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoOptionRomPkg: Remove redundant included header file defintion in Ax88772.h and Ax8877...
jiaxinwu [Wed, 8 Jul 2015 02:56:54 +0000 (02:56 +0000)]
OptionRomPkg: Remove redundant included header file defintion in Ax88772.h and Ax88772b.h files

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

6 years agoShellPkg: Add Ip4Config2 Protocol defintion in UefiHandleParsingLib
jiaxinwu [Wed, 8 Jul 2015 02:55:09 +0000 (02:55 +0000)]
ShellPkg: Add Ip4Config2 Protocol defintion in UefiHandleParsingLib

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

6 years agoShellPkg: Update ping/ifconfig library source code to consume Ip4Config2 protocol.
jiaxinwu [Wed, 8 Jul 2015 02:53:41 +0000 (02:53 +0000)]
ShellPkg: Update ping/ifconfig library source code to consume Ip4Config2 protocol.

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

6 years agoShellPkg: Fix typo of 'determines' in ShellPkg.
Bruce Cran [Wed, 8 Jul 2015 01:54:46 +0000 (01:54 +0000)]
ShellPkg: Fix typo of 'determines' in ShellPkg.

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

6 years agoMdeModulePkg: Refine code to use Strn**S safe functions instead of Str**S ones in...
Qiu Shumin [Wed, 8 Jul 2015 01:08:09 +0000 (01:08 +0000)]
MdeModulePkg: Refine code to use Strn**S safe functions instead of Str**S ones in some cases.

Safe string functions may ASSERT when the source length is larger than the MaxDest. This patch use Strn**S to indicate the copy length.

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

6 years agoBaseTools: Fix build on FreeBSD and allow use of non-gcc system compiler
Bruce Cran [Wed, 8 Jul 2015 01:06:25 +0000 (01:06 +0000)]
BaseTools: Fix build on FreeBSD and allow use of non-gcc system compiler

On FreeBSD, uuid.h is in /usr/include, not /usr/include/uuid.

Fix some errors when building using clang caused by self-assignment: the
preferred way to 'use' a variable is '(void)x;', not 'x = x;'.

Where the system provides $(CC) etc. by default, don't override it to be gcc.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bruce Cran <bruce@cran.org.uk>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17866 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoArmVirtPkg/ArmVirt.dsc.inc: Fixed BuildOptions
Olivier Martin [Tue, 7 Jul 2015 15:49:16 +0000 (15:49 +0000)]
ArmVirtPkg/ArmVirt.dsc.inc: Fixed BuildOptions

The linker script is specific to GCC toolchain.
So, this script will not work with other linkers
(eg: ARM Toolchain Linker, Microsoft Linker, etc).

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

6 years agoArmPlatformPkg/ArmVExpress.dsc.inc: Fixed BuildOptions
Olivier Martin [Tue, 7 Jul 2015 15:47:08 +0000 (15:47 +0000)]
ArmPlatformPkg/ArmVExpress.dsc.inc: Fixed BuildOptions

The linker script is specific to GCC toolchain.

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

6 years agoEmbeddedPkg: Remove duplicated definitions of ZeroGuid
Olivier Martin [Tue, 7 Jul 2015 15:46:23 +0000 (15:46 +0000)]
EmbeddedPkg: Remove duplicated definitions of ZeroGuid

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

6 years agoArmPlatformPkg/ArmVExpressDxe: Change FDT default file names.
Olivier Martin [Tue, 7 Jul 2015 15:45:36 +0000 (15:45 +0000)]
ArmPlatformPkg/ArmVExpressDxe: Change FDT default file names.

On the FVP base and foundation models, the default file name
used to retrieve the FDT depended on the values assigned to
model parameters (GIC related model parameters).

Now, in addition to the fallback "fdt.dtb" file name (used for legacy
 reason), only one default file name is used :
- "fvp-base.dtb" for the base model.
- "fvp-foundation.dtb" for the foundation model.

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

6 years agoArmVirtPkg: use correct ASM decoration for non-function global symbols
Ard Biesheuvel [Tue, 7 Jul 2015 14:34:52 +0000 (14:34 +0000)]
ArmVirtPkg: use correct ASM decoration for non-function global symbols

This fixes the declaration and definition of mSystemMemoryEnd so that it
is correctly annotated as a non-function symbol. Also adds the ASM_PFX
prefix, which is empty on AARCH64 but should be included for correctness.

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

6 years agoArmPlatformPkg: use correct ASM decoration for non-function global symbols
Ard Biesheuvel [Tue, 7 Jul 2015 14:34:39 +0000 (14:34 +0000)]
ArmPlatformPkg: use correct ASM decoration for non-function global symbols

This fixes the declaration and definition of mSystemMemoryEnd so that it
is correctly annotated as a non-function symbol. Also adds the ASM_PFX
prefix, which is empty on AARCH64 but should be included for correctness.

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

6 years agoMdeModulePkg/PartitionDxe: Fix media probe
Ronald Cron [Tue, 7 Jul 2015 11:26:27 +0000 (11:26 +0000)]
MdeModulePkg/PartitionDxe: Fix media probe

The call in ProbeMediaStatus() to the ReadDisk() function of the
EFI_DISK_IO_PROTOCOL interface implemented in DiskIoDxe/DiskIo.c
crashed in DiskIo2ReadWriteDisk() because of the NULL value of
the destination buffer pointer.

Pass the address of a buffer in the stack instead of a NULL
pointer.

In addition to avoiding the crash, that way, the media probe does not
depend anymore on the way the EFI_DISK_IO_PROTOCOL implementation deals
with a NULL value of the destination buffer pointer as the UEFI
specification does not specify the expected behaviour.

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

6 years agoNetworkPkg: Update package DSC file.
Fu Siyuan [Tue, 7 Jul 2015 09:29:54 +0000 (09:29 +0000)]
NetworkPkg: Update package DSC file.

Add DNS, HTTP and HTTP boot driver to NetworkPkg.dsc.

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

6 years agoNetworkPkg: Add UEFI HTTP boot driver.
Fu Siyuan [Tue, 7 Jul 2015 09:29:28 +0000 (09:29 +0000)]
NetworkPkg: Add UEFI HTTP boot driver.

This patch add the implementation for UEFI HTTP boot driver.

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

6 years agoMdeModulePkg: Add HttpLib.
Fu Siyuan [Tue, 7 Jul 2015 09:29:00 +0000 (09:29 +0000)]
MdeModulePkg: Add HttpLib.

This patch add the header file and DXE implementation for the HttpLib.

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

6 years agoNetworkPkg: Add HTTP Driver
Ye Ting [Tue, 7 Jul 2015 09:09:21 +0000 (09:09 +0000)]
NetworkPkg: Add HTTP Driver

Add HTTP driver to support HTTP protocols defined in UEFI 2.5 specification.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Ye Ting <ting.ye@intel.com>
Reviewed-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@17855 6f19259b-4bc3-4df7-8a09-765794883524

6 years agoNetworkPkg: Add DNS feature support over IPv4 and IPv6.
jiaxinwu [Tue, 7 Jul 2015 08:22:03 +0000 (08:22 +0000)]
NetworkPkg: Add DNS feature support over IPv4 and IPv6.

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

6 years agoMdeModulePkg: Update Ip4Dxe driver to support Ip4Config2 protocol,
jiaxinwu [Tue, 7 Jul 2015 08:19:55 +0000 (08:19 +0000)]
MdeModulePkg: Update Ip4Dxe driver to support Ip4Config2 protocol,

and also add new UI configuration support in Ip4Dxe driver.

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

6 years agoMdeModulePkg:Refine the function comments
Dandan Bi [Tue, 7 Jul 2015 08:17:28 +0000 (08:17 +0000)]
MdeModulePkg:Refine the function comments

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

6 years agoIntelFrameworkModulePkg GenericBdsLib: Resolve array size mismatch
Hao Wu [Tue, 7 Jul 2015 06:13:53 +0000 (06:13 +0000)]
IntelFrameworkModulePkg GenericBdsLib: Resolve array size mismatch

Match the size of array GaugeString defined in function
WriteBootToOsPerformanceData() with the size of field 'Token' defined in
struct PERF_DATA in MdeModulePkg\Include\Guid\Performance.h.

Doing so will ensure the size consistency when doing StrCpyS() between
PERF_DATA.Token and GaugeString (like here in Performance.c).

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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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