gpt4 book ai didi

linux - 如何分配 4-8 MB 对齐的 DMA Linux

转载 作者:IT王子 更新时间:2023-10-29 00:36:47 26 4
gpt4 key购买 nike

我正在使用 Fedora 14 并正在为 PCI 交换机构建驱动程序。对于那个开关,我需要分配 8MB 的 DMA 内存(我可以处理 2*4MB),但我需要它与内存大小对齐,例如,如果它是 8MB,那么基地址的前 23 位应该是 0。

我该怎么做?

最佳答案

__get_free_pages最多可以分配4MB,按分配大小分配。
因此,您可以分配两个 4MB 的 block ,每个 block 在 4MB 上对齐。

你不能以这种方式对齐 8MB。
在引导期间,如果您分配 3*4MB, block 很可能是连续的,因此第一个和第二个,或者第二个和第三个,将对齐 8MB。但我不会依赖它。

请注意,在任何情况下,您都应该在引导期间尽早执行此操作。否则,很可能内存碎片化,无法获取内存。

关于linux - 如何分配 4-8 MB 对齐的 DMA Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9466209/

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