我正在编写一个内核模块,其中包含以下代码:
dma_dev->coherent_dma_mask = DMA_BIT_MASK(64);
我并不总是希望64在那里:当我的目标是ARM时,我希望它是
dma_dev->coherent_dma_mask = DMA_BIT_MASK(32);
所以基本上,现在我想:
#ifdef x86_64
dma_dev->coherent_dma_mask = DMA_BIT_MASK(64);
#else
dma_dev->coherent_dma_mask = DMA_BIT_MASK(32);
#endif
我怎样才能达到这样的目标?
答案 0 :(得分:0)
有CONFIG_
个定义。这样的事情可能符合您的需求:
#if defined(CONFIG_X86_64)
dma_dev->coherent_dma_mask = DMA_BIT_MASK(64);
#else
dma_dev->coherent_dma_mask = DMA_BIT_MASK(32);
#endif
CONFIG_ARM32
,CONFIG_ARM64
和类似的选项也可以派上用场。