diff options
author | Vitaly Bordug <vbordug@ru.mvista.com> | 2007-01-24 14:41:06 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-02-06 22:01:02 -0500 |
commit | 5902ebce22fa5a1ac833565dbc4fde7e8a1bc737 (patch) | |
tree | bc8d2268729f1595ed974ec88f9b13227ced3c7b | |
parent | dbbb06b7f6ae8037a5f6b4498e492791e1929635 (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/Kconfig | 11 | ||||
-rw-r--r-- | arch/powerpc/lib/Makefile | 2 | ||||
-rw-r--r-- | arch/powerpc/lib/dma-noncoherent.c (renamed from arch/ppc/kernel/dma-mapping.c) | 24 | ||||
-rw-r--r-- | arch/ppc/kernel/Makefile | 1 |
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 | ||
176 | config PPC_8xx | ||
177 | bool "Freescale 8xx" | ||
178 | select FSL_SOC | ||
179 | select 8xx | ||
180 | |||
176 | config 40x | 181 | config 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 | ||
184 | config 8xx | ||
185 | bool "Freescale 8xx" | ||
186 | 189 | ||
187 | config E200 | 190 | config 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 |
217 | config 8xx | ||
218 | bool | ||
219 | |||
220 | # this is temp to handle compat with arch=ppc | ||
214 | config 83xx | 221 | config 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 |
17 | obj-$(CONFIG_QUICC_ENGINE) += rheap.o | 17 | obj-$(CONFIG_QUICC_ENGINE) += rheap.o |
18 | obj-$(CONFIG_XMON) += sstep.o | 18 | obj-$(CONFIG_XMON) += sstep.o |
19 | obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o | ||
19 | 20 | ||
20 | ifeq ($(CONFIG_PPC64),y) | 21 | ifeq ($(CONFIG_PPC64),y) |
21 | obj-$(CONFIG_SMP) += locks.o | 22 | obj-$(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 |
26 | ifeq ($(CONFIG_PPC_MERGE),y) | 27 | ifeq ($(CONFIG_PPC_MERGE),y) |
28 | obj-$(CONFIG_8xx) += rheap.o | ||
27 | obj-$(CONFIG_CPM2) += rheap.o | 29 | obj-$(CONFIG_CPM2) += rheap.o |
28 | endif | 30 | endif |
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 | |||
55 | int 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 |
14 | obj-$(CONFIG_MODULES) += ppc_ksyms.o | 14 | obj-$(CONFIG_MODULES) += ppc_ksyms.o |
15 | obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-mapping.o | ||
16 | obj-$(CONFIG_PCI) += pci.o | 15 | obj-$(CONFIG_PCI) += pci.o |
17 | obj-$(CONFIG_RAPIDIO) += rio.o | 16 | obj-$(CONFIG_RAPIDIO) += rio.o |
18 | obj-$(CONFIG_KGDB) += ppc-stub.o | 17 | obj-$(CONFIG_KGDB) += ppc-stub.o |