Commit Graph

12 Commits

Author SHA1 Message Date
Lee Leahy ba33c80fc5 DuetPkg-PciBusNoEnumerationDxe: Fix stack overflow
When a PCI bridge is not enabled, the secondary bus may still be zero.
This causes an infinite recursive call to enumerate bus 0 which results
in a stack overflow.  The easy fix is to skip the recursive bus
enumeration for bridges which do not have the secondary bus initialized.

TEST=Build and run CorebootPayloadPkg on Quark/Galileo Gen2

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2016-02-26 10:39:15 +08:00
Joseph Shifflett 30a35388d1 DuetPkg: exit pci function loops early if device is not multi-function
When looping through all PCI functions, code should not look for functions
1-7 if function 0 is not present or if function 0 indicates the device is
not multifunction.  Prior to this fix the code would use stale data in a
buffer to determine if a device is multifunction even if function 0 is not
present.  This fixes a code bug and provides very small performance
improvements.

PCI 2.3 Specification states: They [multifunction devices] are also
required to always implement function 0 in the device. Implementing other
functions is optional and may be assigned in any order.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Joseph Shifflett <joseph.shifflett@hpe.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18575 6f19259b-4bc3-4df7-8a09-765794883524
2015-10-06 20:55:36 +00:00
Ruiyu Ni 5ce5ea60a9 Fix VS2013 build failure.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16008 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-01 08:48:01 +00:00
niruiyu ae837d36df Fix the bug in PciBusNoEnumerationDxe driver to correct parse the 64bit BAR.
Signed-off-by: Ruiyu Ni<ruiyu.ni@intel.com>
Reviewed-by: Rui Sun<rui.sun@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13674 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-23 12:28:42 +00:00
hhtian b1f700a859 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10438 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-28 12:39:50 +00:00
klu2 1c8bea11af Fix a obvious bug for judge whether the PPB support ISA
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9557 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-12 08:55:02 +00:00
qhuang8 b29a823d91 Detab in DuetPkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9170 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-21 02:51:09 +00:00
gikidy 7e7e7fec0a Corrected bad declaration.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8553 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-15 05:15:51 +00:00
klu2 9c83c97ac2 Fix ICC building issue for DuetPkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6749 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 04:37:39 +00:00
mdkinney a5f2a20513 Fix bug walking list of ACPI descriptors searching for bus ranges.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6290 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 03:59:47 +00:00
eric_tian d8bee43ce4 Fix build issue in linux environment.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5636 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-13 04:53:33 +00:00
klu2 10590588cc Add PciBusNoEnumeration module
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5157 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-05 01:28:34 +00:00