fixmap TLB flushing clarification

From: Paul Mundt
Date: Sat Mar 20 2004 - 19:07:14 EST


In include/asm-*/fixmap.h the comment about fixed_addresses states:

...
* these 'compile-time allocated' memory buffers are
* fixed-size 4k pages. (or larger if used with an increment
* highger than 1) use fixmap_set(idx,phys) to associate
* physical memory with fixmap indices.
*
* TLB entries of such buffers will not be flushed across
* task switches.
...

I'm curious about the last statement, is this to mean that a TLB entry will
be reserved at set_fixmap() time in which the translation will happen, and
that particular entry will be locked down for the duration of the mapping?

Is some other convention in place to preserve the translation across a
TLB flush at context switch time, or do we actually need to give up a
TLB entry for each fixmap?

Attachment: pgp00000.pgp
Description: PGP signature