假设您在一个
我想要做的是从
目前我找到的资料如下:
Intel x86-64
主板上插入了 2 个 DIMM。所有内存交错(bank 和 channel)都已禁用。我想要做的是从
Linux kernel
(版本 4.11.11
)中保留其中一个 DIMM 的物理内存空间,并将该物理(保留)内存空间暴露给应用程序。DIMMs 将不会在内存通道中移动。我该如何做?这个过程是什么?我是内核开发新手,需要指导。目前我找到的资料如下:
要从Linux内核中保留内存,您可以指定
memmap=nn[KMG]$ss[KMG]
启动参数。该参数将特定的内存标记为从ss到ss+nn的内存保留区域。mmap可用于在进程的地址空间中建立一个映射,将地址pa处的len字节与文件描述符fildes表示的内存对象在偏移量off处的len字节相关联。
预留内存后,我假设需要某些字符设备驱动程序将保留的内存暴露给用户空间应用程序?有什么想法吗?
更新
需要保留的DIMM将位于其专用内存通道中,并且不会启用任何银行或通道交错。