在重新映射的地址范围内分配内存

时间:2020-11-01 14:14:32

标签: linux-kernel embedded-linux

我正在编写一个字符驱动程序,其作用是桥接黑白邮箱框架,并为用户空间应用程序提供fop。 用户应用程序使用此char驱动程序将数据传输到远程处理器。但是,要求远程处理器希望数据在固定的内存范围内。该范围在 probe() fn中提供给char drv。 我可以对提供的addr范围进行 memremap()并在只有单个用户应用程序的情况下使用它,但是在我目前的情况下,我有多个应用程序试图将数据缓冲区发送到远程核心。 因此,我需要在特定的内存范围内分配内核缓冲区,然后对收到的每个数据缓冲区进行 copy_from_user(),然后将物理地址传递给远程内核(arm m0 +)

Linux内核中有没有进行这种分配的API?

对此,任何指针都将非常感谢和帮助。预先感谢您的任何建议/问题。

ps:远程内核提供的内存地址范围是2GB较低范围(0x8000_0000-0xFFFF_FFFF)内的RAM地址

0 个答案:

没有答案
相关问题