linux-sg2042/arch/powerpc/platforms/cell
Benjamin Herrenschmidt 64b3d0e812 powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED
Currently, we never set _PAGE_COHERENT in the PTEs, we just OR it in
in the hash code based on some CPU feature bit.  We also manipulate
_PAGE_NO_CACHE and _PAGE_GUARDED by hand in all sorts of places.

This changes the logic so that instead, the PTE now contains
_PAGE_COHERENT for all normal RAM pages thay have I = 0 on platforms
that need it.  The hash code clears it if the feature bit is not set.

It also adds some clean accessors to setup various valid combinations
of access flags and change various bits of code to use them instead.

This should help having the PTE actually containing the bit
combinations that we really want.

I also removed _PAGE_GUARDED from _PAGE_BASE on 44x and instead
set it explicitely from the TLB miss.  I will ultimately remove it
completely as it appears that it might not be needed after all
but in the meantime, having it in the TLB miss makes things a
lot easier.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-12-21 14:21:16 +11:00
..
spufs powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED 2008-12-21 14:21:16 +11:00
Kconfig powerpc/cell: Add support for power button of future IBM cell blades 2008-07-22 10:39:32 +10:00
Makefile powerpc/cell: Add support for power button of future IBM cell blades 2008-07-22 10:39:32 +10:00
axon_msi.c powerpc/cell/axon-msi: Fix MSI after kexec 2008-12-16 13:48:18 +11:00
beat.c [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
beat.h [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
beat_htab.c powerpc: Remove unnecessary condition when sanity-checking WIMG bits 2008-07-15 12:24:59 +10:00
beat_hvCall.S [POWERPC] celleb: Move files for Beat hvcall interfaces 2008-04-24 21:08:13 +10:00
beat_interrupt.c [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
beat_interrupt.h [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
beat_iommu.c [POWERPC] celleb: Move files for Beat mmu and iommu 2008-04-24 21:08:13 +10:00
beat_smp.c [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
beat_spu_priv1.c [POWERPC] celleb: Move a file for SPU on Beat 2008-04-24 21:08:13 +10:00
beat_syscall.h [POWERPC] celleb: Move files for Beat hvcall interfaces 2008-04-24 21:08:13 +10:00
beat_udbg.c [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
beat_wrapper.h [POWERPC] celleb: Move files for Beat hvcall interfaces 2008-04-24 21:08:13 +10:00
cbe_cpufreq.c [POWERPC] cell: Convert #include of asm/of_{platform, device}.h into linux/of_{platform, device}.h. 2007-12-19 01:00:02 +01:00
cbe_cpufreq.h [CELL] cbe_cpufreq: reorganize code 2007-07-20 21:41:38 +02:00
cbe_cpufreq_pervasive.c [POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h 2007-10-09 21:01:56 +10: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_powerbutton.c powerpc/cell: Add support for power button of future IBM cell blades 2008-07-22 10:39:32 +10:00
cbe_regs.c [POWERPC] cell/cbe_regs.c: Add missing of_node_put 2007-12-20 17:13:51 +11:00
cbe_thermal.c sysdev: Pass the attribute to the low level sysdev show/store function 2008-07-21 21:55:02 -07:00
celleb_pci.c [POWERPC] celleb: Add support for PCI Express 2008-04-24 21:08:14 +10:00
celleb_pci.h [POWERPC] celleb: Add support for PCI Express 2008-04-24 21:08:14 +10:00
celleb_scc.h [POWERPC] celleb: Add support for PCI Express 2008-04-24 21:08:14 +10:00
celleb_scc_epci.c [POWERPC] celleb: Move the SCC related code for celleb 2008-04-24 21:08:13 +10: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 [POWERPC] celleb: Move the SCC related code for celleb 2008-04-24 21:08:13 +10:00
celleb_scc_uhc.c [POWERPC] celleb: Move the SCC related code for celleb 2008-04-24 21:08:13 +10:00
celleb_setup.c [POWERPC] celleb: Move miscellaneous files for Beat 2008-04-24 21:08:14 +10:00
cpufreq_spudemand.c powerpc/cell/cpufreq: Add spu aware cpufreq governor 2008-07-22 10:39:31 +10:00
interrupt.c powerpc: convert to generic helpers for IPI function calls 2008-06-26 11:22:13 +02:00
interrupt.h [POWERPC] cell: Add routines for managing PMU interrupts 2006-12-04 20:40:12 +11:00
io-workarounds.c [POWERPC] cell: Fix section mismatches in io-workarounds code 2008-05-15 20:49:57 +10:00
io-workarounds.h [POWERPC] cell: Fix section mismatches in io-workarounds code 2008-05-15 20:49:57 +10:00
iommu.c powerpc: Use of_find_node_with_property() in cell_iommu_fixed_mapping_init() 2008-11-19 16:05:02 +11:00
pervasive.c powerpc/cell: Cleanup sysreset_hack for IBM cell blades 2008-07-22 10:39:31 +10:00
pervasive.h powerpc/cell: Cleanup sysreset_hack for IBM cell blades 2008-07-22 10:39:31 +10:00
pmu.c [POWERPC] cell: Use machine_*_initcall() hooks in platform code 2008-01-17 14:57:15 +11:00
ras.c powerpc/cell: Fix compile error in ras.c 2008-11-05 19:59:08 +11:00
ras.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
setup.c [POWERPC] cell: Generalize io-workarounds code 2008-04-24 21:08:12 +10: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 powerpc: Fix irq_alloc_host() reference counting and callers 2008-06-09 13:51:16 +10:00
spu_base.c sysdev: Pass the attribute to the low level sysdev show/store function 2008-07-21 21:55:02 -07:00
spu_callbacks.c [POWERPC] Replace remaining __FUNCTION__ occurrences 2008-04-01 20:43:09 +11:00
spu_fault.c [POWERPC] spufs: move fault, lscsa_alloc and switch code to spufs module 2007-12-21 19:46:19 +11:00
spu_manage.c [POWERPC] Replace remaining __FUNCTION__ occurrences 2008-04-01 20:43:09 +11:00
spu_notify.c [POWERPC] Oprofile: Remove dependency on spufs module 2007-12-28 15:07:52 +11:00
spu_priv1_mmio.c [POWERPC] spufs: try to route SPU interrupts to local node 2008-05-05 13:33:43 +10:00
spu_priv1_mmio.h [POWERPC] cell: abstract spu management routines 2006-12-04 20:40:39 +11:00
spu_syscalls.c [POWERPC] Oprofile: Remove dependency on spufs module 2007-12-28 15:07:52 +11:00