powerpc/mm: Fix _PAGE_COHERENT support on classic ppc32 HW
The following commit:
commit 64b3d0e812
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: Thu Dec 18 19:13:51 2008 +0000
powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED
broke setting of the _PAGE_COHERENT bit in the PPC HW PTE. Since we now
actually set _PAGE_COHERENT in the Linux PTE we shouldn't be clearing it
out before we propogate it to the PPC HW PTE.
Reported-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Родитель
1db8508cf4
Коммит
f99fb8a2cb
|
@ -320,7 +320,7 @@ _GLOBAL(create_hpte)
|
||||||
and r8,r8,r0 /* writable if _RW & _DIRTY */
|
and r8,r8,r0 /* writable if _RW & _DIRTY */
|
||||||
rlwimi r5,r5,32-1,30,30 /* _PAGE_USER -> PP msb */
|
rlwimi r5,r5,32-1,30,30 /* _PAGE_USER -> PP msb */
|
||||||
rlwimi r5,r5,32-2,31,31 /* _PAGE_USER -> PP lsb */
|
rlwimi r5,r5,32-2,31,31 /* _PAGE_USER -> PP lsb */
|
||||||
ori r8,r8,0xe14 /* clear out reserved bits and M */
|
ori r8,r8,0xe04 /* clear out reserved bits */
|
||||||
andc r8,r5,r8 /* PP = user? (rw&dirty? 2: 3): 0 */
|
andc r8,r5,r8 /* PP = user? (rw&dirty? 2: 3): 0 */
|
||||||
BEGIN_FTR_SECTION
|
BEGIN_FTR_SECTION
|
||||||
rlwinm r8,r8,0,~_PAGE_COHERENT /* clear M (coherence not required) */
|
rlwinm r8,r8,0,~_PAGE_COHERENT /* clear M (coherence not required) */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче