android_kernel_xiaomi_sm8350/arch/powerpc/platforms/cell
Gerhard Stenzel 37cd8ed90f powerpc/cell: Make ptcal more reliable
There have been a series of checkstops on QS21 related to
ptcal being set up incorrectly. On systems that only
have memory on a single node, ptcal fails when it gets
a pointer to memory on the remote node.

Moreover, agressive prefetching in memcpy and other
functions may accidentally touch the first cache line
of the page that we reserve for ptcal, which causes
an ECC checkstop.

We now allocate pages only from the specified node, moves the
ptcal area into the middle of the allocated page to avoid
potential prefetch problems and prints the address of the
ptcal area to facilitate diagnostics.

Signed-off-by: Gerhard Stenzel <gerhard.stenzel@de.ibm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-05-15 16:43:42 +10:00
..
spufs New helper - current_umask() 2009-03-31 23:00:26 -04:00
axon_msi.c powerpc/cell/axon-msi: Fix MSI after kexec 2008-12-16 13:48:18 +11:00
beat_htab.c powerpc/cell: Use correct types in beat files 2009-01-08 16:25:16 +11:00
beat_hvCall.S
beat_interrupt.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
beat_interrupt.h
beat_iommu.c
beat_smp.c
beat_spu_priv1.c
beat_syscall.h
beat_udbg.c powerpc/cell: Use correct types in beat files 2009-01-08 16:25:16 +11:00
beat_wrapper.h
beat.c
beat.h
cbe_cpufreq_pervasive.c powerpc/cell: local_irq_save takes an unsigned long 2009-01-08 16:25:13 +11:00
cbe_cpufreq_pmi.c cpufreq acpi: only call _PPC after cpufreq ACPI init funcs got called already 2008-07-30 09:41:43 -07:00
cbe_cpufreq.c powerpc: Fix cpufreq drivers after cpufreq core changes 2009-01-11 21:32:01 -08:00
cbe_cpufreq.h
cbe_powerbutton.c
cbe_regs.c
cbe_thermal.c
celleb_pci.c
celleb_pci.h
celleb_scc_epci.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
celleb_scc_pciex.c dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
celleb_scc_sio.c
celleb_scc_uhc.c
celleb_scc.h
celleb_setup.c powerpc: Remove default kexec/crash_kernel ops assignments 2008-12-23 15:13:28 +11:00
cpufreq_spudemand.c powerpc: Fix cpufreq drivers after cpufreq core changes 2009-01-11 21:32:01 -08:00
interrupt.c sparseirq, powerpc/cell: fix unused variable warning in interrupt.c 2009-03-16 09:21:57 +01:00
interrupt.h
io-workarounds.c powerpc: Wire up /proc/vmallocinfo to our ioremap() 2009-03-11 17:10:14 +11:00
io-workarounds.h
iommu.c dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) 2009-04-07 08:31:10 -07:00
Kconfig powerpc/cell: Select PCI for IBM_CELL_BLADE AND CELLEB 2009-04-28 13:52:23 +10:00
Makefile powerpc/cell: Fix Axon MSI driver dependencies 2009-03-11 17:11:33 +11:00
pervasive.c
pervasive.h
pmu.c
qpace_setup.c powerpc: setup default archdata for {of_}platform via bus_register_notifier 2009-03-24 13:47:30 +11:00
ras.c powerpc/cell: Make ptcal more reliable 2009-05-15 16:43:42 +10:00
ras.h
setup.c powerpc: Remove default kexec/crash_kernel ops assignments 2008-12-23 15:13:28 +11:00
smp.c powerpc/cell: Fix GDB watchpoints, again 2008-12-01 09:40:18 +11:00
spider-pci.c dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
spider-pic.c
spu_base.c cpumask: Use mm_cpumask() wrapper instead of cpu_vm_mask 2009-03-24 13:47:29 +11:00
spu_callbacks.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
spu_fault.c powerpc/spufs: Use correct return value for spu_handle_mm_fault 2009-02-23 10:48:58 +11:00
spu_manage.c
spu_notify.c
spu_priv1_mmio.c cpumask: powerpc: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask 2008-12-26 22:23:39 +10:30
spu_priv1_mmio.h
spu_syscalls.c