Linux内核或BIOS如何将PCIe 端点设备内存映射到systems 空间?有什么API可以实现吗?假设在为PCIe端点设备编写Linux设备驱动程序时,如何将PCIe设备内存映射到MMIO空间?还是在枚举期间,设备已经被BIOS映射到MMIO,而我需要做的就是使用ioremap()将设备MMIO重新映射到内核虚拟地址的空间?
平台: Linux on x86
这里是我的问题:我想从运行在Linux内核空间中的代码中对数据文件的一部分进行内存映射。我想稍后也从Linux内核空间中运行的代码中撤销相同的内存映射。如何执行这些操作?我试图在没有用户进程的内核空间中做到这一点。
我浏览了网络搜索和Linux内核书籍,包括Bovet和Cesati的"Understanding the Linux Kernel“。
MS104-SH4上的U-Boot(2009.03)具有如下所示的RAM内存映射。0x8c000000不能使用(4kB)0x8c400000 for Linux进程(28MB)
对我来说,Linux内核和根文件系统的3MB太小了,因为Linux内核和ramdisk分别有1MB和3.5MB。因此,我想更改上面的内存映射,例如,如下所示。谁