免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3789 | 回复: 4
打印 上一主题 下一主题

[硬件及驱动] lspci -tv命令输出 [复制链接]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-20 18:11 |只看该作者 |倒序浏览
下面是lspci -tv的一个输出:
\-[0000:00]-+-00.0  Intel Corporation Xeon E5/Core i7 DMI2
             +-01.0-[01-3f]----00.0-[02-05]--+-00.0-[03]----00.0  PMC-Sierra Inc. Device 8019
             |                                               +-01.0-[04]----00.0  PLX Technology, Inc. PEX 8619 16-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA
             |                                               \-08.0-[05]--
               +-02.0-[40]--+-00.0  Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe
             |            +-00.1  Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe
             |            +-00.2  Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe
             |            \-00.3  Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe

上面红色标出的部分:
1. 01.0-[01-3f] ----- 00.0-[02-05] ...,中, 中括号中的[01-3f], [02-05]是什么意思?
2. 01.0-[01-3f]----00.0-[02-05]--+-00.0-[03]----00.0  PMC-Sierra Inc. Device 8019, 这一行应该怎么解释?01.0 是dev1.fun0,00.0是dev0.fun0, 用虚线连接起来怎么解释?

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
2 [报告]
发表于 2015-08-21 09:44 |只看该作者
求回复。。。。。

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
3 [报告]
发表于 2015-08-21 12:02 |只看该作者
人工置顶。。。。

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
4 [报告]
发表于 2015-08-21 15:42 |只看该作者
看着像宽度优先遍历(BFS)?
  1. void show_tree_dev(struct device *d, char *line, char *p)
  2. {
  3.         struct pci_dev *q = d->dev;
  4.         struct bridge *b;
  5.         p += sprintf(p, "%02x.%x", q->dev, q->func);
  6.         for (b = &host_bridge; b; b = b->chain) {
  7.                 if (b->br_dev == b) {
  8.                         if (b->secondary == b->subordinate)
  9.                                 p += sprintf(p, "-[%02x]-", b->secondary);
  10.                         else
  11.                                 p += sprintf(p, "-[%02x-%02x]-", b->secondary, b->subordinate);
  12.                         show_tree_bridge(b, line, p);
  13.                         return;
  14.                 }
  15.         }
  16.         print_it(line, p);
  17. }
复制代码
根据以上代码, aa.bb-[cc-dd]-对应pci bridge, aa=dev#, bb=func#, cc=secondary#, dd=subordinate#
secondary#是当前pci bridge secondary bus使用的总线号,
subordinate#是当前pci子树中,编号最大的pci总线号。

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
5 [报告]
发表于 2015-08-24 12:11 |只看该作者
回复 4# nswcfd

谢谢!
我可以这样理解:
secondary 是这个pci bridge 下延伸出来的第一个bus, subordinate 是该pci bridge下 可能的bus中的最大的编号
对吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP