···7979 /* We don't do dynamic PCI IRQ allocation */8080}81818282+#define HAVE_PCI_MMAP8383+8484+extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,8585+ enum pci_mmap_state mmap_state, int write_combine);8686+8287/*8388 * Dynamic DMA mapping stuff.8489 * MIPS has everything mapped statically.
+24
arch/mips/pci/pci.c
···354354EXPORT_SYMBOL(PCIBIOS_MIN_MEM);355355#endif356356357357+int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,358358+ enum pci_mmap_state mmap_state, int write_combine)359359+{360360+ unsigned long prot;361361+362362+ /*363363+ * I/O space can be accessed via normal processor loads and stores on364364+ * this platform but for now we elect not to do this and portable365365+ * drivers should not do this anyway.366366+ */367367+ if (mmap_state == pci_mmap_io)368368+ return -EINVAL;369369+370370+ /*371371+ * Ignore write-combine; for now only return uncached mappings.372372+ */373373+ prot = pgprot_val(vma->vm_page_prot);374374+ prot = (prot & ~_CACHE_MASK) | _CACHE_UNCACHED;375375+ vma->vm_page_prot = __pgprot(prot);376376+377377+ return remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,378378+ vma->vm_end - vma->vm_start, vma->vm_page_prot);379379+}380380+357381char * (*pcibios_plat_setup)(char *str) __devinitdata;358382359383char *__devinit pcibios_setup(char *str)