免费注册 查看新帖 |

Chinaunix

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

请教个pci_resource_start和pci BAR的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-20 16:48 |只看该作者 |倒序浏览
PCI BAR中的值和对应的pci_resource_start()函数获得的值不一样

请教一个各位大侠:
1、pci_resource_start()函数得到的地址是什么地址?  物理地址? 内核虚拟地址?
2、pci Bar中保存的地址是什么地址?    总线地址? 物理地址?

3、通常所说的“物理地址”是不是就是“内存地址”呢?

论坛徽章:
0
2 [报告]
发表于 2010-05-20 17:34 |只看该作者
1.虚拟地址。pci的地址资源都放在resouce资源树。
2.pci bar应该算是总线地址,也就是pci的槽位地址。
3.我理解是的。

我是newbie,错了请指正。
毛大侠的书pci一章讲的非常好,推荐。(其实那本书我就读了pci一章

论坛徽章:
0
3 [报告]
发表于 2010-05-20 18:48 |只看该作者
回复 2# klanet

哪本书?
书名告诉我下,下下来看看

linux内核源代码情景分析?

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
4 [报告]
发表于 2010-05-20 18:55 |只看该作者

论坛徽章:
0
5 [报告]
发表于 2010-05-20 20:45 |只看该作者
回复 4# smalloc

万分感谢,正是我需要的

论坛徽章:
0
6 [报告]
发表于 2010-05-21 23:54 |只看该作者
2楼关于1的回答是错的。
看这里: http://dev.yesky.com/412/2639912_2.shtml

pci_resource_start()函数得到的地址是物理地址,所以才要IOREMAP一下才能访问。

另外,似乎没听过“内存地址”这个词,一般要看上下文。

论坛徽章:
0
7 [报告]
发表于 2010-05-22 13:50 |只看该作者
2楼关于1的回答是错的。
看这里:

pci_resource_start()函数得到的地址是物理地址,所以才要IOREMAP一 ...
accessory 发表于 2010-05-21 23:54


这个物理地址是啥意思啊?
是指的设备上的地址呢还是内存上的地址?

论坛徽章:
0
8 [报告]
发表于 2010-05-22 21:02 |只看该作者
2楼关于1的回答是错的。
看这里:

pci_resource_start()函数得到的地址是物理地址,所以才要IOREMAP一 ...
accessory 发表于 2010-05-21 23:54



    感谢指正!
我再翻翻毛德操的书。

论坛徽章:
0
9 [报告]
发表于 2010-05-22 22:50 |只看该作者
回复 7# 527639827

前面人贴的这个帖子lz看完了没?
http://linux.chinaunix.net/bbs/viewthread.php?tid=919019

物理地址(physical address)
用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。
——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,然后把这个数组叫做物理地址,但是事实上,这只是一个硬件提供给软件的抽像,内存的寻址方式并不是这样。所以,说它是 “与地址总线相对应”,是更贴切一些,不过抛开对物理内存寻址方式的考虑,直接把物理地址与物理的内存一一对应,也是可以接受的。也许错误的理解更利于形而上的抽像。

另外,你的这句"设备上的地址呢还是内存上的地址?" 我看不明白.
你能详细解释下这2个地址的具体概念么? 其实内存也是个设备.

论坛徽章:
0
10 [报告]
发表于 2010-05-24 08:26 |只看该作者
回复  527639827

前面人贴的这个帖子lz看完了没?


物理地址(physical address)
用于内存芯片级的单 ...
accessory 发表于 2010-05-22 22:50



    我说的比较模糊了, 我看ldd3 409页上面关于各种地址的概念,现在还是不是很理解各种概念的意思及他们的关系。

我想说的是哪个地址是 物理地址(处理器和系统内存之间使用)  还是 总线地址(外围设备和内存之间使用)?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP