Linux DTS 中memory常见属性

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

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值