发新话题
打印

vaddr_to_kaddr的疑惑

vaddr_to_kaddr的疑惑

根据陈教授的书上说的,是把内核的虚拟地址转换为内核逻辑地址,我看了里面代码最后一行是:ret|=(va&(page_size-1))上面的意思是页内偏移地址加到页地址上,就不就是物理地址了吗?这么书上的不一样了!!!!
请高手解释一下!!!!关于内存管理实例的
kaddr和物理地址的映射关系应该是简单的偏移PAGE_OFFSET的线形映射关系。

不晓得 ret 的原值,猜测应该是先找出 vaddr 所在页框的物理地址,再加上了 PAGE_OFFSET后的值。然后才执行你给出的操作,加上页内偏移,转换成对应的 kaddr。
如果是这样应该就是正确的。
谢谢拉.
上面的ret=(unsigned long)page_address(pte_page));/获得页的启始地址/不知道是所谓物理页的地址啊
发新话题