Messages in this thread | | | Subject | Re: [PATCH] x86, efi: Calling __pa() with an ioremap'd address is invalid | From | Matt Fleming <> | Date | Tue, 11 Oct 2011 16:58:09 +0100 |
| |
On Tue, 2011-10-11 at 08:45 -0700, hpanvin@gmail.com wrote: > I think ioremap_cache() should work for either.
Sorry yeah, it will work but I don't think it's desirable (that's what I meant, though I realise it's not what I wrote).
The reason being: aren't you doing an extra step of indirection because you have to jump through the vmalloc space?
With 32-bit this is obviously necessary because of the lack of space for the direct kernel map, but on 64-bit we can just extend the kernel map and do quick conversions between physical and virtual space with __va() and __pa().
Maybe the extra indirection isn't that bad and no one will care? If so, then sure, a unified version sounds like a plan. I was just hesitant of changing the existing 64-bit implementation for fear of receiving replies like "you've now made the 64-bit path slower".
-- Matt Fleming, Intel Open Source Technology Center
| |