reserved-memory :

预留的内存区域需要从linux内核的使用区域中分离出来,仅给特定的驱动程序使用,通过memory-region参数将预留的内存空间分配给特定的设备驱动程序使用。

  • shared-dma-pool
compatible="shared-dma-pool"

有的时候设备驱动程序需要采用DMA的方式使用预留的内存,对于这种场景,可以dts中的节点属性设置为shared-dma-pool,从而生成为特定设备驱动程序预留的DMA内存池。这样,设备驱动程序仅需要以常规方式使用DMA API,但无需使用默认的CMA内存池,它将使用该特定设备的预留内存区域。(独占这一块内存,仍然使用DMA的接口)

  • reusable

对于reusable属性,当驱动程序不使用这些内存的时候,OS可以使用这些内存;而当驱动程序从这个CMA area分配memory的时候,OS可以释放这些内存,让驱动可以使用它。

  • no-map

no-map属性与地址映射有关,如果没有no-map属性,那么OS就会为这段memory创建地址映射,象其他普通内存一样。但是对于no-map属性,往往是专用.

由于保留的内存区域已被内核排除,并标记为no-map,因此iomem信息(/ proc / iomem)显示系统RAM小于主板中的内存量。

/proc/iomem提示了系统中设备的物理布局

cat /proc/iomem
43a04000-459fffff : System RAM
5c200000-11fffffff : System RAM
  5c480000-5d61ffff : Kernel code
  5d770000-5e577fff : Kernel data
500000000-507ffffff : MEM

GitHub 加速计划 / li / linux-dash
10
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:9 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐