Commit Graph

84 Commits

Author SHA1 Message Date
Gao, Liming ff9f93947d Update MdePkg package version from 1.04 to 1.05
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@16028 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-02 05:10:46 +00:00
Andrew Fish 66c6d4d67e MdePkg: Introduced BaseStackCheckLib (cont.)
Liming proposed different changes compare to the latest patch.
This commit ensures the changes goes in his direction.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Andrew Fish <afish@apple.com>
Signed-off-by: Olivier Martin <olivier.martin@arm.com
Reviewed-by: Gao, Liming <liming.gao@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15866 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-21 09:23:58 +00:00
Laszlo Ersek cf556c6a58 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
2014-08-12 07:29:04 +00:00
Gao, Liming e3a7caeaed Updates MdePkg package version from 1.03 to 1.04
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15065 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-09 05:15:53 +00:00
Shumin Qiu c48abbedcb Add BaseSmbusLibNull instance for SmbusLib. Add check in BootScriptExecutorDxe driver for the return status of S3BootScriptExecute().
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14830 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-08 02:59:05 +00:00
Harry Liebel b4319afbda MdePkg: Added ARM Aarch64 architecture support
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: Liming Gao <liming.gao@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14513 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-29 09:52:18 +00:00
Ruiyu Ni 4d0a30a494 Add 4 APIs to DevicePathLib: ConvertDeviceNodeToText, ConvertDevicePathToText, ConvertTextToDeviceNode and ConvertTextToDevicePath.
Add a new instance of DevicePathLib which tries to locate the protocol and if it's not found, it uses the internal functions.

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@14504 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-26 03:00:21 +00:00
lgao4 3aa1ff61b2 Update the Package version.
MdePkg               1.02->1.03
EdkCompatibilityPkg  0.91->0.92
PerformancePkg       0.1->0.2

Signed-off-by: lgao4
Reviewed-by: hhtian


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12844 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-13 08:59:23 +00:00
jljusten fe69ac847a MdePkg: Add S3 library interfaces and base implementations
Signed-off-by: jljusten
Reviewed-by: mdkinney
Reviewed-by: rsun3
Reviewed-by: jyao1

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12222 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-29 22:16:28 +00:00
mdkinney 863be5d010 Add ESAL support libraries to MdePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11784 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-10 18:58:08 +00:00
mdkinney d8ccb37a65 Update DebugLib to provide support for "err" command in the EFI Shell to adjust the filter mask for DEBUG() messages. The "err" command provide the ability to adjust this filter mask at a global level through an EFI Variable and at the module level through a the Debug Mask Protocol. In order to support the degree of flexibility, the DebugLib needs to use library to abstract the get/set operations to the filter mask.
1) Add new DebugPrintErrorLevelLib instances to DSC files.






git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11383 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-11 17:47:00 +00:00
mdkinney 40039e28ed Add SmmPeriodicSmiLib to MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11302 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-11 00:09:16 +00:00
lgao4 2bca9a9b60 Clean up package/platform DSC files by the following steps:
1. Remove PCDs those use the default values/types from the DEC file.
  2. Remove the unused library instances.
  3. Group common library instances in common [LibraryClasses] section as the default library instance for all modules.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10531 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-21 02:49:33 +00:00
lgao4 b9d5a7f1dc Move SecExtractGuidedSectionLib instance from OvmfPkg to MdePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10459 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-05 02:06:23 +00:00
hhtian c3f13d41ab Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10416 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:40:22 +00:00
rsun3 ba9f835144 Add an IO Lib instance based on CPU IO2 Protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10383 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-21 02:06:55 +00:00
qhuang8 1bcef8bdf2 Update MdePkg revision to 1.02
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10201 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-05 03:21:41 +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
mdkinney 1b45a67165 Add Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10002 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 06:00:11 +00:00
mdkinney 0bce7349f5 Move SmmLib from IntelFrameworkPkg to MdePkg because this library is useful to both Framework SMM and PI SMM implementations.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9840 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-27 22:59:52 +00:00
mdkinney 8fc71decbe Change SMM CPU I/O to SMM CPU I/O 2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9735 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 04:20:04 +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
vanjeff e77d8dd3ce minimum updating.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9198 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-26 02:22:37 +00:00
qhuang8 ebd04fc2e5 Update to make end-of-line consistent for all source files in MdePkg. There are no other updates besides that change.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9141 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 14:02:07 +00:00
mdkinney ba4415a260 Add ARM as one of the supported architectures
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9105 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 20:53:24 +00:00
vanjeff 738508648f update MdePkg version to 1.01
update MdeModulePkg version to 0.90
update IntelFrameworkPkg version to 0.90
update IntelFrameworkModulePkg version to 0.90


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9021 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-29 14:33:45 +00:00
qhuang8 48f3634eca Rename library instance name from "PeCoffExtraActionLibNull" to "BasePeCoffExtraActionLibNull"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7823 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-05 15:29:02 +00:00
qhuang8 27b2d249d5 Remove PeRemove PeiPeCoffLoader.h and gPeiPeCoffLoaderGuid, and Add PeCoffExtraActionLib class and instances.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7811 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-05 09:18:28 +00:00
qhuang8 e886512b5b Add BaseReportStatusCodeLibNull to MdePkg.dsc.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7780 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-03 14:09:52 +00:00
qhuang8 bc4eb4078e Update to fix several ECC warning
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7600 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-23 07:04:55 +00:00
xli24 dcbb35eb6c Add comments in DSC files to explain the function and design of components section.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7490 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-10 08:58:47 +00:00
mdkinney 720d3c5fb3 Split out Synchronization Library from Base Library
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7377 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-30 00:45:13 +00:00
qhuang8 373ade0eb6 Update copyright for files modified in this year
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7148 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-29 14:07:07 +00:00
mdkinney 298f0688f7 Add DxeRuntimePciExpressLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6704 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-24 08:29:41 +00:00
xli24 9504e2cdd3 Rename DxePciLibPciRootBridgeIo to UefiPciLibPciRootBridgeIo.
Rename DxePciSegmentLibPciRootBridgeIo to UefiPciSegmentLibPciRootBridgeIo.
Update MODULE_TYPE and BASE_NAME accordingly.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6697 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-24 06:49:15 +00:00
qhuang8 7612bfec25 Update library instances naming.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6519 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-13 09:09:03 +00:00
xli24 1a3eaf06d5 Add following library instances to MDE package:
1. DxePciLibPciRootBridgeIo
2. DxePciSegmentLibPciRootBridgeIo
3. PeiPciLibPciCfg2
4. PeiPciSegmentLibPciCfg2
5. UefiPalLib
6. UefiSalLib 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6451 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-11 08:33:02 +00:00
xli24 a7e883d867 Move FvbServiceLib, GraphicsLib, and DxePalLib from MDE package due to package dependency issue, and update all DSC files accordingly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6286 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-29 09:36:06 +00:00
klu2 ebc5f59da4 Remove duplicate module in MdePkg DSC file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6282 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-29 03:22:41 +00:00
vanjeff ad6d2a4ae6 adjust file list order in dsc file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6268 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28 07:45:15 +00:00
vanjeff 078bee4ebf clean up EBC in inf files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6267 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28 07:17:17 +00:00
xli24 9a022931a6 Modify DSC file according to update of MDE library instances.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6226 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-25 16:18:49 +00:00
klu2 4882bfdc7e Add missing library instance to MdePkg.dsc
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5693 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-20 04:58:29 +00:00
qhuang8 555a6f4536 Remove INF/MSA file name to align with directory name
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5524 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-19 01:35:35 +00:00
qhuang8 0eeb6d1fb8 Remove directory DxeDebugLibSerialPort to BaseDebugLibSerialPort since this instance is EFI agnostic.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5523 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-19 01:32:53 +00:00
qwang12 e52c5a9fdc 1) Cleanup HiiLib, IfrSupportLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4661 6f19259b-4bc3-4df7-8a09-765794883524
2008-02-02 13:11:49 +00:00
qwang12 7d582d6b49 UEFI HII: Merge UEFI HII support changes from branch.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4600 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-21 14:41:31 +00:00
klu2 e057ce1bba Fix the duplicate module in dsc file
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4395 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-17 02:36:06 +00:00
yshang1 5053cf7f4c 1) Fix bugs in BaseMemoryLibOptXXX instances in MdePkg.
2) Add BaseMemoryLibOptXXX in MdePkg.dsc.
3) Clean up the MdeModulePkg.dsc.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4286 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-08 03:40:50 +00:00
klu2 f9168a6f8f Remove library instance of PeiServicesTablePointerLibMm7
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4113 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-15 02:54:21 +00:00