Commit Graph

67 Commits

Author SHA1 Message Date
Shenglei Zhang 54a07f8fe0 MdePkg: Update the comments of IsLanguageSupported
Keep the comment style of IsLanguageSupported align with
other functions.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2019-11-20 15:03:24 +00:00
Tom Zhao ea331a5c21 MdePkg: UefiLib: Add a function to check if a language is supported
Add a function that checks if a target language is in the supported
languages list. Add some calls to this function where appropriate in
UefiLib.c

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Tom Zhao <tzhao@solarflare.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2019-09-17 09:39:04 +08:00
Michael D Kinney 9344f09215 MdePkg: Replace BSD License with BSD+Patent License
https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Replace BSD 2-Clause License with BSD+Patent License.  This change is
based on the following emails:

  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2019-04-09 10:58:13 -07:00
Bret Barkelew 37bf678761 MdePkg/UefiLib: Add a new API GetVariable3
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1396
Add a new API GetVariable3, which can return the attributes of a variable during reading it.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jiansong Xu <jiansongx.xu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2019-01-31 20:19:24 +08:00
Ashish Singhal 0290fca20f MdePkg/UefiLib: Abstract driver model protocol uninstallation
Provided functions in UEFILib that abstract driver model protocol
uninstallation. This helps drivers to install and uninstall protocols
using a library to keep things seemless.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1429

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2019-01-10 23:37:15 +08:00
Star Zeng af5e952159 MdePkg UefiLib: Add new EfiLocateXXXAcpiTable() APIs
https://bugzilla.tianocore.org/show_bug.cgi?id=967
Request to add a library function for GetAcpiTable() in order
to get ACPI table using signature as input.

After evaluation, we found there are many duplicated code to
find ACPI table by signature in different modules.

This patch adds new EfiLocateXXXAcpiTable() APIs in UefiLib
for the request and also the following patch to remove the
duplicated code.

Cc: Younas khan <pmdyounaskhan786@gmail.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2018-09-27 14:25:32 +08:00
Laszlo Ersek 5dbc768f1c MdePkg/UefiLib: don't special-case EFI_FILE_MODE_CREATE in OpenMode
While reviewing the patch that would land as 768b611136
("MdePkg/UefiLib: introduce EfiOpenFileByDevicePath()", 2018-08-16), Ray
pointed out that distinguishing EFI_FILE_MODE_CREATE was wasteful. Per
spec, if the file to create exists, then EFI_FILE_MODE_CREATE is ignored
by EFI_FILE_PROTOCOL.Open(), and the existent file is opened.

Therefore we don't need an attempt to "open-but-not-create" first, and a
fallback to "open-and-create-too" second -- that behavior is internal to
EFI_FILE_PROTOCOL.Open(). Remove the special-casing of
EFI_FILE_MODE_CREATE.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Suggested-by: Ruiyu Ni <ruiyu.ni@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1074
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2018-08-22 10:31:47 +02:00
Laszlo Ersek 768b611136 MdePkg/UefiLib: introduce EfiOpenFileByDevicePath()
The EfiOpenFileByDevicePath() function centralizes functionality from

- MdeModulePkg/Universal/Disk/RamDiskDxe
- NetworkPkg/TlsAuthConfigDxe
- SecurityPkg/VariableAuthenticated/SecureBootConfigDxe
- ShellPkg/Library/UefiShellLib

unifying the implementation and fixing various bugs.

(Ray suggested that we eliminate the special handling of
EFI_FILE_MODE_CREATE in the "OpenMode" input parameter as well. We plan to
implement that separately, under
<https://bugzilla.tianocore.org/show_bug.cgi?id=1074>.)

Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Roman Bacik <roman.bacik@broadcom.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1008
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2018-08-16 20:02:39 +02:00
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
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
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
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
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
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 9df063a06a Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10403 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 15:46:20 +00:00
myronporter af2dc6a70b Grammatical and disclaimer changes (does not follow internal C coding stds.)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10235 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-12 22:19:12 +00:00
erictian 5ee9264acc wrap ASSERT_LOCKED macro with MDEPKG_NDEBUG.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9907 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-02 03:21:46 +00:00
pkandel 1a2f870c9b Second set of changes based on a review of the code comments in the Include directory for typos, grammar issues, and language clarity.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8467 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-04 16:16:15 +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
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
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 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
mdkinney daa6553a39 Use BIT8-1 insetad of UINT8_MAX
Fix a typo in a comment


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6910 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-07 23:59:51 +00:00
mdkinney 9bfdfa522d Move NEXT_MEMORY_DESCRIPTOR() from UefiSpec.h to UEFI Library
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6902 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-07 22:55:55 +00:00
qhuang8 286f1bd2a9 Remove GetCurrentLanguage () from UefiLib in MdePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6759 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 07:44:08 +00:00
jji4 cf8ae2f6fe Function headers in .h and .c files synchronized with spec
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6722 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-25 07:38:54 +00:00
jji4 1d37ab9fb9 Code and comments have been checked with spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6650 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-20 08:55:42 +00:00
vanjeff b31547205f 1.Removed PrintXY from Graphics Library.
2.Added PrintXY and AsciiPrintXY in Uefi Library
3.Moved PcdUgaConsumeSupport from MdeModulePkg to MdePkg.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6642 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-20 03:08:28 +00:00
qwang12 285010e7dc Update doxygen comment for VarArg list parameter. "..."'s description is added.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6623 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-19 03:29:46 +00:00
qhuang8 52ca0d9816 Add 3 macros to manager Timer events.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6563 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-17 14:21:43 +00:00
jji4 50a64e5b0b Synchronization of MDE Library Spec., Mde.dec, and corresponding head files in MdePkg\Include\Library.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6544 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-14 03:45:34 +00:00
qhuang8 def220c4e5 Add extra DriverConfiguration2 protocol parameter for EfiLibInstallAllDriverbinding2() API in UefiLib class.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6418 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-07 06:23:27 +00:00
klu2 e500088c2d Update library class and library instance description for UefiLib to follows specification.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6102 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-10 08:06:02 +00:00
qwang12 f4e8509b62 1) Move RFC_3066_ENTRY_SIZE and ISO_639_2_ENTRY_SIZE to UefiBaseType.h.
2) Rename BufToHexString to BufInReverseOrderToHexString 
3) Rename HexStringToBuf to HexStringToBufInReverseOrder
4) Update function comments in HiiLib.h and IfrSupportLib.h.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5989 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-26 06:20:19 +00:00
klu2 7f1eba7b99 Cleanup "Tiano" word.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5942 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-22 05:22:41 +00:00
qwang12 f8d18bada5 HiiLibGetCurrentLanguage returns the current UEFI variable "PlatformLang" (if this variable does not exist, a default value is returned). This function is called by HiiDatabase itself. Now, HiiLibGetCurrentLanguage is in HiiLib. Because of this, we can't add location of Hii protoocol in the library constructor of HiiLib. This cause Hii Database driver never get loaded (circular dependency).
By moving HiiLibGetCurrentLanguage to UefiLib, library constructor (depex) can be added back to HiiLib to make sure the execution order is correct.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5938 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-21 08:50:52 +00:00
vanjeff ed66e1bc0d clean up the un-suitable ';' location when declaring the functions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5820 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04 09:37:28 +00:00
klu2 fc30687f39 Use doxygen comment style for document entity such as struct, enum, variable that use /// but not //
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5647 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-14 03:30:12 +00:00
yshang1 9199040cb2 Code Scrub of MdePkg/Inlcude/Library
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5533 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-21 07:26:20 +00:00
klu2 01aef47bbe Fix missing include header file and fix typo in comment.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5110 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-22 06:12:08 +00:00
qhuang8 0c9d739571 1. Move some status code related PCDs to MdePkg
2. Let DxeIpl PEIM to enable IDT table by default.
3. Fix spelling typo in UefiLib.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4368 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-07 02:06:52 +00:00