linux数据结构map armlinux怎么把内核空间的寄存器映射到用户空间?
浏览量:2516
时间:2021-03-11 15:02:56
作者:admin
armlinux怎么把内核空间的寄存器映射到用户空间?
如果是通过allocupage()获取与高端内存相对应的页面。如何为它找到一个线性空间?内核为此预留了一个线性空间,从pkmapubase到fixaddrustart,用于映射高端内存。在2.6内核上,地址范围是4g-8m到4g-4m。这个空间称为“内核永久映射空间”或“永久内核映射空间”。这个空间使用与其他空间相同的页目录表,对于内核,它是一个swappgudir,对于普通进程,通过CR3寄存器指向。通常,空间是4m,所以只需要一个页表,内核使用pkmappageutable查找页表。通过Kmap(),您可以将页面映射到此空间。因为这个空间的大小是4米,它可以同时映射1024页。因此,对于应该从此空间释放的未使用页(即释放映射关系),kunmap()可以从此空间释放与页对应的线性地址。
linux数据结构map map映射函数 linux编译map文件
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。