linux/arch/powerpc/mm
Greg Kurz 5c9fb18994 powerpc/vphn: NUMA node code expects big-endian
The associativity domain numbers are obtained from the hypervisor through
registers and written into memory by the guest: the packed array passed to
vphn_unpack_associativity() is then native-endian, unlike what was assumed
in the following commit:

commit b08a2a12e4
Author: Alistair Popple <alistair@popple.id.au>
Date:   Wed Aug 7 02:01:44 2013 +1000

    powerpc: Make NUMA device node code endian safe

This issue fills the topology with bogus data and makes it unusable. It may
lead to severe performance breakdowns.

We should ideally patch the vphn_unpack_associativity() function to do the
64-bit loads, but this requires some more brain storming.

In the meantime, let's go for a suboptimal and temporary bug fix: this patch
converts each 64-bit value of the packed array to big endian, as expected by
the current parsing code in vphn_unpack_associativity().

Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-16 12:43:21 +11:00
..
40x_mmu.c
44x_mmu.c powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
copro_fault.c powerpc/mm: Add hooks for cxl 2014-10-08 20:15:55 +11:00
dma-noncoherent.c lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig 2014-08-08 15:57:26 -07:00
fault.c powerpc: Fill in si_addr_lsb siginfo field 2014-10-02 17:15:17 +10:00
fsl_booke_mmu.c powerpc/e6500: TLB miss handler with hardware tablewalk support 2014-01-09 17:52:19 -06:00
gup.c powerpc/mm: NUMA pte should be handled via slow path in get_user_pages_fast() 2014-04-09 12:53:03 +10:00
hash_low_32.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
hash_low_64.S powerpc: Fix branch patching code for ABIv2 2014-04-23 10:05:22 +10:00
hash_native_64.c powerpc/mm: Add hooks for cxl 2014-10-08 20:15:55 +11:00
hash_utils_64.c powerpc/mm: Add new hash_page_mm() 2014-10-08 20:15:44 +11:00
highmem.c
hugepage-hash64.c powerpc/thp: Use ACCESS_ONCE when loading pmdp 2014-08-13 18:20:41 +10:00
hugetlbpage-book3e.c powerpc/fsl-book3e-64: Use paca for hugetlb TLB1 entry selection 2014-01-09 17:52:20 -06:00
hugetlbpage-hash64.c powerpc/mm: Free up _PAGE_COHERENCE for numa fault use later 2013-12-09 11:40:28 +11:00
hugetlbpage.c hugetlb: restrict hugepage_migration_support() to x86_64 2014-06-04 16:53:51 -07:00
icswx_pid.c
icswx.c powerpc: Fix typo "CONFIG_ICSWX_PID" 2013-04-18 13:03:54 +10:00
icswx.h powerpc/icswx: Fix race condition with IPI setting ACOP 2012-03-07 17:06:09 +11:00
init_32.c powerpc: Remove powerpc specific cmd_line 2014-10-02 17:33:55 +10:00
init_64.c powerpc: Move htab_remove_mapping function prototype into header file 2014-09-25 23:14:44 +10:00
Makefile powerpc/cell: Move spu_handle_mm_fault() out of cell platform 2014-10-08 20:14:54 +11:00
mem.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git 2014-10-04 08:59:06 +10:00
mmap.c mm: remove free_area_cache 2013-07-10 18:11:34 -07:00
mmu_context_hash32.c powerpc: Remove power3 from comments 2014-07-28 14:10:26 +10:00
mmu_context_hash64.c powerpc: Reduce PTE table memory wastage 2013-04-30 16:00:07 +10:00
mmu_context_nohash.c powerpc: Clean up MMU_FTRS_A2 and MMU_FTR_TYPE_3E 2014-07-11 12:55:05 +10:00
mmu_decl.h powerpc/fsl_booke: smp support for booting a relocatable kernel above 64M 2014-01-09 17:52:18 -06:00
numa.c powerpc/vphn: NUMA node code expects big-endian 2014-10-16 12:43:21 +11:00
pgtable_32.c powerpc: Remove CONFIG_POWER3 2014-07-28 14:10:24 +10:00
pgtable_64.c powerpc/thp: Add tracepoints to track hugepage invalidate 2014-08-13 18:20:42 +10:00
pgtable.c powerpc: Make a bunch of things static 2014-09-25 23:14:41 +10:00
ppc_mmu_32.c powerpc: Remove power3 from comments 2014-07-28 14:10:26 +10:00
slb_low.S Merge remote-tracking branch 'anton/abiv2' into next 2014-05-05 20:57:12 +10:00
slb.c powerpc/cell: Move data segment faulting code out of cell platform 2014-10-08 20:14:55 +11:00
slice.c powerpc/cell: Make spu_flush_all_slbs() generic 2014-10-08 20:15:37 +11:00
subpage-prot.c powerpc/mm: Add new "set" flag argument to pte/pmd update function 2014-02-17 11:19:35 +11:00
tlb_hash32.c
tlb_hash64.c powerpc/thp: Add tracepoints to track hugepage invalidate 2014-08-13 18:20:42 +10:00
tlb_low_64e.S powerpc/e6500: Work around erratum A-008139 2014-07-29 19:26:29 -05:00
tlb_nohash_low.S powerpc/fsl_booke: smp support for booting a relocatable kernel above 64M 2014-01-09 17:52:18 -06:00
tlb_nohash.c powerpc/nohash: Split __early_init_mmu() into boot and secondary 2014-08-13 15:13:25 +10:00