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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]