MIPS: Fix highmem.
authorRalf Baechle <ralf@linux-mips.org>
Sat, 25 Apr 2009 09:25:34 +0000 (11:25 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 14 May 2009 12:50:29 +0000 (13:50 +0100)
commitbb86bf28aec6d0a207ae09f38a43e94133d4d6db
tree34bd8f653eb10dc4eb82aa8ef2576475346070e1
parent0b54352600b820a6d25f151cbd8975ed9b2aeb09
MIPS: Fix highmem.

Commit 351336929ccf222ae38ff0cb7a8dd5fd5c6236a0 (kernel.org) rsp.
b3594a089f1c17ff919f8f78505c3f20e1f6f8ce (linux-mips.org):

> From: Chris Dearman <chris@mips.com>
> Date: Wed, 19 Sep 2007 00:58:24 +0100
> Subject: [PATCH] [MIPS] Allow setting of the cache attribute at run time.
>
> Slightly tacky, but there is a precedent in the sparc archirecture code.

introduces the variable _page_cachable_default, which defaults to zero and.
is used to create the prototype PTE for __kmap_atomic in
arch/mips/mm/init.c:kmap_init before initialization in
arch/mips/mm/c-r4k.c:coherency_setup, so the default value of 0 will be
used as the CCA of kmap atomic pages which on many processors is not a
defined CCA value and may result in writes to kmap_atomic pages getting
corrupted.  Debugged by Jon Fraser (jfraser@broadcom.com).

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/fixmap.h
arch/mips/include/asm/highmem.h
arch/mips/mm/highmem.c
arch/mips/mm/init.c