diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2008-07-16 15:54:21 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-09-24 16:29:41 -0500 |
commit | 9bf2b5cdc5fe5e3136ceeecc85141765023ded6e (patch) | |
tree | e1e25d6aa5a18ca63314192173d93cc0d20ac066 /arch/powerpc/include/asm/highmem.h | |
parent | 0ba3418b8b1c85ee1771c63f1dd12041614e56ff (diff) | |
download | talos-obmc-linux-9bf2b5cdc5fe5e3136ceeecc85141765023ded6e.tar.gz talos-obmc-linux-9bf2b5cdc5fe5e3136ceeecc85141765023ded6e.zip |
powerpc: Fixes for CONFIG_PTE_64BIT for SMP support
There are some minor issues with support 64-bit PTEs on a 32-bit processor
when dealing with SMP.
* We need to order the stores in set_pte_at to make sure the flag word
is set second.
* Change pte_clear to use pte_update so only the flag word is cleared
* Added a WARN_ON to set_pte_at to ensure the pte isn't present for
the 64-bit pte/SMP case (to ensure our assumption of this fact).
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Becky Bruce <becky.bruce@freescale.com>
Diffstat (limited to 'arch/powerpc/include/asm/highmem.h')
-rw-r--r-- | arch/powerpc/include/asm/highmem.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/highmem.h b/arch/powerpc/include/asm/highmem.h index 5d99b6489d56..91c589520c0a 100644 --- a/arch/powerpc/include/asm/highmem.h +++ b/arch/powerpc/include/asm/highmem.h @@ -84,7 +84,7 @@ static inline void *kmap_atomic_prot(struct page *page, enum km_type type, pgpro #ifdef CONFIG_DEBUG_HIGHMEM BUG_ON(!pte_none(*(kmap_pte-idx))); #endif - set_pte_at(&init_mm, vaddr, kmap_pte-idx, mk_pte(page, prot)); + __set_pte_at(&init_mm, vaddr, kmap_pte-idx, mk_pte(page, prot)); flush_tlb_page(NULL, vaddr); return (void*) vaddr; |