lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 16 Mar 2017 15:46:51 -0500 From: Bjorn Helgaas <bjorn.helgaas@...il.com> To: "Luis R. Rodriguez" <mcgrof@...not-panic.com> Cc: mingo@...nel.org, bp@...e.de, arnd@...db.de, dan.j.williams@...el.com, Christoph Hellwig <hch@....de>, luto@...capital.net, hpa@...or.com, tglx@...utronix.de, geert@...ux-m68k.org, ralf@...ux-mips.org, hmh@....eng.br, ross.zwisler@...ux.intel.com, akpm@...ux-foundation.org, jgross@...e.com, Benjamin Herrenschmidt <benh@...nel.crashing.org>, mpe@...erman.id.au, tj@...nel.org, x86 <x86@...nel.org>, tomi.valkeinen@...com, mst@...hat.com, toshi.kani@...com, stefan.bader@...onical.com, linux-mm@...ck.org, linux-fbdev@...r.kernel.org, linux-kernel@...r.kernel.org, "Luis R. Rodriguez" <mcgrof@...e.com> Subject: Re: [PATCH v1] x86/mm, asm-generic: Add IOMMU ioremap_uc() variant default On Thu, Jul 9, 2015 at 7:28 PM, Luis R. Rodriguez <mcgrof@...not-panic.com> wrote: > +/** > + * DOC: ioremap() and ioremap_*() variants > + * > + * If you have an IOMMU your architecture is expected to have both ioremap() > + * and iounmap() implemented otherwise the asm-generic helpers will provide a > + * direct mapping. > + * > + * There are ioremap_*() call variants, if you have no IOMMU we naturally will > + * default to direct mapping for all of them, you can override these defaults. > + * If you have an IOMMU you are highly encouraged to provide your own > + * ioremap variant implementation as there currently is no safe architecture > + * agnostic default. To avoid possible improper behaviour default asm-generic > + * ioremap_*() variants all return NULL when an IOMMU is available. If you've > + * defined your own ioremap_*() variant you must then declare your own > + * ioremap_*() variant as defined to itself to avoid the default NULL return. Are the references above to "IOMMU" typos? Should they say "MMU" instead, so they match the #ifdef below? > + */ > + > +#ifdef CONFIG_MMU > + > +#ifndef ioremap_uc > +#define ioremap_uc ioremap_uc > +static inline void __iomem *ioremap_uc(phys_addr_t offset, size_t size) > +{ > + return NULL; > +} > +#endif > + > +#else /* !CONFIG_MMU */ > + > /* > * Change "struct page" to physical address. > * > @@ -743,7 +772,6 @@ static inline void *phys_to_virt(unsigned long address) > * you'll need to provide your own definitions. > */ > > -#ifndef CONFIG_MMU > #ifndef ioremap > #define ioremap ioremap > static inline void __iomem *ioremap(phys_addr_t offset, size_t size) > -- > 2.3.2.209.gd67f9d5.dirty > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@...r.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists