aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitaly Bordug <vbordug@ru.mvista.com>2007-01-24 14:41:06 -0500
committerPaul Mackerras <paulus@samba.org>2007-02-06 22:01:02 -0500
commit5902ebce22fa5a1ac833565dbc4fde7e8a1bc737 (patch)
treebc8d2268729f1595ed974ec88f9b13227ced3c7b
parentdbbb06b7f6ae8037a5f6b4498e492791e1929635 (diff)
[POWERPC] 8xx: generic 8xx code arch/powerpc port
Including support for non-coherent cache, some mm-related things + relevant field in Kconfig and Makefiles. Also included rheap.o compilation if 8xx is defined. Non-coherent mapping were refined and renamed according to Cristoph Hellwig. Orphaned functions were cleaned up. [Also removed arch/ppc/kernel/dma-mapping.c, because otherwise compiling with ARCH=ppc for a non DMA-cache-coherent platform ends up with two copies of __dma_alloc_coherent etc. -- paulus.] Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/powerpc/Kconfig11
-rw-r--r--arch/powerpc/lib/Makefile2
-rw-r--r--arch/powerpc/lib/dma-noncoherent.c (renamed from arch/ppc/kernel/dma-mapping.c)24
-rw-r--r--arch/ppc/kernel/Makefile1
4 files changed, 11 insertions, 27 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 54d77a5b59f6..ce431b4446f0 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -173,6 +173,11 @@ config PPC_86xx
173 help 173 help
174 The Freescale E600 SoCs have 74xx cores. 174 The Freescale E600 SoCs have 74xx cores.
175 175
176config PPC_8xx
177 bool "Freescale 8xx"
178 select FSL_SOC
179 select 8xx
180
176config 40x 181config 40x
177 bool "AMCC 40x" 182 bool "AMCC 40x"
178 select PPC_DCR_NATIVE 183 select PPC_DCR_NATIVE
@@ -181,8 +186,6 @@ config 44x
181 bool "AMCC 44x" 186 bool "AMCC 44x"
182 select PPC_DCR_NATIVE 187 select PPC_DCR_NATIVE
183 188
184config 8xx
185 bool "Freescale 8xx"
186 189
187config E200 190config E200
188 bool "Freescale e200" 191 bool "Freescale e200"
@@ -211,6 +214,10 @@ config 6xx
211 bool 214 bool
212 215
213# this is temp to handle compat with arch=ppc 216# this is temp to handle compat with arch=ppc
217config 8xx
218 bool
219
220# this is temp to handle compat with arch=ppc
214config 83xx 221config 83xx
215 bool 222 bool
216 223
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
index a0360ae10d0c..e2d414160c83 100644
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -16,6 +16,7 @@ obj-$(CONFIG_PPC64) += checksum_64.o copypage_64.o copyuser_64.o \
16 strcase.o 16 strcase.o
17obj-$(CONFIG_QUICC_ENGINE) += rheap.o 17obj-$(CONFIG_QUICC_ENGINE) += rheap.o
18obj-$(CONFIG_XMON) += sstep.o 18obj-$(CONFIG_XMON) += sstep.o
19obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o
19 20
20ifeq ($(CONFIG_PPC64),y) 21ifeq ($(CONFIG_PPC64),y)
21obj-$(CONFIG_SMP) += locks.o 22obj-$(CONFIG_SMP) += locks.o
@@ -24,5 +25,6 @@ endif
24 25
25# Temporary hack until we have migrated to asm-powerpc 26# Temporary hack until we have migrated to asm-powerpc
26ifeq ($(CONFIG_PPC_MERGE),y) 27ifeq ($(CONFIG_PPC_MERGE),y)
28obj-$(CONFIG_8xx) += rheap.o
27obj-$(CONFIG_CPM2) += rheap.o 29obj-$(CONFIG_CPM2) += rheap.o
28endif 30endif
diff --git a/arch/ppc/kernel/dma-mapping.c b/arch/powerpc/lib/dma-noncoherent.c
index 10fec7363962..48f3d13a3de5 100644
--- a/arch/ppc/kernel/dma-mapping.c
+++ b/arch/powerpc/lib/dma-noncoherent.c
@@ -22,37 +22,13 @@
22 * published by the Free Software Foundation. 22 * published by the Free Software Foundation.
23 */ 23 */
24 24
25#include <linux/module.h>
26#include <linux/signal.h>
27#include <linux/sched.h> 25#include <linux/sched.h>
28#include <linux/kernel.h> 26#include <linux/kernel.h>
29#include <linux/errno.h> 27#include <linux/errno.h>
30#include <linux/string.h> 28#include <linux/string.h>
31#include <linux/types.h> 29#include <linux/types.h>
32#include <linux/ptrace.h>
33#include <linux/mman.h>
34#include <linux/mm.h>
35#include <linux/swap.h>
36#include <linux/stddef.h>
37#include <linux/vmalloc.h>
38#include <linux/init.h>
39#include <linux/delay.h>
40#include <linux/bootmem.h>
41#include <linux/highmem.h> 30#include <linux/highmem.h>
42#include <linux/dma-mapping.h> 31#include <linux/dma-mapping.h>
43#include <linux/hardirq.h>
44
45#include <asm/pgalloc.h>
46#include <asm/prom.h>
47#include <asm/io.h>
48#include <asm/mmu_context.h>
49#include <asm/pgtable.h>
50#include <asm/mmu.h>
51#include <asm/uaccess.h>
52#include <asm/smp.h>
53#include <asm/machdep.h>
54
55int map_page(unsigned long va, phys_addr_t pa, int flags);
56 32
57#include <asm/tlbflush.h> 33#include <asm/tlbflush.h>
58 34
diff --git a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile
index 466437f4bcbb..6b4f022111e7 100644
--- a/arch/ppc/kernel/Makefile
+++ b/arch/ppc/kernel/Makefile
@@ -12,7 +12,6 @@ obj-y := entry.o traps.o time.o misc.o \
12 setup.o \ 12 setup.o \
13 ppc_htab.o 13 ppc_htab.o
14obj-$(CONFIG_MODULES) += ppc_ksyms.o 14obj-$(CONFIG_MODULES) += ppc_ksyms.o
15obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-mapping.o
16obj-$(CONFIG_PCI) += pci.o 15obj-$(CONFIG_PCI) += pci.o
17obj-$(CONFIG_RAPIDIO) += rio.o 16obj-$(CONFIG_RAPIDIO) += rio.o
18obj-$(CONFIG_KGDB) += ppc-stub.o 17obj-$(CONFIG_KGDB) += ppc-stub.o