Messages in this thread | | | Date | Sat, 1 Dec 2007 10:03:50 +0900 | From | Paul Mundt <> | Subject | Re: use of fixmap on non-x86/sh? |
| |
On Fri, Nov 30, 2007 at 04:14:55PM -0600, Kumar Gala wrote: > Ben and I are talking about using fixmap on ppc for similar > applications to it use on x86. However in poking around other arch's > (sparc, mips) they appear to have some support but not as complete as > x86. > > For example both SPARC & MIPS reference __set_fixmap() in asm/fixmap.h > but I can't find an implementation on either. > That's probably because people got lazy with copying around the definitions -- perhaps surprisingly this happens quite frequently in arch headers ;-)
MIPS has a fixrange_init() which does things in more or less one shot. __set_fixmap() is a good abstraction if you're interested in poking at individual fixmaps, but at least the kmap fixmaps have special handling all over the place (look for kmap_pte in the various highmem implementations), and there are few fixmaps otherwise.
> So I was wondering if there was some reason fixmap isn't as well > supported or if its just used for a specific function on those SPARC, > MIPS, etc. and they dont need as much functionality out of it as x86 > does. > There are of course things that make this more attractive on x86, especially with regards to the global bit and preservation across a TLB flush, there's a note in arch/sh/mm/init.c above __set_fixmap() about that. fixmap doesn't really have any special behaviour that makes an architecture implementation problematic at least. - 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/
| |