diff options
author | Star Zeng <star.zeng@intel.com> | 2018-09-13 10:07:30 +0800 |
---|---|---|
committer | Star Zeng <star.zeng@intel.com> | 2018-11-07 22:06:59 +0800 |
commit | 935c402311f6f46df8265725c8fc3c5b13d4982a (patch) | |
tree | 383b3d4702a55936f69fb0d3dc781170d95d2542 /edksetup.bat | |
parent | 1d707a02d86e5f43cf0ed2cd43f7583a8d7a39db (diff) | |
download | edk2-935c402311f6f46df8265725c8fc3c5b13d4982a.tar.gz edk2-935c402311f6f46df8265725c8fc3c5b13d4982a.tar.bz2 edk2-935c402311f6f46df8265725c8fc3c5b13d4982a.zip |
IntelSiliconPkg IntelVTdDxe: Optimize when func 0 is not implemented
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1169
PCI spec:
They are also required to always implement function 0 in the device.
Implementing other functions is optional and may be assigned in any
order (i.e., a two-function device must respond to function 0 but
can choose any of the other possible function numbers (1-7) for the
second function).
This patch updates ScanPciBus() to not scan other functions if
function 0 is not implemented.
Test done:
Added debug code below in the second loop of ScanPciBus(),
compared the debug logs with and without this patch, many
non-0 unimplemented functions are skipped correctly.
DEBUG ((
DEBUG_INFO,
"%a() B%02xD%02xF%02x VendorId: %04x DeviceId: %04x\n",
__FUNCTION__,
Bus,
Device,
Function,
VendorID,
DeviceID
));
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Cc: Tomson Chang <tomson.chang@intel.com>
Cc: Jenny Huang <jenny.huang@intel.com>
Cc: Amy Chan <amy.chan@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: Jiewen Yao <jiewen.yao@intel.com>
(cherry picked from commit e69d7e99e77d2f7aa1390502d8b42d61f9aeb99a)
Diffstat (limited to 'edksetup.bat')
0 files changed, 0 insertions, 0 deletions