您尚未登录。

楼主 #1 2018-08-08 09:27:37

abc3240660
会员
注册时间: 2018-07-31
已发帖子: 100
积分: 100

DMA最大申请SIZE

32位系统kmalloc默认最大128K
32位系统__get_free_pages默认最大4M

问题:
1.32位系统上如果我要申请20M或者更大的内存用于DMA,怎么办
2.64位系统上kmalloc和__get_free_pages的默认最大size有何变化

离线

#2 2018-08-08 09:53:23

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

Re: DMA最大申请SIZE

kmalloc  最大就支持4MB   
用vmalloc
理论上分配120MB 
我记得可以配置到250MB

离线

楼主 #3 2018-08-08 10:23:12

abc3240660
会员
注册时间: 2018-07-31
已发帖子: 100
积分: 100

Re: DMA最大申请SIZE

超级萌新 说:

kmalloc  最大就支持4MB   
用vmalloc
理论上分配120MB 
我记得可以配置到250MB

vmalloc不能用来DMA

离线

#4 2018-08-08 10:30:01

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

Re: DMA最大申请SIZE

那你直接用ioremap  把物理地址映射到内核虚拟地址上

离线

楼主 #5 2018-08-08 10:58:48

abc3240660
会员
注册时间: 2018-07-31
已发帖子: 100
积分: 100

Re: DMA最大申请SIZE

超级萌新 说:

那你直接用ioremap  把物理地址映射到内核虚拟地址上

是要在内核启动参数中,加个预留内存,然后ioremap吗

离线

#6 2018-08-08 11:46:10

jlau
会员
注册时间: 2018-06-11
已发帖子: 209
积分: 201.5

Re: DMA最大申请SIZE

dma_alloc_coherent()

离线

#7 2018-08-08 13:43:26

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: DMA最大申请SIZE

abc3240660 说:
超级萌新 说:

那你直接用ioremap  把物理地址映射到内核虚拟地址上

是要在内核启动参数中,加个预留内存,然后ioremap吗

你现在是遇到啥问题了? 每次启动的映射的内核虚拟地址会变化?





离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn