我需要将ioremap返回的内核虚拟地址空间映射到用户空间虚拟地址,以提高性能并节省空间。
嵌入式系统。
编译U-BOOT时,我通过了一个较小的RAM,然后系统通过了。我这样做是为了隐藏DDR的顶部以供将来在内核模块中使用(我需要提前知道物理内存地址)。 我有一个模块,它映射使用ioremap从内核隐藏的DDR的这一部分。
现在,我正在寻找一种将内核虚拟内存映射到用户空间的方法。 根据我的阅读,可以通过在实现了mmap功能的驱动程序上的用户空间中调用mmap系统调用来完成此操作。
在这里我们可以看到一些代码,这些代码演示了内核虚拟地址到用户空间的映射。在此示例中,kmalloc返回了内核虚拟地址,并将其映射到用户空间。 https://linux-kernel-labs.github.io/master/labs/memory_mapping.html#device-driver-memory-mapping
我的问题是我是否可以使用从ioremap返回的内核虚拟地址来实现此示例?