Xen中DMA传输解析

原文地址:http://blog.csdn.net/kevin_ut/article/details/25187703

一、地址种类(address type)

地址(address)有两种:


1. on-card device memory (Linux documentation里叫它做 bus memory) 
2. main memory (physical memory)


于是就需要有一个mapping 的机制,把它们映射起来,也叫做translate 过来。


一个例子是,从memory 的地址传输(transfer)到网卡的buffer 里,然后网卡再把buffer里的数据发送出去,这样来实现网络传输。那么,buffer里就有一个buffer 地址,它是与main memory 地址是不同的,例如main memory 是用64位地址,e.g., 0x1234FFFF5678EEEE, 而buffer 地址只有16位,e.g., 0x5678, 因此,这里需要有一个mapping的机制在起作用。


问题:
1. 如果有mapping, 那是不是说 on-card memory 与 physical memory 的一个duplicate 呢?如何保持它们的同步更新呢?


你可能感兴趣的:(Xen中DMA传输解析)