Chinaunix

标题: 请问LINUX下个设备的IO端口地址是如何确定的? [打印本页]

作者: dengcainiao    时间: 2007-01-05 21:48
标题: 请问LINUX下个设备的IO端口地址是如何确定的?
比如并口,好象第一个并口的IO地址就是0X378开始,第二个由OX278开始,这些地址都是由谁确定的?
作者: zhangyo0134    时间: 2007-01-06 00:00
原帖由 dengcainiao 于 2007-1-5 21:48 发表
比如并口,好象第一个并口的IO地址就是0X378开始,第二个由OX278开始,这些地址都是由谁确定的?



硬件   总线   ? BIOS ?
作者: dengcainiao    时间: 2007-01-06 19:19
谁能具体说说?
作者: dengcainiao    时间: 2007-01-08 10:08
顶一下吧
作者: obrire    时间: 2007-01-14 13:46
标题: 回复 #2 zhangyo0134 的帖子
这种地址,是由硬件唯一确定的。
所以你在BIOS或BSP上可以看到相关信息。
作者: 一剑凌云山海情    时间: 2007-01-16 12:33
硬件决定的。io或存储器的地址引脚如何通过总线和cpu相连,就决定了他们的地址分布。想深入了解,可以翻一下《微机原理》
作者: sisi8408    时间: 2007-01-16 15:38
原帖由 一剑凌云山海情 于 2007-1-16 12:33 发表于 6楼  
硬件决定的。io或存储器的地址引脚如何通过总线和cpu相连,
就决定了他们的地址分布。想深入了解,可以翻一下《微机原理》

还需linux的分配和认可,所以有地址冲突。
作者: 一剑凌云山海情    时间: 2007-01-16 15:43
我是单纯从硬件层来说的。如果涉及到系统内核在mmu(内存管理单元)的操作和地址重映射,我没深入了解过。
作者: sisi8408    时间: 2007-01-16 16:07
不深入了解没关系,MMU太离谱。
作者: dengcainiao    时间: 2007-01-16 16:56
打个比方,比如一个PCI设备,他上边的寄存器或者内存是否连入系统的内存地址空间或者I/O地址空间,是在其硬件设计阶段就做好了,具体的就是你说的如何通过PCI总线与CPU相连是这样吗?
作者: sisi8408    时间: 2007-01-16 17:04
pci设备按pci标准告诉linux他的需求,linux尽量满足,
过PCI总线与CPU相连,不会是这样。
作者: dengcainiao    时间: 2007-01-16 21:29
对不起你的意思我不太清楚。最近我在看LINUX PCI部分的源代码,我理解好象是在PCI设备的配置头里标识内存区域的寄存器中有一位是告诉操作系统这部分内存区域是用内存地址空间还是I/O地址空间。这是否就是你说的PCI设备告诉LINUX他的需求?

  无论PCI上的内存区域映射到I/O地址空间还是系统内存地址空间,最终访问硬件的时候还要变成相对于设备的地址。这应该是硬件完成的影射?那么对于I/O地址空间和内存地址空间这种影射机制都一样吗?

[ 本帖最后由 dengcainiao 于 2007-1-16 21:49 编辑 ]
作者: sisi8408    时间: 2007-01-17 08:45
先把BAR搞清楚,再说空间的问题,
看源码偶很羡慕,别看糊涂了,
作者: YaoFei    时间: 2007-01-17 08:46
具体到并口、串口的地址和配置,是1980年代IBM推出第一代IBM PC(8088@4.77MHz,64K内存)的时候规定死的。
作者: lhk_pf    时间: 2010-03-06 19:51
具体到并口、串口的地址和配置,是1980年代IBM推出第一代IBM PC(8088@4.77MHz,64K内存)的时候规定死的。
YaoFei 发表于 2007-01-17 08:46



    没错,IBM pc及兼容计算机 都是用规定死的io端口。个人觉得是在硬件地址译码的时候已经把具体设备分配给具体地址。
作者: lhk_pf    时间: 2010-03-06 19:52
具体到并口、串口的地址和配置,是1980年代IBM推出第一代IBM PC(8088@4.77MHz,64K内存)的时候规定死的。
YaoFei 发表于 2007-01-17 08:46

    没错,IBM pc及兼容计算机 都是用规定死的io端口。个人觉得是在硬件地址译码的时候已经把具体设备分配给具体地址。有本书叫《80X86 IBM PC 及兼容计算机》里面讲的很详细!
作者: accessory    时间: 2010-03-07 00:42
考古贴?

并口,串口应该是IBM PC规范写死的。PCI 就差别很大了,现在是通过BIOS 和 ACPI来分配的。在驱动版有几篇专门的讨论帖子。
作者: snail_314    时间: 2010-03-07 01:06
并口这种遗留设备如上面大家所说,是ibm pc标准定的




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2