1
linux/include
David Gibson 4508dc21fe [POWERPC] Merge CPU features pertaining to icache coherency
Currently the powerpc kernel has a 64-bit only feature,
COHERENT_ICACHE used for those CPUS which maintain icache/dcache
coherency in hardware (POWER5, essentially).  It also has a feature,
SPLIT_ID_CACHE, which is used on CPUs which have separate i and
d-caches, which is to say everything except 601 and Freescale E200.

In nearly all the places we check the SPLIT_ID_CACHE, what we actually
care about is whether the i and d-caches are coherent (which they will
be, trivially, if they're the same cache).

This tries to clarify the situation a little.  The COHERENT_ICACHE
feature becomes availble on 32-bit and is set for all CPUs where i and
d-cache are effectively coherent, whether this is due to special logic
(POWER5) or because they're unified.  We check this, instead of
SPLIT_ID_CACHE nearly everywhere.

The SPLIT_ID_CACHE feature itself is replaced by a UNIFIED_ID_CACHE
feature with reversed sense, set only on 601 and Freescale E200.  In
the two places (one Freescale BookE specific) where we really care
whether it's a unified cache, not whether they're coherent, we check
this feature.  The CPUs with unified cache are so few, we could
consider replacing this feature bit with explicit checks against the
PVR.

This will make unifying the 32-bit and 64-bit cache flush code a
little more straightforward.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-14 22:30:16 +10:00
..
acpi Pull osi-now into release branch 2007-06-02 01:02:09 -04:00
asm-alpha ALPHA: misc fixes 2007-06-01 08:18:29 -07:00
asm-arm [ARM] 4421/1: AT91: Value of _KEY fields. 2007-06-03 17:52:35 +01:00
asm-arm26 [ARM] use __used attribute 2007-05-30 13:15:06 +01:00
asm-avr32
asm-blackfin Blackfin arch: Change NO_ACCESS_CHECK to ACCESS_CHECK 2007-05-21 09:50:23 -07:00
asm-cris
asm-frv frv: build fix 2007-06-07 17:00:25 -07:00
asm-generic sparc64: fix alignment bug in linker definition script 2007-05-29 21:29:00 +02:00
asm-h8300 h8300 trival patches 2007-06-01 08:18:29 -07:00
asm-i386 i386: fix early usage of atomic_add_return and local_add_return on real i386 2007-05-23 20:14:15 -07:00
asm-ia64 [IA64] Cleanup acpi header to reuse the generic _PDC defines 2007-05-24 10:15:06 -07:00
asm-m32r
asm-m68k m68k: discontinuous memory support 2007-05-31 07:58:14 -07:00
asm-m68knommu
asm-mips [MIPS] Fix smp barriers in test_and_{change,clear,set}_bit 2007-06-11 18:20:55 +01:00
asm-parisc Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
asm-powerpc [POWERPC] Merge CPU features pertaining to icache coherency 2007-06-14 22:30:16 +10:00
asm-ppc
asm-s390 [S390] Wire up signald, timerfd and eventfd syscalls. 2007-05-21 11:25:28 +02:00
asm-sh sh: Fix se73180 platform device registration. 2007-06-04 11:07:23 +09:00
asm-sh64
asm-sparc [SPARC]: Emulate cmpxchg like parisc 2007-05-29 02:51:13 -07:00
asm-sparc64 [SPARC64]: Fill in gaps in non-PCI dma_*() NOP implementation. 2007-06-04 23:32:23 -07:00
asm-um
asm-v850
asm-x86_64 Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
asm-xtensa Xtensa: use asm-generic/fcntl.h 2007-05-31 20:18:25 -07:00
crypto
keys
linux [POWERPC] unmap_vm_area becomes unmap_kernel_range for the public 2007-06-14 22:29:56 +10:00
math-emu
media
mtd
net [NetLabel]: consolidate the struct socket/sock handling to just struct sock 2007-06-08 13:33:09 -07:00
pcmcia
rdma Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband 2007-05-21 16:19:32 -07:00
rxrpc
scsi
sound [ALSA] version 1.0.14 2007-05-31 11:03:27 +02:00
video
Kbuild