OpenCloudOS-Kernel/arch/ppc
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
..
4xx_io [POWERPC] Spelling fixes: arch/ppc/ 2007-05-12 11:32:49 +10:00
8xx_io [POWERPC] Spelling fixes: arch/ppc/ 2007-05-12 11:32:49 +10:00
8260_io PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
amiga Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
boot [POWERPC] Spelling fixes: arch/ppc/ 2007-05-12 11:32:49 +10:00
configs [PPC] MPC8272 ADS compile fixed, defconfig refreshed. 2007-04-12 12:36:45 -05:00
kernel [POWERPC] Merge CPU features pertaining to icache coherency 2007-06-14 22:30:16 +10:00
lib [POWERPC] User rheap from arch/powerpc/lib 2007-05-09 23:28:17 -05:00
mm [PPC] Fix modpost warning 2007-05-23 07:59:06 -05:00
platforms [POWERPC] Spelling fixes: arch/ppc/ 2007-05-12 11:32:49 +10:00
syslib potential parse error in ifdef part 3 2007-06-08 17:23:33 -07:00
xmon [POWERPC] PPC: Use ARRAY_SIZE macro when appropriate 2007-02-08 16:08:25 +11:00
.gitignore [POWERPC] Add files build to .gitignore 2006-12-04 20:41:29 +11:00
Kconfig [NET] Eliminate user-selectable CONFIG_MV643XX_ETH_[012] 2007-02-20 17:11:55 +00:00
Kconfig.debug ppc: Remove CHRP, POWER3 and POWER4 support from arch/ppc 2006-03-28 10:22:10 +11:00
Makefile Merge branch '85xx' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc 2006-03-28 17:03:19 +11:00