⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pci.h

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 H
字号:
#ifndef __PPC_PCI_H#define __PPC_PCI_H#ifdef __KERNEL__/* Values for the `which' argument to sys_pciconfig_iobase syscall.  */#define IOBASE_BRIDGE_NUMBER	0#define IOBASE_MEMORY		1#define IOBASE_IO		2/* Can be used to override the logic in pci_scan_bus for skipping * already-configured bus numbers - to be used for buggy BIOSes * or architectures with incomplete PCI setup by the loader. */#define pcibios_assign_all_busses()	0#define PCIBIOS_MIN_IO		0x1000#define PCIBIOS_MIN_MEM		0x10000000extern inline void pcibios_set_master(struct pci_dev *dev){	/* No special bus mastering setup handling */}extern inline void pcibios_penalize_isa_irq(int irq){	/* We don't do dynamic PCI IRQ allocation */}/* Dynamic DMA Mapping stuff * 	++ajoshi */#include <linux/types.h>#include <linux/slab.h>#include <linux/string.h>#include <asm/scatterlist.h>#include <asm/io.h>struct pci_dev;extern void *pci_alloc_consistent(struct pci_dev *hwdev, size_t size,				  dma_addr_t *dma_handle);extern void pci_free_consistent(struct pci_dev *hwdev, size_t size,				void *vaddr, dma_addr_t dma_handle);extern inline dma_addr_t pci_map_single(struct pci_dev *hwdev, void *ptr,					size_t size, int direction){	if (direction == PCI_DMA_NONE)		BUG();	return virt_to_bus(ptr);}extern inline void pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr,				    size_t size, int direction){	if (direction == PCI_DMA_NONE)		BUG();	/* nothing to do */}extern inline int pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg,			     int nents, int direction){	if (direction == PCI_DMA_NONE)		BUG();	return nents;}extern inline void pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg,				int nents, int direction){	if (direction == PCI_DMA_NONE)		BUG();	/* nothing to do */}extern inline void pci_dma_sync_single(struct pci_dev *hwdev,				       dma_addr_t dma_handle,				       size_t size, int direction){	if (direction == PCI_DMA_NONE)		BUG();	/* nothing to do */}extern inline void pci_dma_sync_sg(struct pci_dev *hwdev,				   struct scatterlist *sg,				   int nelems, int direction){	if (direction == PCI_DMA_NONE)		BUG();	/* nothing to do */}/* Return whether the given PCI device DMA address mask can * be supported properly.  For example, if your device can * only drive the low 24-bits during PCI bus mastering, then * you would pass 0x00ffffff as the mask to this function. */extern inline int pci_dma_supported(struct pci_dev *hwdev, dma_addr_t mask){	return 1;}#define sg_dma_address(sg)	(virt_to_bus((sg)->address))#define sg_dma_len(sg)		((sg)->length)#endif	/* __KERNEL__ */#endif /* __PPC_PCI_H */

⌨️ 快捷键说明

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