Messages in this thread | | | From | Bjorn Helgaas <> | Subject | Re: [PATCH 2.6.15] ia64: use i386 dmi_scan.c | Date | Wed, 18 Jan 2006 08:53:46 -0700 |
| |
On Tuesday 17 January 2006 19:32, Andi Kleen wrote: > At least on x86-64/i386 the ioremap is actually cached unless a MTRR > changes it, but it normally doesn't here. If one wants to force uncached > access one has to use ioremap_uncached(). You're saying IA64 ioremap > forces uncached access? That seems weird.
Right. On ia64, ioremap() and ioremap_nocache() are the same. You'd have to ask David about the history behind this.
> > + if (efi_enabled) { > > + if (efi_mem_attributes(base & EFI_MEMORY_WB)) { > > + iomem = 0; > > + buf = (u8 *) phys_to_virt(base); > > + } else if (efi_mem_attributes(base & EFI_MEMORY_UC)) > > + buf = dmi_ioremap(base, len); > > + else > > + buf = NULL; > > I would expect your ioremap to already do such a lookup. That is at least > how MTRRs on i386/x86-64 work. If it does not how about you fix > ioremap()?
Yes, hiding this all inside ioremap() is probably a good idea. It'll slow it down a lot, but I guess it's probably not used in performance paths anyway. Thanks for the advice. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |