Commit Graph

38 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
Ruiyu Ni 6b5f577faf Change PciIo::GetBarAttributes() to return unsupported for a unsupported bar even it's below 6 to follow the UEFI Spec.
Contributed-under: TianoCore Contribution Agreement 1.0
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@15538 6f19259b-4bc3-4df7-8a09-765794883524
2014-05-19 06:08:26 +00:00
rsun3 3d78c020d2 Fix comparisons of enumerated types which may cause warnings for some compilers.
Signed-off-by: Sun Rui <rui.sun@intel.com>
Reviewed-by: Gao Liming <liming.gao@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13686 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-28 06:48:28 +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
rsun3 7e242786b7 MdeModulePkg PciBusDxe and DuetPkg PciBusNoEnumerationDxe: Update ResetPowerManagementFeature() to clear 4 related R/W bits in the PMCSR register, leaving other bits preserved.
Signed-off-by: Sun Rui <rui.sun@intel.com>
Reviewed-by: Fan Jeff <jeff.fan@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13189 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-12 01:49:27 +00:00
rsun3 94020bb40f Improve robustness when scanning PCI Option ROM.
Signed-off-by: rsun3
Reviewed-by: geekboy15a


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13095 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-14 03:17:17 +00:00
jljusten 815119f3d9 DuetPkg, MdeModulePkg: Fix several enum comparions
These comparisons were not comparing an enum variable
with a member of the same enum type.

GCC 4.5 generated a warning for these comparison
operations.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10932 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-13 07:08:29 +00:00
klu2 12c1395b15 fix X64 build broken
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10567 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-05 11:01:28 +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
jljusten c6f293af97 DuetPkg: Fix build break caused by EFI_SPECIFICATION_VERSION usage
The EFI_SPECIFICATION_VERSION MACRO is no longer defined in edk2
builds, and this module does not need to support the older < UEFI 2.0
code path.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10096 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 00:30:20 +00:00
klu2 91a6db797c Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10078 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 16:52:10 +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
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
vanjeff e5d1b4f48b add correct [Depex] section.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9058 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-12 06:55:30 +00:00
vanjeff ebe8d2ba8d remove work around, since we had added return value check.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8921 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-13 06:07:23 +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
mdkinney df93b0ff9a Move gEfiPciOptionRomTableGuid from IntelFrameworkModulePkg to the DuetPkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8483 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 21:32:38 +00:00
mdkinney 94853f20f3 Terminate the Capability List traversal if the Capability Pointer is less than 0x40, or the Capability Pointer is not aligned on a 32-bit boundary.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8375 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 22:25:38 +00:00
mdkinney e8ba34ff3d Update DUET PCI Bus Driver to use PeCoffLib instead of parsing the PE/COFF image itself
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7439 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-05 19:31:45 +00:00
qhuang8 c7b5f50ffa Fix minor coding style issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7434 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-05 02:13:25 +00:00
qhuang8 eea53ce14d Clean up to update the reference of the these macros:
EFI_SIGNATURE_16 -> SIGNATURE_16
  EFI_SIGNATURE_32 -> SIGNATURE_32
  EFI_SIGNATURE_64 -> SIGNATURE_64
  EFI_FIELD_OFFSET -> OFFSET_OF
  EFI_MAX_BIT      -> MAX_BIT
  EFI_MAX_ADDRESS  -> MAX_ADDRESS
These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7049 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 15:31:52 +00:00
vanjeff 1833218d93 1. added functions header for MACROS in PCI22.h.
2. move IS_PCI_GFX to modules, since it not defined in PCI spec.
3. added comments for some structure in ElTorito.h.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6928 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-09 06:40:02 +00:00
klu2 2b7d16cf8c Pass ICC building.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6761 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 09:11:41 +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
jljusten d4f59c13fb Fix warning generated by GCC compiler.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6683 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-23 23:49:37 +00:00
jljusten 69da1e7c48 Fix warning generated by GCC. This warning could have been resolved
with additional parenthesis, but I think the logic was previously
incorrect.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6682 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-23 23:47:14 +00:00
klu2 8e1ac15ab8 1, Add <Library/DevicePathLib.h> for all source that use device path utility macros
2, Add DevicePathLib library class to module's INF that use device path utility macros

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6460 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-11 15:50:13 +00:00
jji4 e56dd2ce13 Patch to remove STATIC modifier. This is on longer recommended by EFI Framework coding style. All duplicated symbols has been renamed accordingly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6302 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 06:17:19 +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
mdkinney a397f1b06e Use Pci.h instead of Pci23.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6249 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-27 02:55:10 +00:00
mdkinney 03c110536d Fix duplicate symbol in this driver.
"GLOBAL_REMOVED_IF_UNREFERENCED" must never be used with an "extern" declaration.  It can only be used with the declaration of the actual global variable.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6241 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-27 02:11:11 +00:00
vanjeff bc14bdb317 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6240 6f19259b-4bc3-4df7-8a09-765794883524 2008-10-27 01:52:32 +00:00
klu2 bbef2ffb57 Fix issue that wrong use Guid and Protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5735 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-27 11:52:34 +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