Re: [问题] 关于bus address与physical address

楼主: wens (文思)   2019-05-11 21:55:20
bus address 就是说,bus 上的位址,
可能会对应到 physical (CPU看到的) 位址的其他范围。
譬如说 PCI bus 上的 0x0 ~ 0x10000000 可能会对应到
CPU 所看到的 0x20000000 ~ 0x30000000
或是说有系统,如果是从 CPU 或是系统总线存取内存,
可能是从 0x40000000 开始,可是部分周边 DMA 的时候不是从系统总线,
是从 DMA 专用总线。在这总线上,内存是直接从 0x0 开始寻址。
后者是真实存在的硬件。
※ 引述《wandog (fight!!)》之铭言:
: 请教各位大大 address我查到有分三种
: 分别是virtual, physical和bus
: 但是前两者我还可以理解 bus address实在是没感觉
: 查了一些资料 还是没fu 有印象的只有一句话 就是bus address
: 是device看到的address
: 不知道是否有人可以更传神的解释?
作者: wandog (慢跑中毒)   2019-05-11 22:02:00
感谢大大:)
作者: maydaychaaaa (Halo)   2019-07-20 18:26:00
linux kernel doc.下的 DMA-API-HOWTO.txt 有一张图可以帮助理解

Links booklink

Contact Us: admin [ a t ] ucptt.com