目录
九、Linux 下查看 BAR:lspci -vv(实战必会)
一、一个真实的 lspci -vv输出示例
二、Region X就是 BAR
三、逐行拆解 BAR 信息
✅ Region 0:I/O BAR(已淘汰)
✅ Region 2:Non-Prefetchable MMIO BAR
✅ Region 4:Prefetchable MMIO BAR
四、如何从 lspci反推硬件设计?
1️⃣ 看到 64-bit + non-prefetchable
2️⃣ 看到 prefetchable
3️⃣ 看到 size
五、一个“异常”输出的排查案例
❌ 异常 1:BAR size = 0
❌ 异常 2:BAR 地址为 [virtual]
❌ 异常 3:BAR 冲突
六、驱动里怎么用这些 BAR?
七、如何验证 BAR 映射是否真的可用?
1️⃣ 看能否 ioremap
2️⃣ 用 devmem(调试)
3️⃣ 看驱动是否 probe 成功
八、一句话总结(本节约核心)
九、工程师小贴士(强烈建议加框)
十、第 6 篇最终结构(完整版)
九、Linux 下查看 BAR:lspci -vv(实战必会)
前面我们讲了:
BAR 的本质
地址映射
大小探测机制
现在,我们要把这些东西在真实系统里“对上号”。
在 Linux 中,查看 BAR 信息的标准姿势是:
lspci -vv -s <BDF>例如:
lspci -vv -s 01:00.0