Commit Graph

132 Commits

Author SHA1 Message Date
Liming Gao 9095d37b8f MdePkg: Clean up source files
1. Do not use tab characters
2. No trailing white space in one line
3. All files must end with CRLF

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
2018-06-28 11:19:47 +08:00
Liming Gao 3d7c6cfbab MdePkg UefiLib: Use comparison logic to check UINTN parameter
Commit d2aafe1e41 changes the input parameter
from BOOLEAN to UINTN. Its comparison logic should be updated.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
2018-06-12 09:23:11 +08:00
Star Zeng fe507283af MdePkg UefiLib: Fix in EfiLocateProtocolBuffer()
Free HandleBuffer for error path in EfiLocateProtocolBuffer().

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2018-06-05 17:43:15 +08:00
Liming Gao d2aafe1e41 MdePkg UefiLib: Fix XCODE5 varargs warning
https://bugzilla.tianocore.org/show_bug.cgi?id=741
Change GetBestLanguage() parameter type from BOOLEAN to UINTN

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Steven Shi <steven.shi@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2018-05-23 10:37:47 +08:00
Marvin.Haeuser@outlook.com 5b9626e8eb MdePkg/UefiLib: Add 'OUT' decorator where necessary.
The functions AddUnicodeString() and AddUnicodeString2() might return
a new value into their parameter UnicodeStringTable, hence add the
appropiate 'OUT' decorator.

V2: Update FrameworkUefiLib as well.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2018-05-17 15:22:12 +08:00
Michael D Kinney 40070a186a MdePkg/UefiLib: Add EfiLocateProtocolBuffer()
https://bugzilla.tianocore.org/show_bug.cgi?id=838

Add new API to the UefiLib that locates and returns
an array of protocols instances that match a given
protocol.

Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Bret Barkelew <Bret.Barkelew@microsoft.com>
2018-02-11 15:10:03 -08:00
Hao Wu 458cd568b6 MdePkg/UefiLib: Avoid mis-calculate of graphic console size
The commit adds check in function InternalPrintGraphic() to ensure that
the expression:

Blt->Width * Blt->Height * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL)

will not overflow in the UINTN range.

The commit also adds an explicit UINT32 type cast for 'Blt->Width' to
avoid possible overflow in the int range for:

Blt->Width * Blt->Height

Since both Blt->Width and Blt->Height are of type UINT16. They will be
promoted to int (signed) first, and then perform the multiplication
operation. If the result of multiplication between Blt->Width and
Blt->Height exceeds the range of type int, a potential incorrect size will
be passed into function AllocateZeroPool().

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>
2017-04-14 13:16:05 +08:00
Star Zeng 1b1970630d MdePkg UefiLib: Make the event empty function public
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=298

Then this event empty function can be used to remove
the duplication in drivers and other libraries.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-01-20 15:51:16 +08:00
Laszlo Ersek 772fb7cb13 MdePkg/UefiLib: introduce EfiEventGroupSignal
This is a small convenience function that eases signaling an event group
(identified by GUID). An example where it can be used is Platform BDS
signaling the End-of-DXE event group.

The naming follows EfiNamedEventSignal().

The patch modifies the library class header, and updates the most commonly
used library instance at once. Other library instances in the edk2 tree
will be adapted in the following patches.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-03-23 12:05:39 +01:00
Laszlo Ersek ca8f50e88e MdePkg/UefiLib: move InternalEmptyFunction to UefiLib.c
The InternalEmptyFunction() is currently only used by code in
"UefiNotTiano.c" -- "Library functions that abstract areas of conflict
between framework and UEFI 2.0.". In the next patches,
InternalEmptyFunction() will be used from "UefiLib.c" as well, hence
promote it to "general utility" status: move the function definition to
"UefiLib.c", and place the function declaration (which is already extern)
into "UefiLibInternal.h".

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-03-23 12:04:48 +01:00
Jordan Justen 1ffb3e011d MdePkg: Convert all .uni files to utf-8
To convert these files I ran:

$ python3 BaseTools/Scripts/ConvertUni.py MdePkg

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19256 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-15 04:53:50 +00:00
Hao Wu a3f28ac92c MdePkg UefiLib: Fix wrong DestMax passed to StrCpyS()
The second parameter 'DestMax' of StrCpyS() should be the number of
unicode characters, not the size in bytes.

Also, code is modified to keep align with the one in
IntelFrameworkPkg\Library\FrameworkUefiLib\UefiLibPrint.c.

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>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18160 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-05 02:55:40 +00:00
Heyi Guo 228593f906 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
2015-07-06 06:34:47 +00:00
Hao Wu df1e74f5a2 MdePkg UefiLib: Use safe string functions
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@17742 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-30 06:29:51 +00:00
Gao, Liming f7ce802f6f MdePkg: Convert non DOS format files to DOS format
Module UNI and Package UNI files are not DOS format. Convert them to DOS format.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16042 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03 08:33:28 +00:00
Gao, Liming 9b94012517 MdePkg: INF/DEC file updates to EDK II packages
2. Add MODULE_UNI_FILE file that contains the localized Abstract and Description of a module.
a. Addresses an information gap between INF files and the UEFI Distribution Packaging Specification XML schema
b. There will be an associated update to UPT in BaseTools to consume MODULE_UNI_FILE and associated UNI file during UDP creation that performs the INF -> XML conversion.
c. There will be an associated update to UPT in BaseTools to produce MODULE_UNI_FILE and associated UNI file during UDP installation that performs the XML -> INF conversion.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15918 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-27 09:37:07 +00:00
Gao, Liming c92c179040 MdePkg: INF/DEC file updates to EDK II packages
1. Usage information in INF file comment blocks are either incomplete or incorrect.  
This includes usage information for Protocols/PPIs/GUIDs/PCDs/HOBs/Events/BootModes.  
The syntax for usage information in comment blocks is defined in the EDK II Module Information (INF) Specification

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15917 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-27 09:33:09 +00:00
Mars Lin e8326a006a This patch uses dummy routine as NotifyFunction to make sure those 2 APIs provided from library can create event as expected when the caller does not feed in a NotifyFunction. Also, typo is corrected.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Mars Lin <Mars_Lin@phoenix.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14631 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-05 06:12:04 +00:00
Ruiyu Ni de27b8f070 Fill the ImageHandle and DriverBindingHandle field of Driver Binding Protocol before installing the Driver Binding Protocol instance.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14460 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-10 02:06:49 +00:00
ydong10 8b5b3d421f Allocate temp buffer instead of change the input string to avoid crush.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14040 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-08 08:30:51 +00:00
niruiyu f04544be83 Enhance CreatePopup to call ReadKeyStroke() before calling WaitForEvent(). This can handle the case when in lazy ConIn mode.
Signed-off-by: Ruiyu Ni<ruiyu.ni@intel.com>
Reviewed-by: Eric Dong<eric.dong@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13945 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-15 06:31:25 +00:00
ydong10 33026ccf33 Enable wide string support for CreatePopUp function in UefiLib.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13594 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-06 09:14:18 +00:00
ydong10 bf4a3dbd47 Add new interface GetVariable2 and GetEfiGlobalVariable2 to return more info. Also replace old interface with new one.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13375 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-30 07:36:00 +00:00
rsun3 265fa9fa39 MdePkg: Add a new macro VA_COPY for variable argument support. Fix a bug in the UefiLib instance that there is a non portable assumption that Marker is copied when passed to a function.
Signed-off-by: rsun3
Reviewed-by: mdkinney


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13025 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-22 02:39:57 +00:00
rsun3 3bbe68a362 Add Missing invocations to VA_END() for VA_START().
Signed-off-by: rsun3
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12979 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-01 06:06:08 +00:00
jcarsey f405c0674a Add 2 functions to UefiLib library class: CatSPrint and CatVSPrint.
Implement these functions in the UefiLib instance.

Add 2 functions to PrintLib library class: SPrintLengthAsciiFormat and SPrintLength.
Implement these functions in the BasePrintLib instance and the DxePrintLib2Protocol instance.

Signed-off-by: jcarsey
Reviewed-by: jljusten
Reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12081 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-02 23:33:06 +00:00
ydong10 6e80bc62cc Enhance inf to follow spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11393 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-14 08:46:05 +00:00
mdkinney 5bd2d2cb03 Add an empty CONSTRUCTOR to the UefiLib to resolve library dependency issues.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11181 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-18 00:10:30 +00:00
lgao4 6389e32beb Use FreePool() library API to replace gBS->FreePool() service.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10712 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-29 06:44:13 +00:00
myronporter 58380e9c61 Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10615 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-30 00:13:25 +00:00
myronporter 2fc59a003e Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10604 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-25 21:56:02 +00:00
mdkinney cda8ba5ed7 Add ASSERT() conditions to UEFI Library Print() and AsciiPrint() functions if gST->ConOut is NULL.
Add ASSERT() conditions to UEFI Library ErrorPrint() and AsciiErrorPrint() functions if gST->StdErr is NULL.
Add ASSERT() conditions to UEFI Library PrintXY() and AsciiPrintXY() gST->ConsoleOutputHandle is NULL.
Update Print(), AsciiPrint(), ErrorPrint(), AsciiErrorPrint() to return 0 if the Simple Text Output Protocol OutputString() call returns an error.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10576 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-11 19:11:20 +00:00
hhtian 19388d2960 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10415 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:37:43 +00:00
lgao4 6bfbb5f0e0 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
davidhuang b7c5912af1 PI 1.1 SMM Feature Check-in
1. Add SmmServicesTableLib library class/instance.
2. Add SmmIoLibCpuIo/SmmPciLibPciRootBridgeIo library instance.
3. Update some library INF to support SMM_CORE module type.
4. Update dec/dsc to include new modules.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9590 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-23 06:44:33 +00:00
eric_tian 63fffe4e72 fix the issue when passing a L"" string to PrintXY.
1. According to the value of RowInfoArraySize to get the actual number of printed line.
2. If RowInfoArraySize equates 0, then it means nothing is printed.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8464 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-04 13:50:14 +00:00
eric_tian 57ee276f16 update comments on implementation
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8389 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 10:04:43 +00:00
eric_tian 392b3cf8b5 sync the StrToImage flag of UGA to consistent with GOP
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8388 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 10:01:46 +00:00
eric_tian d9e63d93d5 update the file description of PrintXY and AsciiPrintXY. and also refine the implementation to return the number of actual printed characters.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8372 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 10:02:33 +00:00
eric_tian e74738b1c3 In PrintXY() and AsciiPrintXY(), the number of chartacter returned is at most PcdUefiLibMaxPrintBufferSize, and will return the number of characters actually displayed on the screen not includng partial characters that may be clipped by the right edge of the display.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8289 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 06:58:28 +00:00
mdkinney b9c8d8bd15 Clarify clipping behavior of PrintXY() and AsciiPrintXY().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8271 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-08 23:48:32 +00:00
qhuang8 51969ecb37 Fix several minor coding style issues.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8092 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-15 14:31:45 +00:00
vanjeff 11171f0300 add security check
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8088 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-15 04:04:47 +00:00
lgao4 db2ef756ba Add CreatePopUp API into UefiLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8016 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-02 09:29:34 +00:00
gikidy 28d3e14ffb Fix some typo.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8008 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-02 05:34:26 +00:00
qhuang8 35db118601 Fix minor formatting issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7939 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-24 14:31:16 +00:00
qhuang8 6d28c49754 Add GetVariabe(), GetEfiGlobalVariable() and GetBestLanguage() to UefiLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7936 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-24 14:18:13 +00:00
qhuang8 8408411af4 Fix typo in API prototype
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7664 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 02:59:42 +00:00
jji4 f0a8eeb2c5 Comments synchronized
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7480 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-09 03:28:44 +00:00
jji4 63ba999ccb Comments checked with spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7463 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 07:12:56 +00:00