MIPS: Fix highmem.
commitbfa5e8b13871b529e05f84b10d022ce6a5ddd9d1
authorRalf Baechle <ralf@linux-mips.org>
Sat, 25 Apr 2009 09:25:34 +0000 (25 11:25 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 30 Apr 2009 06:27:43 +0000 (30 08:27 +0200)
treec543728cf92bf7b70e350812c373671fb6274407
parente3e570d3d9c5773c1c0760f3754b767d23a12f01
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