pci-swiotlb_64.c

来自「linux 内核源代码」· C语言 代码 · 共 45 行

C
45
字号
/* Glue code to lib/swiotlb.c */#include <linux/pci.h>#include <linux/cache.h>#include <linux/module.h>#include <linux/dma-mapping.h>#include <asm/gart.h>#include <asm/swiotlb.h>#include <asm/dma.h>int swiotlb __read_mostly;EXPORT_SYMBOL(swiotlb);const struct dma_mapping_ops swiotlb_dma_ops = {	.mapping_error = swiotlb_dma_mapping_error,	.alloc_coherent = swiotlb_alloc_coherent,	.free_coherent = swiotlb_free_coherent,	.map_single = swiotlb_map_single,	.unmap_single = swiotlb_unmap_single,	.sync_single_for_cpu = swiotlb_sync_single_for_cpu,	.sync_single_for_device = swiotlb_sync_single_for_device,	.sync_single_range_for_cpu = swiotlb_sync_single_range_for_cpu,	.sync_single_range_for_device = swiotlb_sync_single_range_for_device,	.sync_sg_for_cpu = swiotlb_sync_sg_for_cpu,	.sync_sg_for_device = swiotlb_sync_sg_for_device,	.map_sg = swiotlb_map_sg,	.unmap_sg = swiotlb_unmap_sg,	.dma_supported = NULL,};void __init pci_swiotlb_init(void){	/* don't initialize swiotlb if iommu=off (no_iommu=1) */	if (!iommu_detected && !no_iommu && end_pfn > MAX_DMA32_PFN)	       swiotlb = 1;	if (swiotlb_force)		swiotlb = 1;	if (swiotlb) {		printk(KERN_INFO "PCI-DMA: Using software bounce buffering for IO (SWIOTLB)\n");		swiotlb_init();		dma_ops = &swiotlb_dma_ops;	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?