diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-01-15 14:22:35 +1100 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-01-15 14:22:35 +1100 |
commit | fac515db45207718168cb55ca4d0a390e43b61af (patch) | |
tree | 7dd2fe9b94f769a2009ff6c7402c52ef3dd3b640 /arch/powerpc/mm/pgtable_64.c | |
parent | 3ac8ff1c475bda7174fce63230c0932454287cd5 (diff) | |
parent | d064f30e5063ec54ab50af08c64fb5055e759bfd (diff) | |
download | talos-obmc-linux-fac515db45207718168cb55ca4d0a390e43b61af.tar.gz talos-obmc-linux-fac515db45207718168cb55ca4d0a390e43b61af.zip |
Merge remote-tracking branch 'scott/next' into next
Freescale updates from Scott:
<<
Highlights include 32-bit booke relocatable support, e6500 hardware
tablewalk support, various e500 SPE fixes, some new/revived boards, and
e6500 deeper idle and altivec powerdown modes.
>>
Diffstat (limited to 'arch/powerpc/mm/pgtable_64.c')
-rw-r--r-- | arch/powerpc/mm/pgtable_64.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c index 7f0e872ab83d..65b7b65e8708 100644 --- a/arch/powerpc/mm/pgtable_64.c +++ b/arch/powerpc/mm/pgtable_64.c @@ -152,6 +152,18 @@ int map_kernel_page(unsigned long ea, unsigned long pa, int flags) } #endif /* !CONFIG_PPC_MMU_NOHASH */ } + +#ifdef CONFIG_PPC_BOOK3E_64 + /* + * With hardware tablewalk, a sync is needed to ensure that + * subsequent accesses see the PTE we just wrote. Unlike userspace + * mappings, we can't tolerate spurious faults, so make sure + * the new PTE will be seen the first time. + */ + mb(); +#else + smp_wmb(); +#endif return 0; } |