gpt4 book ai didi

linux - 如何在 Linux 内核中的特定范围内分配 dma 缓冲区?

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:24 24 4
gpt4 key购买 nike

我有一个微处理器,它只能通过其数据缓存访问 DDR 中的 0xFFFFFF 字节。我可以给它一个偏移量,它可以开始读取这些 0xFFFFFF DDR

我想为其分配 dma 缓冲区。

我发现我可以提供一个掩码来限制这些 dma 缓冲区可以分配的位置。

我如何知道 dma_coherent_alloc 的分配将从哪里开始以设置微处理器的偏移量?

还有其他解决办法吗?就像分配一个大缓冲区,然后在其中进行一些子分配(我不知道内核是否已经有一些设施)

提前致谢。

最佳答案

仅当您有多个处理器时才需要使用 dma_alloc_coherent。

如果是微处理器,您只需使用 kmalloc 并禁用缓存,然后使用 dma_map_sg() 获取 dma 句柄!

关于linux - 如何在 Linux 内核中的特定范围内分配 dma 缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32767064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com