/* architectures can override this */
pgprot_t __init early_memremap_pgprot_adjust(resource_size_t phys_addr, unsignedlong size, pgprot_t prot);
#ifdef CONFIG_PCI /* * The PCI specifications (Rev 3.0, 3.2.5 "Transaction Ordering and * Posting") mandate non-posted configuration transactions. This default * implementation attempts to use the ioremap_np() API to provide this * on arches that support it, and falls back to ioremap() on those that * don't. Overriding this function is deprecated; arches that properly * support non-posted accesses should implement ioremap_np() instead, which * this default implementation can then use to return mappings compliant with * the PCI specification.
*/ #ifndef pci_remap_cfgspace #define pci_remap_cfgspace pci_remap_cfgspace staticinlinevoid __iomem *pci_remap_cfgspace(phys_addr_t offset,
size_t size)
{ return ioremap_np(offset, size) ?: ioremap(offset, size);
} #endif #endif
/* * Some systems do not have legacy ISA devices. * /dev/port is not a valid interface on these systems. * So for those archs, <asm/io.h> should define the following symbol.
*/ #ifndef arch_has_dev_port #define arch_has_dev_port() (1) #endif
/* * Some systems (x86 without PAT) have a somewhat reliable way to mark a * physical address range such that uncached mappings will actually * end up write-combining. This facility should be used in conjunction * with pgprot_writecombine, ioremap-wc, or set_memory_wc, since it has * no effect if the per-page mechanisms are functional. * (On x86 without PAT, these functions manipulate MTRRs.) * * arch_phys_del_wc(0) or arch_phys_del_wc(any error code) is guaranteed * to have no effect.
*/ #ifndef arch_phys_wc_add staticinlineint __must_check arch_phys_wc_add(unsignedlong base, unsignedlong size)
{ return 0; /* It worked (i.e. did nothing). */
}
/* * On x86 PAT systems we have memory tracking that keeps track of * the allowed mappings on memory ranges. This tracking works for * all the in-kernel mapping APIs (ioremap*), but where the user * wishes to map a range from a physical device into user memory * the tracking won't be updated. This API is to be used by * drivers which remap physical device pages into userspace, * and wants to make sure they are mapped WC and not UC.
*/ #ifndef arch_io_reserve_memtype_wc staticinlineint arch_io_reserve_memtype_wc(resource_size_t base,
resource_size_t size)
{ return 0;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.