[PATCH] ppc32: Fix pte_update for 64-bit PTEs
authorKumar Gala <galak@freescale.com>
Sat, 16 Apr 2005 22:24:20 +0000 (15:24 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 16 Apr 2005 22:24:20 +0000 (15:24 -0700)
commit7a1e335085ead05da08f791340f58b493126894d
tree5b1a763061d68caef26ec85d55404d868bab7a74
parent0c541b4406a68e74d94ddb667c69d9e03bce8681
[PATCH] ppc32: Fix pte_update for 64-bit PTEs

While the existing pte_update code handled atomically modifying a 64-bit PTE,
it did not return all 64-bits of the PTE before it was modified.  This causes
problems in some places that expect the full PTE to be returned, like
ptep_get_and_clear().

Created a new pte_update function that is conditional on CONFIG_PTE_64BIT.  It
atomically reads the low PTE word which all PTE flags are required to be in
and returns a premodified full 64-bit PTE.

Since we now have an explicit 64-bit PTE version of pte_update we can also
remove the hack that existed to get the low PTE word regardless of size.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-ppc/pgtable.h