]> git.proxmox.com Git - mirror_edk2.git/log
mirror_edk2.git
9 years agoAdd UINT64 type cast when AND/OR with UINT64 Supports.
Ruiyu Ni [Wed, 13 Aug 2014 03:28:35 +0000 (03:28 +0000)]
Add UINT64 type cast when AND/OR with UINT64 Supports.

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

9 years agoAppPkg: introduce OrderedCollectionTest
Laszlo Ersek [Tue, 12 Aug 2014 07:29:17 +0000 (07:29 +0000)]
AppPkg: introduce OrderedCollectionTest

In this patch a small application is added to AppPkg, with the following
two goals:
- demonstrate how to use OrderedCollectionLib,
- allow users to test and "fuzz" BaseOrderedCollectionRedBlackTreeLib in
  particular, entering API "commands" interactively, or providing them
  from a script file.

A shell script is included that generates such an API command script.

Speaking about BaseOrderedCollectionRedBlackTreeLib specifically,
OrderedCollectionTest validates the internal red-black properties of the
tree after each read-write operation by setting the
PcdValidateOrderedCollection feature flag to TRUE.

The OrderedCollectionTest application's debugging environment is strictly
specified in the DSC file, because OrderedCollectionTest is entirely
useless for unit testing without full ASSERT() enablement.

The OrderedCollectionTest application deliberately doesn't follow the edk2
coding style in the following:
- const vs. CONST,
- void vs. VOID,
- assert() vs. ASSERT(),
- calloc() and free() vs. AllocateZeroPool() and FreePool(),
- integer types.

This is because OrderedCollectionTest is a standard C application, not a
UEFI application per se. In particular it relies on stdio. INTN, EFIAPI
and CONST VOID are used only in two places, where we provide the
comparator callbacks to OrderedCollectionLib. Proper range checking is
ensured for integers.

The application takes command input from stdin or a file (if the user
requests it), sends command output to stdout or a file (if the user
requests it), prints debug output to the console (as other AppPkg
applications do when debugging is enabled for them), and prints
diagnostics to stderr (like well behaved standard C programs should).

Input/output selection is implemented manually because the old shell
doesn't support input redirection at all, and because the new shell's
input redirection does not co-operate with fgets() for the time being.

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

9 years agoMdePkg: introduce BaseOrderedCollectionRedBlackTreeLib library instance
Laszlo Ersek [Tue, 12 Aug 2014 07:29:04 +0000 (07:29 +0000)]
MdePkg: introduce BaseOrderedCollectionRedBlackTreeLib library instance

edk2 should have a fast and easy-to-use associative array (a dictionary)
type.

Red-black trees have O(log(n)) worst case time complexity for lookup,
insertion, and deletion (where n is the number of nodes in the tree). They
support minimum and maximum lookup with the same time complexity, hence
red-black trees double as priority queues as well.

Given an iterator to a red-black tree node, getting the next or previous
node (which corresponds to the ordered successor or the predecessor,
respectively, according to the user-defined ordering) is O(log(n)) as
well.

The code reflects the Binary Search Trees and Red-Black Trees chapters of
Introduction to Algorithms, by Cormen, Leiserson, Rivest. One point where
the implementation diverges is the first phase of the Delete() operation.
During that phase, the book's algorithm copies the key and other business
*contents* of the successor node (in case the successor node is affected),
and releases the successor node (instead of the node that the user
requested to delete).

While semantically correct, this would break the above iterator validity
guarantee. This implementation replaces the copying of business contents
between nodes with suitable relinking of nodes, so that all iterators
(except the one whose deletion is being requested) remain valid.

I had written this code originally in approx. 2002. I personally own the
copyright of that version and am hereby relicensing it to Red Hat, under
the BSDL. I had used the original code in a few personal projects since,
for example in the lbzip2-0.x parallel (de)compressor, and now I've ported
the library to edk2. Both during the original implementation and now
during the porting I verified all the cases and their proofs as rigorously
as I could, on paper. (NB, I couldn't find any errors in the 2002 code
now.)

During the porting to edk2, I documented all those cases in code comments
as well (at least half of the source is documentation). These comments are
not blind copies of diagrams from the Algorithms book, nor are they copies
from my original code -- I've done them all fresh now, and I've only
matched the results against the book. Reviewers are invited to sit down
with a pen, some paper, the book, and the code.

The Validate() function verifies the internal red-black properties of the
tree. This function helps with unit testing, and is only invoked when
requested with the PcdValidateOrderedCollection feature flag.

A note about diagrams: edges represented by backslash (\) characters are
often written as "\_", ie. with a following underscore. This is because
line-trailing backslashes are processed very early in compilation (in
translation phase 2), "splicing physical source lines to form logical
source lines". Since the edk2 coding style requires "//" comments for such
documentation, a trailing backslash would splice the next physical line
into the "scope" of the comment. To prevent this, trailing backslashes are
defanged by appending underscores, which should be visually bearable.

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

9 years agoMdePkg: introduce OrderedCollectionLib library class
Kinney, Michael D [Tue, 12 Aug 2014 07:28:52 +0000 (07:28 +0000)]
MdePkg: introduce OrderedCollectionLib library class

This library class provides a set of APIs to manage an ordered collection
of items:
- Init(),
- UnInit(),
- Insert(),
- Delete(),
- IsEmpty(),
- Next(),
- Prev(),
- Min(),
- Max(),
- Find(),
- UserStruct().

There are many ways to implement an ordered collection. Depending on the
frequency of the different actions, different internal implementations may
have different performance, memory overhead, or code size.

Developers can select the library instance for a platform or module in
their DSC files that meets the needs of that platform or module.

Commit-message-from: "Kinney, Michael D" <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15790 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoFixed a bug in LegacyBiosDxe to allocate correct ranges of memory.
Elvin Li [Tue, 12 Aug 2014 05:19:34 +0000 (05:19 +0000)]
Fixed a bug in LegacyBiosDxe to allocate correct ranges of memory.

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

9 years agoCorrect StrnCat length calculation.
jyao1 [Tue, 12 Aug 2014 03:31:47 +0000 (03:31 +0000)]
Correct StrnCat length calculation.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed off by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed by: Guo Dong <guo.dong@intel.com>

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

9 years agoMdeModulePkg PeiCore: The DEBUG message (for HeapOffset and StackOffset) should be...
Star Zeng [Tue, 12 Aug 2014 01:41:25 +0000 (01:41 +0000)]
MdeModulePkg PeiCore: The DEBUG message (for HeapOffset and StackOffset) should be placed after HeapOffset is got.

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

9 years agoStdLib/LibC/Stdio: fix "missing braces around initializer"
Laszlo Ersek [Mon, 11 Aug 2014 22:00:01 +0000 (22:00 +0000)]
StdLib/LibC/Stdio: fix "missing braces around initializer"

The member "fext._ub" is a structure (of type "struct __sbuf"), and the
current initializer triggers

  StdLib/LibC/Stdio/vswscanf.c: In function 'vswscanf':
  StdLib/LibC/Stdio/vswscanf.c:75:10: error: missing braces around
                                      initializer [-Werror=missing-braces]
  StdLib/LibC/Stdio/vswscanf.c:75:10: error: (near initialization for
                                      'fext._ub') [-Werror=missing-braces]
  cc1: all warnings being treated as errors

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

9 years agoStdLib/LibC/gdtoa: fix "missing braces around initializer"
Laszlo Ersek [Mon, 11 Aug 2014 21:59:53 +0000 (21:59 +0000)]
StdLib/LibC/gdtoa: fix "missing braces around initializer"

The member "u.L" is an array, and the current initializer triggers

  StdLib/LibC/gdtoa/strtof.c: In function '_strtof':
  StdLib/LibC/gdtoa/strtof.c:53:9: error: missing braces around
                                   initializer [-Werror=missing-braces]
  StdLib/LibC/gdtoa/strtof.c:53:9: error: (near initialization for
                                   'u.L') [-Werror=missing-braces]
  cc1: all warnings being treated as errors

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

9 years agoMdePkg: Fix Clang build failure
Gao, Liming [Mon, 11 Aug 2014 07:05:49 +0000 (07:05 +0000)]
MdePkg: Fix Clang build failure

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Andrew Fish <afish@apple.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15784 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoMdeModulePkg: BaseSerialPortLib16550 library to support PCI UART device.
Gao, Liming [Mon, 11 Aug 2014 06:38:28 +0000 (06:38 +0000)]
MdeModulePkg: BaseSerialPortLib16550 library to support PCI UART device.

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

9 years agoMdeModulePkg: new PlatformHookLib library with depex of SerialPortPpi.
Gao, Liming [Mon, 11 Aug 2014 06:23:51 +0000 (06:23 +0000)]
MdeModulePkg: new PlatformHookLib library with depex of SerialPortPpi.
 This library has one depex of SerialPortPpi. Then, the PEIM linked it has this depex so that it is dispatched after SerialPortPpi is installed. SerialPortPpi notifies the platform initialization done, then serial port will work.

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

9 years agoMdeModulePkg: DxeCore
Gao, Liming [Mon, 11 Aug 2014 05:40:40 +0000 (05:40 +0000)]
MdeModulePkg: DxeCore
If GUIDED section has AUTH attribute only, DxeCore may wrongly set its AuthenticationStatus to 0 when its matched GUIDED extraction handler is not installed and Auth data is not verified. For this case, the return AuthenticationStatus should be EFI_AUTH_STATUS_NOT_TESTED.

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

9 years agoAdded SMBIOS 2.8.0 updates.
Elvin Li [Fri, 8 Aug 2014 09:10:57 +0000 (09:10 +0000)]
Added SMBIOS 2.8.0 updates.

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

9 years agoSourceLevelDebugPkg/DebugAgent: fix trivial typo.
Chen Fan [Fri, 8 Aug 2014 07:50:21 +0000 (07:50 +0000)]
SourceLevelDebugPkg/DebugAgent: fix trivial typo.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15779 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoAdd type cast on variable before operation.
Jeff Fan [Fri, 8 Aug 2014 05:52:01 +0000 (05:52 +0000)]
Add type cast on variable before operation.

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

9 years agoAdd type cast on variable before operation.
Jeff Fan [Fri, 8 Aug 2014 05:51:21 +0000 (05:51 +0000)]
Add type cast on variable before operation.

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

9 years agoClean the useless code.
Eric Dong [Fri, 8 Aug 2014 03:20:29 +0000 (03:20 +0000)]
Clean the useless code.

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

9 years agoRollback file GUID change, because it is VTF file and GUID is predefined.
jyao1 [Fri, 8 Aug 2014 02:15:41 +0000 (02:15 +0000)]
Rollback file GUID change, because it is VTF file and GUID is predefined.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed off by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed by: Chris Li <chris.li@intel.com>

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

9 years agoclang warns on guard macro not matching in .h file.
Andrew Fish [Fri, 8 Aug 2014 00:57:50 +0000 (00:57 +0000)]
clang warns on guard macro not matching in .h file.

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

9 years agoUpdate network stack code to use StrnCpy instead of StrCpy.
Fu, Siyuan [Fri, 8 Aug 2014 00:41:14 +0000 (00:41 +0000)]
Update network stack code to use StrnCpy instead of StrCpy.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu, Siyuan <siyuan.fu@intel.com>
Reviewed-By: Dong, Eric <eric.dong@intel.com>
Reviewed-by: Wu, Jiaxin <jiaxin.wu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15773 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoCorrect AsciiStrnCpy.
jyao1 [Fri, 8 Aug 2014 00:21:18 +0000 (00:21 +0000)]
Correct AsciiStrnCpy.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed off by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed by: Eric Dong <eric.dong@intel.com>

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

9 years agoShellPkg: Refactor string manipulation in cp command
Jaben Carsey [Thu, 7 Aug 2014 20:02:40 +0000 (20:02 +0000)]
ShellPkg: Refactor string manipulation in cp command

This patch replaces StrCpy with StrnCpy or refactors out the usage of StrCpy through some other means.
This patch replaces StrCat with StrnCat or refactors out the usage of StrCat through some other means.

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

9 years ago1) Add type cast for better coding style.
Feng Tian [Thu, 7 Aug 2014 08:54:34 +0000 (08:54 +0000)]
1) Add type cast for better coding style.
2) replace StrCpy() usage in Variable driver with StrnCpy().

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

9 years agoAdd type cast for better coding style.
Qiu Shumin [Thu, 7 Aug 2014 08:32:54 +0000 (08:32 +0000)]
Add type cast for better coding style.

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

9 years agoClean up code.
qlong [Thu, 7 Aug 2014 07:56:31 +0000 (07:56 +0000)]
Clean up code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed off by: Long Qin <qin.long@intel.com>
Reviewed by: Eric Dong <eric.dong@intel.com>

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

9 years agoFix OpensslLib build issue for ARM. The changes are:
Eugene Cohen [Thu, 7 Aug 2014 07:44:37 +0000 (07:44 +0000)]
Fix OpensslLib build issue for ARM. The changes are:
The changes are:
  1. Add RVCT ARM build target
  2. Add suppression of warnings to get openssl building (1295,550,1293,111,68,177,223,144,513,188)
  3. Remove architectures that RVCT cannot build for (IA32, X64, and IPF)
  4. Add the -DOPENSSL_NO_MD2 flag to prevent link errors from MD2 references; the comments in the .inf assumes that this flag exists but it wasn’t actually set

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

9 years agoClean up code.
jyao1 [Thu, 7 Aug 2014 05:03:10 +0000 (05:03 +0000)]
Clean up code.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed off by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed by: Eric Dong <eric.dong@intel.com>

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

9 years agoStdLib: The formatting for double float values, within the gdtoa library, is improper.
Daryl McDaniel [Wed, 6 Aug 2014 18:29:02 +0000 (18:29 +0000)]
StdLib: The formatting for double float values, within the gdtoa library, is improper.

When running Enquire.efi, several errors similar to the following are produced:
Maximum exponent = 128
Maximum number = 3.40282347e+38

*** WARNING: Possibly bad output from printf above
    expected value around 3.40282347e38, bit pattern:
    11111111 11111111 01111111 01111111
    sscanf gave           -inf, bit pattern:
    00000000 00000000 10000000 11111111
    difference= inf

Overflow doesn’t seem to generate a trap

The memory allocation tests will also fail, sometimes leaving all available memory consumed.

The correct output in the above example is:
Maximum exponent = 128
Maximum number = 3.40282347e+38
Overflow doesn't seem to generate a trap

The root cause is that all operations on values of Long or ULong type, within the gdtoa library, must be 32-bit operations.  A previous change replaced the Long and ULong definitions with INTN and UINTN, respectively.  While this is correct for a lot of Linux and NetBSD code, it was not correct for this library.

This fix reverts the definitions of ULong and Long back to 32-bit types.
A descriptive comment has also been added to the U union.
Additional white-space has been added to tidy up the definitions of the word0 and word1 macros.

Verified with Enquire.efi and the ISO/IEC C Library compliance Validation Suite.

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

9 years agoUpdates the UEFI Shell to produce the new protocol with additional 4 functions.
Jaben Carsey [Wed, 6 Aug 2014 16:18:38 +0000 (16:18 +0000)]
Updates the UEFI Shell to produce the new protocol with additional 4 functions.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
Reviewed by: Daryl McDaniel <daryl.mcdaniel@intel.com>

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

9 years agoShellPkg: add size cast to bit operations
Jaben Carsey [Wed, 6 Aug 2014 16:17:42 +0000 (16:17 +0000)]
ShellPkg: add size cast to bit operations

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

9 years agoEliminate duplicated file GUID.
jyao1 [Wed, 6 Aug 2014 13:27:14 +0000 (13:27 +0000)]
Eliminate duplicated file GUID.
Eliminate duplicate GUID definition.
Do explicit data cast.
Use StrnCpy instead of StrCpy.
Update GCC assembly.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed off by: Jiewen Yao <jiewen.yao@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@15762 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoShellPkg: Remove double typedef for same struct
Jaben Carsey [Tue, 5 Aug 2014 23:26:51 +0000 (23:26 +0000)]
ShellPkg: Remove double typedef for same struct

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

9 years agoUpdates the logic to allow devices to support SFO output mode
Jaben Carsey [Tue, 5 Aug 2014 23:17:18 +0000 (23:17 +0000)]
Updates the logic to allow devices to support SFO output mode

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

9 years agoFix the use of ASSERT and other fixes to memory allocation failures (like free before...
Jaben Carsey [Tue, 5 Aug 2014 23:16:39 +0000 (23:16 +0000)]
Fix the use of ASSERT and other fixes to memory allocation failures (like free before return for errors)

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

9 years agoUpdates the total size logic and the SFO output per UEFI Shell 2.1 changes
Jaben Carsey [Tue, 5 Aug 2014 20:57:08 +0000 (20:57 +0000)]
Updates the total size logic and the SFO output per UEFI Shell 2.1 changes

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

9 years agoUpdates the logic to allow DmpStore to specify a name independent of specifying a...
Jaben Carsey [Tue, 5 Aug 2014 20:56:40 +0000 (20:56 +0000)]
Updates the logic to allow DmpStore to specify a name independent of specifying a GUID.

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

9 years agoUpdates the logic to allow help to ouput help information from a dynamic shell command
Jaben Carsey [Tue, 5 Aug 2014 20:56:07 +0000 (20:56 +0000)]
Updates the logic to allow help to ouput help information from a dynamic shell command

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

9 years agoUpdates the logic to allow RM and CP to have silent/quiet mode work successfully.
Jaben Carsey [Tue, 5 Aug 2014 20:55:36 +0000 (20:55 +0000)]
Updates the logic to allow RM and CP to have silent/quiet mode work successfully.

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

9 years agoThis searches for handles that produce the dynamic command protocol after searching...
Jaben Carsey [Tue, 5 Aug 2014 20:09:25 +0000 (20:09 +0000)]
This searches for handles that produce the dynamic command protocol after searching the commands compiled into the shell.

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

9 years agoShellPkg: Add Dynamic GUID registration into the current GUID<->String conversion...
Jaben Carsey [Tue, 5 Aug 2014 18:03:49 +0000 (18:03 +0000)]
ShellPkg: Add Dynamic GUID registration into the current GUID<->String conversion process

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

9 years agoThis adds the new APIs for UEFI Shell 2.1 and makes a new structure for shell impleme...
Jaben Carsey [Tue, 5 Aug 2014 17:52:18 +0000 (17:52 +0000)]
This adds the new APIs for UEFI Shell 2.1 and makes a new structure for shell implementations that are conformant to this new spec.  It does not affect existing implementations.

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

9 years agoEliminate duplicated file GUID.
jyao1 [Tue, 5 Aug 2014 03:59:56 +0000 (03:59 +0000)]
Eliminate duplicated file GUID.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed off by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed by: Eric Dong <eric.dong@intel.com>

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

9 years agoShellPkg: Add new UEFI Shell 2.1 protocol and fix comments in handle parsing
Jaben Carsey [Mon, 4 Aug 2014 21:17:17 +0000 (21:17 +0000)]
ShellPkg: Add new UEFI Shell 2.1 protocol and fix comments in handle parsing

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

9 years agoShellPkg: Fix comments
Jaben Carsey [Mon, 4 Aug 2014 20:28:55 +0000 (20:28 +0000)]
ShellPkg: Fix comments

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

9 years agoArmPkg/ArmSmcLib: Fixed SMC helper functions
Olivier Martin [Mon, 4 Aug 2014 14:18:13 +0000 (14:18 +0000)]
ArmPkg/ArmSmcLib: Fixed SMC helper functions

The SMC helper functions were buggy as they were assuming that
the values in x1-x7 registers were preserved across an SMC call,
which is not the case.  This patch fixes this issue.

It also simplifies the code by providing only 1 version of the SMC
helper function.  We used to have 4 versions depending on the number
of arguments.  The problem with this approach was that the number of
arguments also dictated the number of return values, which is
completely unrelated.  E.g. you can have an SMC call that takes
1 argument but returns 4 values.

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

9 years agoArmPkg/IndustryStandard/ArmStdSmc.h: Update Standard Service SMC Calls
Olivier Martin [Mon, 4 Aug 2014 14:12:57 +0000 (14:12 +0000)]
ArmPkg/IndustryStandard/ArmStdSmc.h: Update Standard Service SMC Calls

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

9 years agoAdd missing ACPI5.1 table.
jyao1 [Mon, 4 Aug 2014 13:32:52 +0000 (13:32 +0000)]
Add missing ACPI5.1 table.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed off by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed 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@15746 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoBaseTools: Add AArch64 ADR_PREL_LO21 and R_AARCH64_CONDBR19
Harry Liebel [Mon, 4 Aug 2014 08:44:11 +0000 (08:44 +0000)]
BaseTools: Add AArch64 ADR_PREL_LO21 and R_AARCH64_CONDBR19
 relocations

- ADR_PREL_LO21: support for loading a PC relative label offset.
- R_AARCH64_CONDBR19: support for conditional branch instruction (ELF64 code: 280).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15745 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoClean up code.
jyao1 [Mon, 4 Aug 2014 08:24:27 +0000 (08:24 +0000)]
Clean up code.

Contributed-under: TianoCore Contribution Agreement 1.0

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

9 years agoClean up code.
jyao1 [Mon, 4 Aug 2014 06:34:41 +0000 (06:34 +0000)]
Clean up code.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed off by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed by: Eric Dong <eric.dong@intel.com>

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

9 years agoThe pointer argument should be set to NULL if not used not FALSE.
Fu, Siyuan [Mon, 4 Aug 2014 01:28:26 +0000 (01:28 +0000)]
The pointer argument should be set to NULL if not used not FALSE.

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

9 years agoThe pointer argument should be set to NULL if not used not FALSE.
Harry Liebel [Mon, 4 Aug 2014 01:26:57 +0000 (01:26 +0000)]
The pointer argument should be set to NULL if not used not FALSE.
  FALSE evaluates to 0. This was flagged by LLVM compiler as a
  warning:
  "expression which evaluates to zero treated as a null pointer
   constant of type 'EFI_MTFTP4_OVERRIDE_DATA *'
   [-Wnon-literal-null-conversion]"

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
Reviewed-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@15741 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoUpdate the en-US definition in 'UefiShellInstall1CommandsLib.uni', 'UefiShellLevel1Co...
Qiu Shumin [Mon, 4 Aug 2014 01:06:19 +0000 (01:06 +0000)]
Update the en-US definition in 'UefiShellInstall1CommandsLib.uni', 'UefiShellLevel1CommandsLib.uni', 'UefiShellLevel3CommandsLib.uni' and 'UefiShellNetwork1CommandsLib.uni' to make them consistent.

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

9 years agoArmPlatformPkg/Bds: Signal EndOfDxe PI Event
Olivier Martin [Fri, 1 Aug 2014 18:35:29 +0000 (18:35 +0000)]
ArmPlatformPkg/Bds: Signal EndOfDxe PI Event

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

9 years agoEmbeddedPkg: FDT Configuration Table GUID
Olivier Martin [Fri, 1 Aug 2014 18:34:20 +0000 (18:34 +0000)]
EmbeddedPkg: FDT Configuration Table GUID

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

9 years agoArmPlatformPkg: Removed the global ImageHandle when UefiBootServicesTableLib is included
Olivier Martin [Fri, 1 Aug 2014 18:33:17 +0000 (18:33 +0000)]
ArmPlatformPkg: Removed the global ImageHandle when UefiBootServicesTableLib is included

UefiBootServicesTableLib already defines gImageHandle that has been initialized with
the value of ImageHandle.

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

9 years agoCodeModule: BaseTools - tools_def.txt VS2010, VS2010x86, VS2012 and VS2012x86 update...
lhauch [Fri, 1 Aug 2014 18:11:32 +0000 (18:11 +0000)]
CodeModule: BaseTools - tools_def.txt VS2010, VS2010x86, VS2012 and VS2012x86 update locations for rc.exe tool

This change will point to the correct location of the rc.exe tool.
RC.exe is used for building UEFI compliant drivers that must have a UEFI_HII_RESOURCE_SECTION generated as part of the .efi image file.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: lhauch <larry.hauch@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15735 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoMdeModulePkg: Fix wrong check for SetAttribute in Consplitter
Elvin Li [Fri, 1 Aug 2014 05:08:40 +0000 (05:08 +0000)]
MdeModulePkg: Fix wrong check for SetAttribute in Consplitter
Original code check if Attribute > 0x7FFFFFFF, this is wrong and fail to check valid case per UEFI spec.

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

9 years agoSupport --version command line for VfrCompile
Eric Dong [Fri, 1 Aug 2014 04:44:16 +0000 (04:44 +0000)]
Support --version command line for VfrCompile

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

9 years agoIntelFrameworkModulePkg BdsLib: Fix potential memory leak when calling BdsLibGetVaria...
Chen Fan [Fri, 1 Aug 2014 02:45:45 +0000 (02:45 +0000)]
IntelFrameworkModulePkg BdsLib: Fix potential memory leak when calling BdsLibGetVariableAndSize

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

9 years agoShellPkg: Add new dynamic command protocol
Jaben Carsey [Thu, 31 Jul 2014 18:07:43 +0000 (18:07 +0000)]
ShellPkg: Add new dynamic command protocol

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

9 years agoEmulatorPkg/Mpservice: Add StateLock where missing
Chen Fan [Thu, 31 Jul 2014 15:45:27 +0000 (15:45 +0000)]
EmulatorPkg/Mpservice: Add StateLock where missing

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

9 years agoEmulatorPkg/Mpservice: Remove StackLock for Info.StateFlag
Chen Fan [Thu, 31 Jul 2014 15:45:21 +0000 (15:45 +0000)]
EmulatorPkg/Mpservice: Remove StackLock for Info.StateFlag

Maybe we should add another lock for Info.StateFlag in the future
rather than StackLock. at here, we get rid of it first.

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

9 years agoEmulatorPkg/Mpservice: Remove addressof operator
Chen Fan [Thu, 31 Jul 2014 15:45:13 +0000 (15:45 +0000)]
EmulatorPkg/Mpservice: Remove addressof operator

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

9 years agoEmulatorPkg/Mpservice: CpuCheckAllAPsStatus: ProcedureLock => StateLock
Chen Fan [Thu, 31 Jul 2014 15:45:04 +0000 (15:45 +0000)]
EmulatorPkg/Mpservice: CpuCheckAllAPsStatus: ProcedureLock => StateLock

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

9 years agoOvmfPkg/Csm/CsmSupportLib: fix "missing braces around initializer"
Laszlo Ersek [Thu, 31 Jul 2014 15:44:52 +0000 (15:44 +0000)]
OvmfPkg/Csm/CsmSupportLib: fix "missing braces around initializer"

Recent BaseTools changes trigger this gcc warning.

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

9 years agoShellPkg: UpdateStdInStdOutStdErr(): append BOM to new unicode file
Laszlo Ersek [Thu, 31 Jul 2014 15:44:43 +0000 (15:44 +0000)]
ShellPkg: UpdateStdInStdOutStdErr(): append BOM to new unicode file

The >> operator redirects stdout to a file, using append mode and unicode
encoding. Write the BOM when redirection happens to a new file (which
starts out empty).

This makes the >> operator behave similarly to the > operator, when the
redirection target doesn't exist originally:

  OutUnicode && OutAppend && FileSize == 0 // >> to new unicode file
vs.
  OutUnicode && !OutAppend                 // >  to any unicode file

(Note that (FileSize == 0) is equivalent to "new file" in this context,
due to the earlier "Check that filetypes (Unicode/Ascii) do not change
during an append".)

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

9 years agoShellPkg: UpdateStdInStdOutStdErr(): extract WriteFileTag()
Laszlo Ersek [Thu, 31 Jul 2014 15:44:30 +0000 (15:44 +0000)]
ShellPkg: UpdateStdInStdOutStdErr(): extract WriteFileTag()

Drop TagBuffer in the process.

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

9 years agoUpdate vfr format for orderedlist opcode to consistent with other opcode, also compat...
Eric Dong [Thu, 31 Jul 2014 08:24:13 +0000 (08:24 +0000)]
Update vfr format for orderedlist opcode to consistent with other opcode, also compatible with old format.

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

9 years agoAdd VS2013 tool chain in BaseTools\Conf\tools_def.template. Also, two issues came...
Wang, Yu [Thu, 31 Jul 2014 06:14:01 +0000 (06:14 +0000)]
Add VS2013 tool chain in BaseTools\Conf\tools_def.template.  Also, two issues came up related to vs2013 build and caused the build to fail.

Vs2013 issue #1:  warning message about uninitialized variables or pointers like this:
s:\incbld\ia32\intelframeworkmodulepkg\bus\isa\isabusdxe\isabus.c(395) : warning C4701: potentially uninitialized local variable 'DevicePathData' used
s:\incbld\ia32\intelframeworkmodulepkg\bus\isa\isabusdxe\isabus.c(395) : warning C4703: potentially uninitialized local pointer variable 'DevicePathData' used
LINK : fatal error LNK1257: code generation failed
The following online messages shows discussions related to this vs2013 issue and how Microsoft engineer responded.  They suggest a work around by adding the initialization for the variables.
https://connect.microsoft.com/VisualStudio/feedback/details/816730/bogus-warning-from-vs-2013

Vs2013 issue #2:
C:\Program Files\Windows Kits\8.1\include\um\winnt.h(5105) : error C2220: warning treated as error - no 'object' file generated
C:\Program Files\Windows Kits\8.1\include\um\winnt.h(5105) : warning C4005: 'InterlockedCompareExchange64' : macro redefinition
This happened for Nt32Pkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wang, Yu <yu.wang@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15722 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoMdeModulePkg: Removed valid text mode check in SetAttribute interface in GraphicsConsole.
Elvin Li [Thu, 31 Jul 2014 03:21:39 +0000 (03:21 +0000)]
MdeModulePkg: Removed valid text mode check in SetAttribute interface in GraphicsConsole.
UEFI spec mentioned that the color mask can be set even when the device is in an invalid text mode. But the current code add text mode check. Removed the check now.

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

9 years agoRefine code to make it more safely.
Eric Dong [Wed, 30 Jul 2014 01:19:21 +0000 (01:19 +0000)]
Refine code to make it more safely.

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

9 years agoArmPlatformPkg/ArmVExpressPkg: Fix armcc warning causing build failure
Harry Liebel [Tue, 29 Jul 2014 14:21:05 +0000 (14:21 +0000)]
ArmPlatformPkg/ArmVExpressPkg: Fix armcc warning causing build failure

- Variable may be used before being set

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

9 years agoArmPlatformPkg/Bds: Added boot options reordering
Ronald Cron [Tue, 29 Jul 2014 14:19:57 +0000 (14:19 +0000)]
ArmPlatformPkg/Bds: Added boot options reordering

Added the reordering of the boot options feature to the boot manager.
The BootMenuSelectBootOption() has been split into
DisplayBootOptions() that only displays the boot options and
SelectBootOptions() that asks to select one.

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

9 years agoArmPlatformPkg/Bds: Corrected boot type detection
Ronald Cron [Tue, 29 Jul 2014 14:19:02 +0000 (14:19 +0000)]
ArmPlatformPkg/Bds: Corrected boot type detection

Corrected the detection of file system and memory map boot option types.

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

9 years agoArmPlatformPkg/Bds: Do not ignore the error code in DefineDefaultBootEntries()
Olivier Martin [Tue, 29 Jul 2014 14:18:03 +0000 (14:18 +0000)]
ArmPlatformPkg/Bds: Do not ignore the error code in DefineDefaultBootEntries()

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

9 years agoArmPlatformPkg/Bds: Added TFTP boot option update
Ronald Cron [Tue, 29 Jul 2014 14:17:05 +0000 (14:17 +0000)]
ArmPlatformPkg/Bds: Added TFTP boot option update

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

9 years agoArmPlatformPkg/Bds: Change the GetHIInput/EditHIInput to always return a valid IP...
Ronald Cron [Tue, 29 Jul 2014 14:16:10 +0000 (14:16 +0000)]
ArmPlatformPkg/Bds: Change the GetHIInput/EditHIInput to always return a valid IP address

The new functions never return a invalid IP address.
The user would be asked again if the IP address is mal-formed.

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

9 years agoArmPlatformPkg/Bds: Got rid of RequestBootType argument
Ronald Cron [Tue, 29 Jul 2014 14:15:15 +0000 (14:15 +0000)]
ArmPlatformPkg/Bds: Got rid of RequestBootType argument

Removed "RequestBootType" argument of the "*CreateDevicePathNode()" and
"*UpdateDevicePathNode()" functions. A boolean field "Request
BootType" has been added to the BDS_LOAD_OPTION_SUPPORT structure and
is used by the "BootMenuAddBootOption()" and "BootMenuUpdateBootOption()"
functions instead.

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

9 years agoArmPkg: Remove BasePeCoffLib
Harry Liebel [Tue, 29 Jul 2014 14:13:21 +0000 (14:13 +0000)]
ArmPkg: Remove BasePeCoffLib

ArmPkg contains unused and outdated code for runtime PE/COFF image
relocation.

- Use the version in MdePkg instead.
- Remove references to this package from BeagleBoardPkg.

ArmPkg/BasePeCoffLib was added to deal with MOVT instruction that
was not part of the PE/COFF specification at that time.

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

9 years agoArmPkg/ArmLib.h: Fixed name of the argument
Olivier Martin [Tue, 29 Jul 2014 14:10:45 +0000 (14:10 +0000)]
ArmPkg/ArmLib.h: Fixed name of the argument

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

9 years agoArmPkg/CpuDxe: Fixed some typo issues in the AArch64 exception code
Olivier Martin [Tue, 29 Jul 2014 14:09:48 +0000 (14:09 +0000)]
ArmPkg/CpuDxe: Fixed some typo issues in the AArch64 exception code

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

9 years agoArmPkg/AArch64.h: Added Exception Syndrome Register definitions
Olivier Martin [Tue, 29 Jul 2014 14:09:10 +0000 (14:09 +0000)]
ArmPkg/AArch64.h: Added Exception Syndrome Register definitions

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

9 years agoArmPkg/AArch64: Added ARM_HCR_TSC definition
Olivier Martin [Tue, 29 Jul 2014 14:08:15 +0000 (14:08 +0000)]
ArmPkg/AArch64: Added ARM_HCR_TSC definition

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

9 years agoArmPkg/ArmPkg.dec: Added the interrupt numbers for the Hypervisor and Virtual Timers
Olivier Martin [Tue, 29 Jul 2014 14:07:30 +0000 (14:07 +0000)]
ArmPkg/ArmPkg.dec: Added the interrupt numbers for the Hypervisor and Virtual Timers

These numbers are mainly to reduce hardcoded numbers into the ACPI GTDT table.
And also to match with the use of PcdArmArchTimerSecIntrNum and PcdArmArchTimerIntrNum
into the GTDT ACPI Table.

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

9 years agoArmPkg/AArch64.h: Added SPSR and Timer register definitions
Olivier Martin [Tue, 29 Jul 2014 14:06:33 +0000 (14:06 +0000)]
ArmPkg/AArch64.h: Added SPSR and Timer register definitions

These timer register definitions are AArch64 specific. It is the reason
why they are into this file and not into Chipset/ArmArchTimer.h.

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

9 years agoAdd IntelFspPkg to support create FSP bin based on EDKII.
jyao1 [Tue, 29 Jul 2014 02:21:52 +0000 (02:21 +0000)]
Add IntelFspPkg to support create FSP bin based on EDKII.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed off by: Ravi Rangarajan <ravi.p.rangarajan@intel.com>
Reviewed by: Maurice Ma <maurice.ma@intel.com>
Reviewed by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed by: Giri Mudusuru <giri.p.mudusuru@intel.com>
Reviewed by: Liming Gao <liming.gao@intel.com>

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

9 years agoUpdate code to support VS2013 tool chain.
Eric Dong [Tue, 29 Jul 2014 02:00:55 +0000 (02:00 +0000)]
Update code to support VS2013 tool chain.

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

9 years agoOvmfPkg/build.sh: Support IA32+X64 build
Jordan Justen [Mon, 28 Jul 2014 18:12:11 +0000 (18:12 +0000)]
OvmfPkg/build.sh: Support IA32+X64 build

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

9 years agoBuildEnv: remove useless check before setting $WORKSPACE
Paolo Bonzini [Mon, 28 Jul 2014 17:37:46 +0000 (17:37 +0000)]
BuildEnv: remove useless check before setting $WORKSPACE

As long as $EDK_TOOLS_PATH is properly set, the BaseTools/ directory
is not necessary in the workspace.  The BuildEnv file itself suggests
setting the variable if BaseTools/ is not available.

However, this only works if the user also sets $WORKSPACE.  Otherwise,
BuildEnv refuses to set WORKSPACE itself and does not even try to use
the preset $EDK_TOOLS_PATH.  Remove the check that fails, as it does
not have any practical benefit.

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

9 years agoedksetup.sh: Ensure that WORKSPACE points to the top of an edk2 checkout
Paolo Bonzini [Mon, 28 Jul 2014 17:37:40 +0000 (17:37 +0000)]
edksetup.sh: Ensure that WORKSPACE points to the top of an edk2 checkout

Since WORKSPACE should point at the EDK2 tree, the right place
to check its validity is edksetup.sh, not BaseTools/BuildEnv.

This patch makes sure that BuildEnv is always invoked with a valid
WORKSPACE.  This lets us show better error messages, and ensures that
we never dirty the user's environment.

BuildEnv will maintain backwards-compatibility and, should the variable
be missing, it will be able to set a default WORKSPACE.  Only the sanity
checks will be of lower quality.

Note that the error message in SetupEnv will never be shown if
SetWorkspace sets WORKSPACE=`pwd`.

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

9 years agoedksetup.sh: Look for BuildEnv under EDK_TOOLS_PATH
Paolo Bonzini [Mon, 28 Jul 2014 17:37:35 +0000 (17:37 +0000)]
edksetup.sh: Look for BuildEnv under EDK_TOOLS_PATH

EDK_TOOLS_PATH is basically a replacement for $WORKSPACE/BaseTools.

It makes sense to check for BuildEnv there, then, if $WORKSPACE
is absent but $EDK_TOOLS_PATH is present.

With this patch, it is possible to separately package tools in
/usr and use them compile EDK2 (doing "rm -rf BaseTools" in the
EDK2 tree).  This is desirable for OS distributions that need to
distribute the tools in a "free software" repository and OVMF in
a "non-free software" repository; bundling the same code in two
different packages causes confusion.  It is also simpler for distros
because the build process for BaseTools and OVMF is completely
different.

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

9 years agoEmulatorPkg: Add support for GCC48 & GCC49 toolchains
Jordan Justen [Mon, 28 Jul 2014 17:37:25 +0000 (17:37 +0000)]
EmulatorPkg: Add support for GCC48 & GCC49 toolchains

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

9 years agoOvmfPkg/build.sh: Add support for GCC49 toolchain
Jordan Justen [Mon, 28 Jul 2014 17:37:19 +0000 (17:37 +0000)]
OvmfPkg/build.sh: Add support for GCC49 toolchain

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

9 years agoBaseTools: Add GCC49 toolchain; align data sections to 0x40
Jordan Justen [Mon, 28 Jul 2014 17:37:10 +0000 (17:37 +0000)]
BaseTools: Add GCC49 toolchain; align data sections to 0x40

GCC 4.9 may use 64-byte (0x40) alignment for data sections.

Therefore we use a different link script for GCC 4.9. The only
difference from the gcc4.4-ld-script is the alignment for data
sections.

When using the GCC48 toolchain with GCC 4.9, this error would be
encountered by GenFw:
> GenFw: ERROR 3000: Invalid
>   Unsupported section alignment.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15697 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoShellPkg: fix typo.
Jeff Bobzin (jeff.bobzin [Mon, 28 Jul 2014 16:58:34 +0000 (16:58 +0000)]
ShellPkg: fix typo.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Bobzin (jeff.bobzin@insyde.com)
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15696 6f19259b-4bc3-4df7-8a09-765794883524

9 years agoUpdate code to support VS2013 tool chain.
Eric Dong [Mon, 28 Jul 2014 07:52:57 +0000 (07:52 +0000)]
Update code to support VS2013 tool chain.

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

9 years agoUpdate code to support VS2013 tool chain.
Eric Dong [Mon, 28 Jul 2014 07:45:49 +0000 (07:45 +0000)]
Update code to support VS2013 tool chain.

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

9 years agoUpdate code to support VS2013 tool chain.
Eric Dong [Mon, 28 Jul 2014 07:43:23 +0000 (07:43 +0000)]
Update code to support VS2013 tool chain.

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