mmap 和 ioremap 修改的内存区域不一样

问题描述 投票:0回答:0

我正在尝试通过 Grub 从内核访问持久内存保留。我已经为该 pmem 创建了一个 dax 设备,并尝试了一个简单的程序,该程序仅使用 mmap 访问 pmem 并在其上读写。 我需要在内核上做同样的操作,所以我获取了 pmem 的物理地址并使用 ioremap 获取一个指针并在其上读取和写入,它不会出现任何错误但是写入或从内核或用户空间读取不会似乎修改了同一个区域,至少从内核写入一个值不会从用户空间读取,并且从用户空间做同样的事情也不会反映在内核区域上。但是在用户空间中写入和在相同的上下文中读取是可行的,并且在内核上也是如此。 不确定我是否对虚拟地址、物理地址感到困惑...

c linux linux-kernel driver ioremap
© www.soinside.com 2019 - 2024. All rights reserved.