parisc: flush pages through tmpalias space
authorJames Bottomley <James.Bottomley@HansenPartnership.com>
Wed, 22 Dec 2010 16:22:11 +0000 (10:22 -0600)
committerJames Bottomley <James.Bottomley@suse.de>
Sat, 15 Jan 2011 14:44:40 +0000 (08:44 -0600)
commitf311847c2fcebd81912e2f0caf8a461dec28db41
tree802ef2aa01bd0d662e60412366a40c827fd3e875
parent38567333a6dabd0f2b4150e9fb6dd8e3ba2985e5
parisc: flush pages through tmpalias space

The kernel has an 8M tmpailas space (originally designed for copying
and clearing pages but now only used for clearing).  The idea is
to place zeros into the cache above a physical page rather than into
the physical page and flush the cache, because often the zeros end up
being replaced quickly anyway.

We can also use the tmpalias space for flushing a page.  The difference
here is that we have to do tmpalias processing in the non access data and
instruction traps.  The principle is the same: as long as we know the physical
address and have a virtual address congruent to the real one, the flush will
be effective.

In order to use the tmpalias space, the icache miss path has to be enhanced to
check for the alias region to make the fic instruction effective.

Signed-off-by: James Bottomley <James.Bottomley@suse.de>
arch/parisc/include/asm/cacheflush.h
arch/parisc/kernel/cache.c
arch/parisc/kernel/entry.S
arch/parisc/kernel/pacache.S