From 66d857b08b8c3ed5c72c361f863cce77d2a978d7 Mon Sep 17 00:00:00 2001 From: Greg Ungerer Date: Tue, 22 Mar 2011 13:39:27 +1000 Subject: m68k: merge m68k and m68knommu arch directories There is a lot of common code that could be shared between the m68k and m68knommu arch branches. It makes sense to merge the two branches into a single directory structure so that we can more easily share that common code. This is a brute force merge, based on a script from Stephen King , which was originally written by Arnd Bergmann . > The script was inspired by the script Sam Ravnborg used to merge the > includes from m68knommu. For those files common to both arches but > differing in content, the m68k version of the file is renamed to > _mm. and the m68knommu version of the file is moved into the > corresponding m68k directory and renamed _no. and a small > wrapper file . is used to select between the two version. Files > that are common to both but don't differ are removed from the m68knommu > tree and files and directories that are unique to the m68knommu tree are > moved to the m68k tree. Finally, the arch/m68knommu tree is removed. > > To select between the the versions of the files, the wrapper uses > > #ifdef CONFIG_MMU > #include _mm. > #else > #include _no. > #endif On top of this file merge I have done a simplistic merge of m68k and m68knommu Kconfig, which primarily attempts to keep existing options and menus in place. Other than a handful of options being moved it produces identical .config outputs on m68k and m68knommu targets I tested it on. With this in place there is now quite a bit of scope for merge cleanups in future patches. Signed-off-by: Greg Ungerer --- arch/m68k/Kconfig | 456 +--- arch/m68k/Kconfig.debug | 34 + arch/m68k/Kconfig.mmu | 417 ++++ arch/m68k/Kconfig.nommu | 750 ++++++ arch/m68k/Makefile | 122 +- arch/m68k/Makefile_mm | 121 + arch/m68k/Makefile_no | 124 + arch/m68k/configs/m5208evb_defconfig | 76 + arch/m68k/configs/m5249evb_defconfig | 69 + arch/m68k/configs/m5272c3_defconfig | 67 + arch/m68k/configs/m5275evb_defconfig | 74 + arch/m68k/configs/m5307c3_defconfig | 77 + arch/m68k/configs/m5407c3_defconfig | 71 + arch/m68k/kernel/Makefile | 18 +- arch/m68k/kernel/Makefile_mm | 17 + arch/m68k/kernel/Makefile_no | 10 + arch/m68k/kernel/asm-offsets.c | 101 +- arch/m68k/kernel/asm-offsets_mm.c | 100 + arch/m68k/kernel/asm-offsets_no.c | 76 + arch/m68k/kernel/dma.c | 135 +- arch/m68k/kernel/dma_mm.c | 130 ++ arch/m68k/kernel/dma_no.c | 74 + arch/m68k/kernel/entry.S | 756 +----- arch/m68k/kernel/entry_mm.S | 753 ++++++ arch/m68k/kernel/entry_no.S | 134 ++ arch/m68k/kernel/init_task.c | 36 + arch/m68k/kernel/irq.c | 58 + arch/m68k/kernel/m68k_ksyms.c | 21 +- arch/m68k/kernel/m68k_ksyms_mm.c | 16 + arch/m68k/kernel/m68k_ksyms_no.c | 78 + arch/m68k/kernel/module.c | 156 +- arch/m68k/kernel/module_mm.c | 155 ++ arch/m68k/kernel/module_no.c | 126 + arch/m68k/kernel/process.c | 355 +-- arch/m68k/kernel/process_mm.c | 354 +++ arch/m68k/kernel/process_no.c | 404 ++++ arch/m68k/kernel/ptrace.c | 282 +-- arch/m68k/kernel/ptrace_mm.c | 277 +++ arch/m68k/kernel/ptrace_no.c | 255 ++ arch/m68k/kernel/setup.c | 534 +---- arch/m68k/kernel/setup_mm.c | 533 +++++ arch/m68k/kernel/setup_no.c | 317 +++ arch/m68k/kernel/signal.c | 1018 +------- arch/m68k/kernel/signal_mm.c | 1017 ++++++++ arch/m68k/kernel/signal_no.c | 765 ++++++ arch/m68k/kernel/sys_m68k.c | 551 +---- arch/m68k/kernel/sys_m68k_mm.c | 546 +++++ arch/m68k/kernel/sys_m68k_no.c | 94 + arch/m68k/kernel/syscalltable.S | 365 +++ arch/m68k/kernel/time.c | 119 +- arch/m68k/kernel/time_mm.c | 114 + arch/m68k/kernel/time_no.c | 87 + arch/m68k/kernel/traps.c | 1208 +--------- arch/m68k/kernel/traps_mm.c | 1207 ++++++++++ arch/m68k/kernel/traps_no.c | 365 +++ arch/m68k/kernel/vmlinux.lds.S | 11 +- arch/m68k/kernel/vmlinux.lds_mm.S | 10 + arch/m68k/kernel/vmlinux.lds_no.S | 188 ++ arch/m68k/lib/Makefile | 11 +- arch/m68k/lib/Makefile_mm | 6 + arch/m68k/lib/Makefile_no | 7 + arch/m68k/lib/checksum.c | 430 +--- arch/m68k/lib/checksum_mm.c | 425 ++++ arch/m68k/lib/checksum_no.c | 153 ++ arch/m68k/lib/delay.c | 21 + arch/m68k/lib/divsi3.S | 125 + arch/m68k/lib/memcpy.c | 62 + arch/m68k/lib/memmove.c | 105 + arch/m68k/lib/memset.c | 47 + arch/m68k/lib/modsi3.S | 113 + arch/m68k/lib/muldi3.c | 68 +- arch/m68k/lib/muldi3_mm.c | 63 + arch/m68k/lib/muldi3_no.c | 86 + arch/m68k/lib/mulsi3.S | 110 + arch/m68k/lib/udivsi3.S | 162 ++ arch/m68k/lib/umodsi3.S | 113 + arch/m68k/mm/Makefile | 13 +- arch/m68k/mm/Makefile_mm | 8 + arch/m68k/mm/Makefile_no | 5 + arch/m68k/mm/init.c | 153 +- arch/m68k/mm/init_mm.c | 150 ++ arch/m68k/mm/init_no.c | 193 ++ arch/m68k/mm/kmap.c | 368 +-- arch/m68k/mm/kmap_mm.c | 367 +++ arch/m68k/mm/kmap_no.c | 45 + arch/m68k/platform/5206/Makefile | 18 + arch/m68k/platform/5206/config.c | 121 + arch/m68k/platform/5206/gpio.c | 49 + arch/m68k/platform/5206e/Makefile | 18 + arch/m68k/platform/5206e/config.c | 127 + arch/m68k/platform/5206e/gpio.c | 49 + arch/m68k/platform/520x/Makefile | 17 + arch/m68k/platform/520x/config.c | 311 +++ arch/m68k/platform/520x/gpio.c | 211 ++ arch/m68k/platform/523x/Makefile | 17 + arch/m68k/platform/523x/config.c | 293 +++ arch/m68k/platform/523x/gpio.c | 284 +++ arch/m68k/platform/5249/Makefile | 18 + arch/m68k/platform/5249/config.c | 330 +++ arch/m68k/platform/5249/gpio.c | 65 + arch/m68k/platform/5249/intc2.c | 61 + arch/m68k/platform/5272/Makefile | 18 + arch/m68k/platform/5272/config.c | 176 ++ arch/m68k/platform/5272/gpio.c | 81 + arch/m68k/platform/5272/intc.c | 187 ++ arch/m68k/platform/527x/Makefile | 18 + arch/m68k/platform/527x/config.c | 384 +++ arch/m68k/platform/527x/gpio.c | 609 +++++ arch/m68k/platform/528x/Makefile | 18 + arch/m68k/platform/528x/config.c | 320 +++ arch/m68k/platform/528x/gpio.c | 438 ++++ arch/m68k/platform/5307/Makefile | 20 + arch/m68k/platform/5307/config.c | 147 ++ arch/m68k/platform/5307/gpio.c | 49 + arch/m68k/platform/5307/nettel.c | 153 ++ arch/m68k/platform/532x/Makefile | 18 + arch/m68k/platform/532x/config.c | 648 ++++++ arch/m68k/platform/532x/gpio.c | 337 +++ arch/m68k/platform/5407/Makefile | 18 + arch/m68k/platform/5407/config.c | 122 + arch/m68k/platform/5407/gpio.c | 49 + arch/m68k/platform/54xx/Makefile | 19 + arch/m68k/platform/54xx/config.c | 115 + arch/m68k/platform/54xx/firebee.c | 86 + arch/m68k/platform/68328/Makefile | 22 + arch/m68k/platform/68328/bootlogo.h | 270 +++ arch/m68k/platform/68328/bootlogo.pl | 10 + arch/m68k/platform/68328/config.c | 52 + arch/m68k/platform/68328/entry.S | 263 +++ arch/m68k/platform/68328/head-de2.S | 128 + arch/m68k/platform/68328/head-pilot.S | 222 ++ arch/m68k/platform/68328/head-ram.S | 141 ++ arch/m68k/platform/68328/head-rom.S | 110 + arch/m68k/platform/68328/ints.c | 186 ++ arch/m68k/platform/68328/romvec.S | 35 + arch/m68k/platform/68328/timers.c | 134 ++ arch/m68k/platform/68360/Makefile | 10 + arch/m68k/platform/68360/commproc.c | 308 +++ arch/m68k/platform/68360/config.c | 186 ++ arch/m68k/platform/68360/entry.S | 184 ++ arch/m68k/platform/68360/head-ram.S | 403 ++++ arch/m68k/platform/68360/head-rom.S | 414 ++++ arch/m68k/platform/68360/ints.c | 139 ++ arch/m68k/platform/68EZ328/Makefile | 11 + arch/m68k/platform/68EZ328/bootlogo.h | 3204 ++++++++++++++++++++++++++ arch/m68k/platform/68EZ328/config.c | 76 + arch/m68k/platform/68VZ328/Makefile | 16 + arch/m68k/platform/68VZ328/config.c | 188 ++ arch/m68k/platform/Makefile | 3 + arch/m68k/platform/coldfire/Makefile | 32 + arch/m68k/platform/coldfire/cache.c | 48 + arch/m68k/platform/coldfire/clk.c | 45 + arch/m68k/platform/coldfire/dma.c | 39 + arch/m68k/platform/coldfire/dma_timer.c | 84 + arch/m68k/platform/coldfire/entry.S | 203 ++ arch/m68k/platform/coldfire/gpio.c | 127 + arch/m68k/platform/coldfire/head.S | 250 ++ arch/m68k/platform/coldfire/intc-2.c | 214 ++ arch/m68k/platform/coldfire/intc-simr.c | 191 ++ arch/m68k/platform/coldfire/intc.c | 151 ++ arch/m68k/platform/coldfire/pinmux.c | 28 + arch/m68k/platform/coldfire/pit.c | 169 ++ arch/m68k/platform/coldfire/sltimers.c | 145 ++ arch/m68k/platform/coldfire/timers.c | 174 ++ arch/m68k/platform/coldfire/vectors.c | 80 + arch/m68knommu/Kconfig | 844 ------- arch/m68knommu/Kconfig.debug | 35 - arch/m68knommu/Makefile | 126 - arch/m68knommu/configs/m5208evb_defconfig | 74 - arch/m68knommu/configs/m5249evb_defconfig | 67 - arch/m68knommu/configs/m5272c3_defconfig | 65 - arch/m68knommu/configs/m5275evb_defconfig | 72 - arch/m68knommu/configs/m5307c3_defconfig | 75 - arch/m68knommu/configs/m5407c3_defconfig | 69 - arch/m68knommu/defconfig | 74 - arch/m68knommu/kernel/.gitignore | 1 - arch/m68knommu/kernel/Makefile | 10 - arch/m68knommu/kernel/asm-offsets.c | 76 - arch/m68knommu/kernel/dma.c | 74 - arch/m68knommu/kernel/entry.S | 134 -- arch/m68knommu/kernel/init_task.c | 36 - arch/m68knommu/kernel/irq.c | 58 - arch/m68knommu/kernel/m68k_ksyms.c | 78 - arch/m68knommu/kernel/module.c | 126 - arch/m68knommu/kernel/process.c | 404 ---- arch/m68knommu/kernel/ptrace.c | 255 -- arch/m68knommu/kernel/setup.c | 317 --- arch/m68knommu/kernel/signal.c | 765 ------ arch/m68knommu/kernel/sys_m68k.c | 94 - arch/m68knommu/kernel/syscalltable.S | 365 --- arch/m68knommu/kernel/time.c | 87 - arch/m68knommu/kernel/traps.c | 365 --- arch/m68knommu/kernel/vmlinux.lds.S | 188 -- arch/m68knommu/lib/Makefile | 7 - arch/m68knommu/lib/ashldi3.c | 62 - arch/m68knommu/lib/ashrdi3.c | 63 - arch/m68knommu/lib/checksum.c | 153 -- arch/m68knommu/lib/delay.c | 21 - arch/m68knommu/lib/divsi3.S | 125 - arch/m68knommu/lib/lshrdi3.c | 62 - arch/m68knommu/lib/memcpy.c | 62 - arch/m68knommu/lib/memmove.c | 105 - arch/m68knommu/lib/memset.c | 47 - arch/m68knommu/lib/modsi3.S | 113 - arch/m68knommu/lib/muldi3.c | 86 - arch/m68knommu/lib/mulsi3.S | 110 - arch/m68knommu/lib/udivsi3.S | 162 -- arch/m68knommu/lib/umodsi3.S | 113 - arch/m68knommu/mm/Makefile | 5 - arch/m68knommu/mm/init.c | 193 -- arch/m68knommu/mm/kmap.c | 45 - arch/m68knommu/platform/5206/Makefile | 18 - arch/m68knommu/platform/5206/config.c | 121 - arch/m68knommu/platform/5206/gpio.c | 49 - arch/m68knommu/platform/5206e/Makefile | 18 - arch/m68knommu/platform/5206e/config.c | 127 - arch/m68knommu/platform/5206e/gpio.c | 49 - arch/m68knommu/platform/520x/Makefile | 17 - arch/m68knommu/platform/520x/config.c | 311 --- arch/m68knommu/platform/520x/gpio.c | 211 -- arch/m68knommu/platform/523x/Makefile | 17 - arch/m68knommu/platform/523x/config.c | 293 --- arch/m68knommu/platform/523x/gpio.c | 284 --- arch/m68knommu/platform/5249/Makefile | 18 - arch/m68knommu/platform/5249/config.c | 330 --- arch/m68knommu/platform/5249/gpio.c | 65 - arch/m68knommu/platform/5249/intc2.c | 61 - arch/m68knommu/platform/5272/Makefile | 18 - arch/m68knommu/platform/5272/config.c | 176 -- arch/m68knommu/platform/5272/gpio.c | 81 - arch/m68knommu/platform/5272/intc.c | 187 -- arch/m68knommu/platform/527x/Makefile | 18 - arch/m68knommu/platform/527x/config.c | 384 --- arch/m68knommu/platform/527x/gpio.c | 609 ----- arch/m68knommu/platform/528x/Makefile | 18 - arch/m68knommu/platform/528x/config.c | 320 --- arch/m68knommu/platform/528x/gpio.c | 438 ---- arch/m68knommu/platform/5307/Makefile | 20 - arch/m68knommu/platform/5307/config.c | 147 -- arch/m68knommu/platform/5307/gpio.c | 49 - arch/m68knommu/platform/5307/nettel.c | 153 -- arch/m68knommu/platform/532x/Makefile | 18 - arch/m68knommu/platform/532x/config.c | 648 ------ arch/m68knommu/platform/532x/gpio.c | 337 --- arch/m68knommu/platform/5407/Makefile | 18 - arch/m68knommu/platform/5407/config.c | 122 - arch/m68knommu/platform/5407/gpio.c | 49 - arch/m68knommu/platform/54xx/Makefile | 19 - arch/m68knommu/platform/54xx/config.c | 115 - arch/m68knommu/platform/54xx/firebee.c | 86 - arch/m68knommu/platform/68328/Makefile | 22 - arch/m68knommu/platform/68328/bootlogo.h | 270 --- arch/m68knommu/platform/68328/bootlogo.pl | 10 - arch/m68knommu/platform/68328/config.c | 52 - arch/m68knommu/platform/68328/entry.S | 263 --- arch/m68knommu/platform/68328/head-de2.S | 128 - arch/m68knommu/platform/68328/head-pilot.S | 222 -- arch/m68knommu/platform/68328/head-ram.S | 141 -- arch/m68knommu/platform/68328/head-rom.S | 110 - arch/m68knommu/platform/68328/ints.c | 186 -- arch/m68knommu/platform/68328/romvec.S | 35 - arch/m68knommu/platform/68328/timers.c | 134 -- arch/m68knommu/platform/68360/Makefile | 10 - arch/m68knommu/platform/68360/commproc.c | 308 --- arch/m68knommu/platform/68360/config.c | 186 -- arch/m68knommu/platform/68360/entry.S | 184 -- arch/m68knommu/platform/68360/head-ram.S | 403 ---- arch/m68knommu/platform/68360/head-rom.S | 414 ---- arch/m68knommu/platform/68360/ints.c | 139 -- arch/m68knommu/platform/68EZ328/Makefile | 11 - arch/m68knommu/platform/68EZ328/bootlogo.h | 3204 -------------------------- arch/m68knommu/platform/68EZ328/config.c | 76 - arch/m68knommu/platform/68VZ328/Makefile | 16 - arch/m68knommu/platform/68VZ328/config.c | 188 -- arch/m68knommu/platform/Makefile | 3 - arch/m68knommu/platform/coldfire/Makefile | 32 - arch/m68knommu/platform/coldfire/cache.c | 48 - arch/m68knommu/platform/coldfire/clk.c | 45 - arch/m68knommu/platform/coldfire/dma.c | 39 - arch/m68knommu/platform/coldfire/dma_timer.c | 84 - arch/m68knommu/platform/coldfire/entry.S | 203 -- arch/m68knommu/platform/coldfire/gpio.c | 127 - arch/m68knommu/platform/coldfire/head.S | 250 -- arch/m68knommu/platform/coldfire/intc-2.c | 214 -- arch/m68knommu/platform/coldfire/intc-simr.c | 191 -- arch/m68knommu/platform/coldfire/intc.c | 151 -- arch/m68knommu/platform/coldfire/pinmux.c | 28 - arch/m68knommu/platform/coldfire/pit.c | 169 -- arch/m68knommu/platform/coldfire/sltimers.c | 145 -- arch/m68knommu/platform/coldfire/timers.c | 174 -- arch/m68knommu/platform/coldfire/vectors.c | 80 - 291 files changed, 27737 insertions(+), 27952 deletions(-) create mode 100644 arch/m68k/Kconfig.mmu create mode 100644 arch/m68k/Kconfig.nommu create mode 100644 arch/m68k/Makefile_mm create mode 100644 arch/m68k/Makefile_no create mode 100644 arch/m68k/configs/m5208evb_defconfig create mode 100644 arch/m68k/configs/m5249evb_defconfig create mode 100644 arch/m68k/configs/m5272c3_defconfig create mode 100644 arch/m68k/configs/m5275evb_defconfig create mode 100644 arch/m68k/configs/m5307c3_defconfig create mode 100644 arch/m68k/configs/m5407c3_defconfig create mode 100644 arch/m68k/kernel/Makefile_mm create mode 100644 arch/m68k/kernel/Makefile_no create mode 100644 arch/m68k/kernel/asm-offsets_mm.c create mode 100644 arch/m68k/kernel/asm-offsets_no.c create mode 100644 arch/m68k/kernel/dma_mm.c create mode 100644 arch/m68k/kernel/dma_no.c create mode 100644 arch/m68k/kernel/entry_mm.S create mode 100644 arch/m68k/kernel/entry_no.S create mode 100644 arch/m68k/kernel/init_task.c create mode 100644 arch/m68k/kernel/irq.c create mode 100644 arch/m68k/kernel/m68k_ksyms_mm.c create mode 100644 arch/m68k/kernel/m68k_ksyms_no.c create mode 100644 arch/m68k/kernel/module_mm.c create mode 100644 arch/m68k/kernel/module_no.c create mode 100644 arch/m68k/kernel/process_mm.c create mode 100644 arch/m68k/kernel/process_no.c create mode 100644 arch/m68k/kernel/ptrace_mm.c create mode 100644 arch/m68k/kernel/ptrace_no.c create mode 100644 arch/m68k/kernel/setup_mm.c create mode 100644 arch/m68k/kernel/setup_no.c create mode 100644 arch/m68k/kernel/signal_mm.c create mode 100644 arch/m68k/kernel/signal_no.c create mode 100644 arch/m68k/kernel/sys_m68k_mm.c create mode 100644 arch/m68k/kernel/sys_m68k_no.c create mode 100644 arch/m68k/kernel/syscalltable.S create mode 100644 arch/m68k/kernel/time_mm.c create mode 100644 arch/m68k/kernel/time_no.c create mode 100644 arch/m68k/kernel/traps_mm.c create mode 100644 arch/m68k/kernel/traps_no.c create mode 100644 arch/m68k/kernel/vmlinux.lds_mm.S create mode 100644 arch/m68k/kernel/vmlinux.lds_no.S create mode 100644 arch/m68k/lib/Makefile_mm create mode 100644 arch/m68k/lib/Makefile_no create mode 100644 arch/m68k/lib/checksum_mm.c create mode 100644 arch/m68k/lib/checksum_no.c create mode 100644 arch/m68k/lib/delay.c create mode 100644 arch/m68k/lib/divsi3.S create mode 100644 arch/m68k/lib/memcpy.c create mode 100644 arch/m68k/lib/memmove.c create mode 100644 arch/m68k/lib/memset.c create mode 100644 arch/m68k/lib/modsi3.S create mode 100644 arch/m68k/lib/muldi3_mm.c create mode 100644 arch/m68k/lib/muldi3_no.c create mode 100644 arch/m68k/lib/mulsi3.S create mode 100644 arch/m68k/lib/udivsi3.S create mode 100644 arch/m68k/lib/umodsi3.S create mode 100644 arch/m68k/mm/Makefile_mm create mode 100644 arch/m68k/mm/Makefile_no create mode 100644 arch/m68k/mm/init_mm.c create mode 100644 arch/m68k/mm/init_no.c create mode 100644 arch/m68k/mm/kmap_mm.c create mode 100644 arch/m68k/mm/kmap_no.c create mode 100644 arch/m68k/platform/5206/Makefile create mode 100644 arch/m68k/platform/5206/config.c create mode 100644 arch/m68k/platform/5206/gpio.c create mode 100644 arch/m68k/platform/5206e/Makefile create mode 100644 arch/m68k/platform/5206e/config.c create mode 100644 arch/m68k/platform/5206e/gpio.c create mode 100644 arch/m68k/platform/520x/Makefile create mode 100644 arch/m68k/platform/520x/config.c create mode 100644 arch/m68k/platform/520x/gpio.c create mode 100644 arch/m68k/platform/523x/Makefile create mode 100644 arch/m68k/platform/523x/config.c create mode 100644 arch/m68k/platform/523x/gpio.c create mode 100644 arch/m68k/platform/5249/Makefile create mode 100644 arch/m68k/platform/5249/config.c create mode 100644 arch/m68k/platform/5249/gpio.c create mode 100644 arch/m68k/platform/5249/intc2.c create mode 100644 arch/m68k/platform/5272/Makefile create mode 100644 arch/m68k/platform/5272/config.c create mode 100644 arch/m68k/platform/5272/gpio.c create mode 100644 arch/m68k/platform/5272/intc.c create mode 100644 arch/m68k/platform/527x/Makefile create mode 100644 arch/m68k/platform/527x/config.c create mode 100644 arch/m68k/platform/527x/gpio.c create mode 100644 arch/m68k/platform/528x/Makefile create mode 100644 arch/m68k/platform/528x/config.c create mode 100644 arch/m68k/platform/528x/gpio.c create mode 100644 arch/m68k/platform/5307/Makefile create mode 100644 arch/m68k/platform/5307/config.c create mode 100644 arch/m68k/platform/5307/gpio.c create mode 100644 arch/m68k/platform/5307/nettel.c create mode 100644 arch/m68k/platform/532x/Makefile create mode 100644 arch/m68k/platform/532x/config.c create mode 100644 arch/m68k/platform/532x/gpio.c create mode 100644 arch/m68k/platform/5407/Makefile create mode 100644 arch/m68k/platform/5407/config.c create mode 100644 arch/m68k/platform/5407/gpio.c create mode 100644 arch/m68k/platform/54xx/Makefile create mode 100644 arch/m68k/platform/54xx/config.c create mode 100644 arch/m68k/platform/54xx/firebee.c create mode 100644 arch/m68k/platform/68328/Makefile create mode 100644 arch/m68k/platform/68328/bootlogo.h create mode 100644 arch/m68k/platform/68328/bootlogo.pl create mode 100644 arch/m68k/platform/68328/config.c create mode 100644 arch/m68k/platform/68328/entry.S create mode 100644 arch/m68k/platform/68328/head-de2.S create mode 100644 arch/m68k/platform/68328/head-pilot.S create mode 100644 arch/m68k/platform/68328/head-ram.S create mode 100644 arch/m68k/platform/68328/head-rom.S create mode 100644 arch/m68k/platform/68328/ints.c create mode 100644 arch/m68k/platform/68328/romvec.S create mode 100644 arch/m68k/platform/68328/timers.c create mode 100644 arch/m68k/platform/68360/Makefile create mode 100644 arch/m68k/platform/68360/commproc.c create mode 100644 arch/m68k/platform/68360/config.c create mode 100644 arch/m68k/platform/68360/entry.S create mode 100644 arch/m68k/platform/68360/head-ram.S create mode 100644 arch/m68k/platform/68360/head-rom.S create mode 100644 arch/m68k/platform/68360/ints.c create mode 100644 arch/m68k/platform/68EZ328/Makefile create mode 100644 arch/m68k/platform/68EZ328/bootlogo.h create mode 100644 arch/m68k/platform/68EZ328/config.c create mode 100644 arch/m68k/platform/68VZ328/Makefile create mode 100644 arch/m68k/platform/68VZ328/config.c create mode 100644 arch/m68k/platform/Makefile create mode 100644 arch/m68k/platform/coldfire/Makefile create mode 100644 arch/m68k/platform/coldfire/cache.c create mode 100644 arch/m68k/platform/coldfire/clk.c create mode 100644 arch/m68k/platform/coldfire/dma.c create mode 100644 arch/m68k/platform/coldfire/dma_timer.c create mode 100644 arch/m68k/platform/coldfire/entry.S create mode 100644 arch/m68k/platform/coldfire/gpio.c create mode 100644 arch/m68k/platform/coldfire/head.S create mode 100644 arch/m68k/platform/coldfire/intc-2.c create mode 100644 arch/m68k/platform/coldfire/intc-simr.c create mode 100644 arch/m68k/platform/coldfire/intc.c create mode 100644 arch/m68k/platform/coldfire/pinmux.c create mode 100644 arch/m68k/platform/coldfire/pit.c create mode 100644 arch/m68k/platform/coldfire/sltimers.c create mode 100644 arch/m68k/platform/coldfire/timers.c create mode 100644 arch/m68k/platform/coldfire/vectors.c delete mode 100644 arch/m68knommu/Kconfig delete mode 100644 arch/m68knommu/Kconfig.debug delete mode 100644 arch/m68knommu/Makefile delete mode 100644 arch/m68knommu/configs/m5208evb_defconfig delete mode 100644 arch/m68knommu/configs/m5249evb_defconfig delete mode 100644 arch/m68knommu/configs/m5272c3_defconfig delete mode 100644 arch/m68knommu/configs/m5275evb_defconfig delete mode 100644 arch/m68knommu/configs/m5307c3_defconfig delete mode 100644 arch/m68knommu/configs/m5407c3_defconfig delete mode 100644 arch/m68knommu/defconfig delete mode 100644 arch/m68knommu/kernel/.gitignore delete mode 100644 arch/m68knommu/kernel/Makefile delete mode 100644 arch/m68knommu/kernel/asm-offsets.c delete mode 100644 arch/m68knommu/kernel/dma.c delete mode 100644 arch/m68knommu/kernel/entry.S delete mode 100644 arch/m68knommu/kernel/init_task.c delete mode 100644 arch/m68knommu/kernel/irq.c delete mode 100644 arch/m68knommu/kernel/m68k_ksyms.c delete mode 100644 arch/m68knommu/kernel/module.c delete mode 100644 arch/m68knommu/kernel/process.c delete mode 100644 arch/m68knommu/kernel/ptrace.c delete mode 100644 arch/m68knommu/kernel/setup.c delete mode 100644 arch/m68knommu/kernel/signal.c delete mode 100644 arch/m68knommu/kernel/sys_m68k.c delete mode 100644 arch/m68knommu/kernel/syscalltable.S delete mode 100644 arch/m68knommu/kernel/time.c delete mode 100644 arch/m68knommu/kernel/traps.c delete mode 100644 arch/m68knommu/kernel/vmlinux.lds.S delete mode 100644 arch/m68knommu/lib/Makefile delete mode 100644 arch/m68knommu/lib/ashldi3.c delete mode 100644 arch/m68knommu/lib/ashrdi3.c delete mode 100644 arch/m68knommu/lib/checksum.c delete mode 100644 arch/m68knommu/lib/delay.c delete mode 100644 arch/m68knommu/lib/divsi3.S delete mode 100644 arch/m68knommu/lib/lshrdi3.c delete mode 100644 arch/m68knommu/lib/memcpy.c delete mode 100644 arch/m68knommu/lib/memmove.c delete mode 100644 arch/m68knommu/lib/memset.c delete mode 100644 arch/m68knommu/lib/modsi3.S delete mode 100644 arch/m68knommu/lib/muldi3.c delete mode 100644 arch/m68knommu/lib/mulsi3.S delete mode 100644 arch/m68knommu/lib/udivsi3.S delete mode 100644 arch/m68knommu/lib/umodsi3.S delete mode 100644 arch/m68knommu/mm/Makefile delete mode 100644 arch/m68knommu/mm/init.c delete mode 100644 arch/m68knommu/mm/kmap.c delete mode 100644 arch/m68knommu/platform/5206/Makefile delete mode 100644 arch/m68knommu/platform/5206/config.c delete mode 100644 arch/m68knommu/platform/5206/gpio.c delete mode 100644 arch/m68knommu/platform/5206e/Makefile delete mode 100644 arch/m68knommu/platform/5206e/config.c delete mode 100644 arch/m68knommu/platform/5206e/gpio.c delete mode 100644 arch/m68knommu/platform/520x/Makefile delete mode 100644 arch/m68knommu/platform/520x/config.c delete mode 100644 arch/m68knommu/platform/520x/gpio.c delete mode 100644 arch/m68knommu/platform/523x/Makefile delete mode 100644 arch/m68knommu/platform/523x/config.c delete mode 100644 arch/m68knommu/platform/523x/gpio.c delete mode 100644 arch/m68knommu/platform/5249/Makefile delete mode 100644 arch/m68knommu/platform/5249/config.c delete mode 100644 arch/m68knommu/platform/5249/gpio.c delete mode 100644 arch/m68knommu/platform/5249/intc2.c delete mode 100644 arch/m68knommu/platform/5272/Makefile delete mode 100644 arch/m68knommu/platform/5272/config.c delete mode 100644 arch/m68knommu/platform/5272/gpio.c delete mode 100644 arch/m68knommu/platform/5272/intc.c delete mode 100644 arch/m68knommu/platform/527x/Makefile delete mode 100644 arch/m68knommu/platform/527x/config.c delete mode 100644 arch/m68knommu/platform/527x/gpio.c delete mode 100644 arch/m68knommu/platform/528x/Makefile delete mode 100644 arch/m68knommu/platform/528x/config.c delete mode 100644 arch/m68knommu/platform/528x/gpio.c delete mode 100644 arch/m68knommu/platform/5307/Makefile delete mode 100644 arch/m68knommu/platform/5307/config.c delete mode 100644 arch/m68knommu/platform/5307/gpio.c delete mode 100644 arch/m68knommu/platform/5307/nettel.c delete mode 100644 arch/m68knommu/platform/532x/Makefile delete mode 100644 arch/m68knommu/platform/532x/config.c delete mode 100644 arch/m68knommu/platform/532x/gpio.c delete mode 100644 arch/m68knommu/platform/5407/Makefile delete mode 100644 arch/m68knommu/platform/5407/config.c delete mode 100644 arch/m68knommu/platform/5407/gpio.c delete mode 100644 arch/m68knommu/platform/54xx/Makefile delete mode 100644 arch/m68knommu/platform/54xx/config.c delete mode 100644 arch/m68knommu/platform/54xx/firebee.c delete mode 100644 arch/m68knommu/platform/68328/Makefile delete mode 100644 arch/m68knommu/platform/68328/bootlogo.h delete mode 100644 arch/m68knommu/platform/68328/bootlogo.pl delete mode 100644 arch/m68knommu/platform/68328/config.c delete mode 100644 arch/m68knommu/platform/68328/entry.S delete mode 100644 arch/m68knommu/platform/68328/head-de2.S delete mode 100644 arch/m68knommu/platform/68328/head-pilot.S delete mode 100644 arch/m68knommu/platform/68328/head-ram.S delete mode 100644 arch/m68knommu/platform/68328/head-rom.S delete mode 100644 arch/m68knommu/platform/68328/ints.c delete mode 100644 arch/m68knommu/platform/68328/romvec.S delete mode 100644 arch/m68knommu/platform/68328/timers.c delete mode 100644 arch/m68knommu/platform/68360/Makefile delete mode 100644 arch/m68knommu/platform/68360/commproc.c delete mode 100644 arch/m68knommu/platform/68360/config.c delete mode 100644 arch/m68knommu/platform/68360/entry.S delete mode 100644 arch/m68knommu/platform/68360/head-ram.S delete mode 100644 arch/m68knommu/platform/68360/head-rom.S delete mode 100644 arch/m68knommu/platform/68360/ints.c delete mode 100644 arch/m68knommu/platform/68EZ328/Makefile delete mode 100644 arch/m68knommu/platform/68EZ328/bootlogo.h delete mode 100644 arch/m68knommu/platform/68EZ328/config.c delete mode 100644 arch/m68knommu/platform/68VZ328/Makefile delete mode 100644 arch/m68knommu/platform/68VZ328/config.c delete mode 100644 arch/m68knommu/platform/Makefile delete mode 100644 arch/m68knommu/platform/coldfire/Makefile delete mode 100644 arch/m68knommu/platform/coldfire/cache.c delete mode 100644 arch/m68knommu/platform/coldfire/clk.c delete mode 100644 arch/m68knommu/platform/coldfire/dma.c delete mode 100644 arch/m68knommu/platform/coldfire/dma_timer.c delete mode 100644 arch/m68knommu/platform/coldfire/entry.S delete mode 100644 arch/m68knommu/platform/coldfire/gpio.c delete mode 100644 arch/m68knommu/platform/coldfire/head.S delete mode 100644 arch/m68knommu/platform/coldfire/intc-2.c delete mode 100644 arch/m68knommu/platform/coldfire/intc-simr.c delete mode 100644 arch/m68knommu/platform/coldfire/intc.c delete mode 100644 arch/m68knommu/platform/coldfire/pinmux.c delete mode 100644 arch/m68knommu/platform/coldfire/pit.c delete mode 100644 arch/m68knommu/platform/coldfire/sltimers.c delete mode 100644 arch/m68knommu/platform/coldfire/timers.c delete mode 100644 arch/m68knommu/platform/coldfire/vectors.c diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 525174d4167..6e056d3c5d0 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -1,13 +1,11 @@ config M68K bool default y - select HAVE_AOUT select HAVE_IDE - select GENERIC_ATOMIC64 - -config MMU - bool - default y + select HAVE_AOUT if MMU + select GENERIC_ATOMIC64 if MMU + select HAVE_GENERIC_HARDIRQS if !MMU + select GENERIC_HARDIRQS_NO_DEPRECATED if !MMU config RWSEM_GENERIC_SPINLOCK bool @@ -34,457 +32,67 @@ config TIME_LOW_RES bool default y -config GENERIC_IOMAP - bool - default y - -config ARCH_MAY_HAVE_PC_FDC - bool - depends on BROKEN && (Q40 || SUN3X) - default y - config NO_IOPORT def_bool y config NO_DMA - def_bool SUN3 + def_bool (MMU && SUN3) || (!MMU && !COLDFIRE) +config ZONE_DMA + bool + default y config HZ int + default 1000 if CLEOPATRA default 100 -config ARCH_USES_GETTIMEOFFSET - def_bool y - source "init/Kconfig" source "kernel/Kconfig.freezer" -menu "Platform dependent setup" - -config EISA - bool - ---help--- - The Extended Industry Standard Architecture (EISA) bus was - developed as an open alternative to the IBM MicroChannel bus. - - The EISA bus provided some of the features of the IBM MicroChannel - bus while maintaining backward compatibility with cards made for - the older ISA bus. The EISA bus saw limited use between 1988 and - 1995 when it was made obsolete by the PCI bus. - - Say Y here if you are building a kernel for an EISA-based machine. - - Otherwise, say N. - -config MCA - bool - help - MicroChannel Architecture is found in some IBM PS/2 machines and - laptops. It is a bus system similar to PCI or ISA. See - (and especially the web page given - there) before attempting to build an MCA bus kernel. - -config PCMCIA - tristate - ---help--- - Say Y here if you want to attach PCMCIA- or PC-cards to your Linux - computer. These are credit-card size devices such as network cards, - modems or hard drives often used with laptops computers. There are - actually two varieties of these cards: the older 16 bit PCMCIA cards - and the newer 32 bit CardBus cards. If you want to use CardBus - cards, you need to say Y here and also to "CardBus support" below. - - To use your PC-cards, you will need supporting software from David - Hinds' pcmcia-cs package (see the file - for location). Please also read the PCMCIA-HOWTO, available from - . - - To compile this driver as modules, choose M here: the - modules will be called pcmcia_core and ds. - -config AMIGA - bool "Amiga support" - select MMU_MOTOROLA if MMU - help - This option enables support for the Amiga series of computers. If - you plan to use this kernel on an Amiga, say Y here and browse the - material available in ; otherwise say N. - -config ATARI - bool "Atari support" - select MMU_MOTOROLA if MMU - help - This option enables support for the 68000-based Atari series of - computers (including the TT, Falcon and Medusa). If you plan to use - this kernel on an Atari, say Y here and browse the material - available in ; otherwise say N. - -config MAC - bool "Macintosh support" - select MMU_MOTOROLA if MMU - help - This option enables support for the Apple Macintosh series of - computers (yes, there is experimental support now, at least for part - of the series). - - Say N unless you're willing to code the remaining necessary support. - ;) - -config NUBUS - bool - depends on MAC - default y - -config M68K_L2_CACHE - bool - depends on MAC - default y - -config APOLLO - bool "Apollo support" - select MMU_MOTOROLA if MMU - help - Say Y here if you want to run Linux on an MC680x0-based Apollo - Domain workstation such as the DN3500. - -config VME - bool "VME (Motorola and BVM) support" - select MMU_MOTOROLA if MMU - help - Say Y here if you want to build a kernel for a 680x0 based VME - board. Boards currently supported include Motorola boards MVME147, - MVME162, MVME166, MVME167, MVME172, and MVME177. BVME4000 and - BVME6000 boards from BVM Ltd are also supported. - -config MVME147 - bool "MVME147 support" - depends on VME - help - Say Y to include support for early Motorola VME boards. This will - build a kernel which can run on MVME147 single-board computers. If - you select this option you will have to select the appropriate - drivers for SCSI, Ethernet and serial ports later on. - -config MVME16x - bool "MVME162, 166 and 167 support" - depends on VME - help - Say Y to include support for Motorola VME boards. This will build a - kernel which can run on MVME162, MVME166, MVME167, MVME172, and - MVME177 boards. If you select this option you will have to select - the appropriate drivers for SCSI, Ethernet and serial ports later - on. - -config BVME6000 - bool "BVME4000 and BVME6000 support" - depends on VME - help - Say Y to include support for VME boards from BVM Ltd. This will - build a kernel which can run on BVME4000 and BVME6000 boards. If - you select this option you will have to select the appropriate - drivers for SCSI, Ethernet and serial ports later on. - -config HP300 - bool "HP9000/300 and HP9000/400 support" - select MMU_MOTOROLA if MMU - help - This option enables support for the HP9000/300 and HP9000/400 series - of workstations. Support for these machines is still somewhat - experimental. If you plan to try to use the kernel on such a machine - say Y here. - Everybody else says N. - -config DIO - bool "DIO bus support" - depends on HP300 +config MMU + bool "MMU-based Paged Memory Management Support" default y help - Say Y here to enable support for the "DIO" expansion bus used in - HP300 machines. If you are using such a system you almost certainly - want this. - -config SUN3X - bool "Sun3x support" - select MMU_MOTOROLA if MMU - select M68030 - help - This option enables support for the Sun 3x series of workstations. - Be warned that this support is very experimental. - Note that Sun 3x kernels are not compatible with Sun 3 hardware. - General Linux information on the Sun 3x series (now discontinued) - is at . - - If you don't want to compile a kernel for a Sun 3x, say N. - -config Q40 - bool "Q40/Q60 support" - select MMU_MOTOROLA if MMU - help - The Q40 is a Motorola 68040-based successor to the Sinclair QL - manufactured in Germany. There is an official Q40 home page at - . This option enables support for the Q40 and - Q60. Select your CPU below. For 68LC060 don't forget to enable FPU - emulation. - -config SUN3 - bool "Sun3 support" - depends on !MMU_MOTOROLA - select MMU_SUN3 if MMU - select M68020 - help - This option enables support for the Sun 3 series of workstations - (3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires - that all other hardware types must be disabled, as Sun 3 kernels - are incompatible with all other m68k targets (including Sun 3x!). - - If you don't want to compile a kernel exclusively for a Sun 3, say N. - -config NATFEAT - bool "ARAnyM emulator support" - depends on ATARI - help - This option enables support for ARAnyM native features, such as - access to a disk image as /dev/hda. - -config NFBLOCK - tristate "NatFeat block device support" - depends on BLOCK && NATFEAT - help - Say Y to include support for the ARAnyM NatFeat block device - which allows direct access to the hard drives without using - the hardware emulation. - -config NFCON - tristate "NatFeat console driver" - depends on NATFEAT - help - Say Y to include support for the ARAnyM NatFeat console driver - which allows the console output to be redirected to the stderr - output of ARAnyM. - -config NFETH - tristate "NatFeat Ethernet support" - depends on NET_ETHERNET && NATFEAT - help - Say Y to include support for the ARAnyM NatFeat network device - which will emulate a regular ethernet device while presenting an - ethertap device to the host system. - -comment "Processor type" - -config M68020 - bool "68020 support" - help - If you anticipate running this kernel on a computer with a MC68020 - processor, say Y. Otherwise, say N. Note that the 68020 requires a - 68851 MMU (Memory Management Unit) to run Linux/m68k, except on the - Sun 3, which provides its own version. - -config M68030 - bool "68030 support" - depends on !MMU_SUN3 - help - If you anticipate running this kernel on a computer with a MC68030 - processor, say Y. Otherwise, say N. Note that a MC68EC030 will not - work, as it does not include an MMU (Memory Management Unit). - -config M68040 - bool "68040 support" - depends on !MMU_SUN3 - help - If you anticipate running this kernel on a computer with a MC68LC040 - or MC68040 processor, say Y. Otherwise, say N. Note that an - MC68EC040 will not work, as it does not include an MMU (Memory - Management Unit). - -config M68060 - bool "68060 support" - depends on !MMU_SUN3 - help - If you anticipate running this kernel on a computer with a MC68060 - processor, say Y. Otherwise, say N. - -config MMU_MOTOROLA - bool - -config MMU_SUN3 - bool - depends on MMU && !MMU_MOTOROLA - -config M68KFPU_EMU - bool "Math emulation support (EXPERIMENTAL)" - depends on EXPERIMENTAL - help - At some point in the future, this will cause floating-point math - instructions to be emulated by the kernel on machines that lack a - floating-point math coprocessor. Thrill-seekers and chronically - sleep-deprived psychotic hacker types can say Y now, everyone else - should probably wait a while. - -config M68KFPU_EMU_EXTRAPREC - bool "Math emulation extra precision" - depends on M68KFPU_EMU - help - The fpu uses normally a few bit more during calculations for - correct rounding, the emulator can (often) do the same but this - extra calculation can cost quite some time, so you can disable - it here. The emulator will then "only" calculate with a 64 bit - mantissa and round slightly incorrect, what is more than enough - for normal usage. - -config M68KFPU_EMU_ONLY - bool "Math emulation only kernel" - depends on M68KFPU_EMU - help - This option prevents any floating-point instructions from being - compiled into the kernel, thereby the kernel doesn't save any - floating point context anymore during task switches, so this - kernel will only be usable on machines without a floating-point - math coprocessor. This makes the kernel a bit faster as no tests - needs to be executed whether a floating-point instruction in the - kernel should be executed or not. - -config ADVANCED - bool "Advanced configuration options" - ---help--- - This gives you access to some advanced options for the CPU. The - defaults should be fine for most users, but these options may make - it possible for you to improve performance somewhat if you know what - you are doing. - - Note that the answer to this question won't directly affect the - kernel: saying N will just cause the configurator to skip all - the questions about these options. + Select if you want MMU-based virtualised addressing space + support by paged memory management. If unsure, say 'Y'. - Most users should say N to this question. - -config RMW_INSNS - bool "Use read-modify-write instructions" - depends on ADVANCED - ---help--- - This allows to use certain instructions that work with indivisible - read-modify-write bus cycles. While this is faster than the - workaround of disabling interrupts, it can conflict with DMA - ( = direct memory access) on many Amiga systems, and it is also said - to destabilize other machines. It is very likely that this will - cause serious problems on any Amiga or Atari Medusa if set. The only - configuration where it should work are 68030-based Ataris, where it - apparently improves performance. But you've been warned! Unless you - really know what you are doing, say N. Try Y only if you're quite - adventurous. - -config SINGLE_MEMORY_CHUNK - bool "Use one physical chunk of memory only" if ADVANCED && !SUN3 - default y if SUN3 - select NEED_MULTIPLE_NODES - help - Ignore all but the first contiguous chunk of physical memory for VM - purposes. This will save a few bytes kernel size and may speed up - some operations. Say N if not sure. +menu "Platform dependent setup" -config 060_WRITETHROUGH - bool "Use write-through caching for 68060 supervisor accesses" - depends on ADVANCED && M68060 - ---help--- - The 68060 generally uses copyback caching of recently accessed data. - Copyback caching means that memory writes will be held in an on-chip - cache and only written back to memory some time later. Saying Y - here will force supervisor (kernel) accesses to use writethrough - caching. Writethrough caching means that data is written to memory - straight away, so that cache and memory data always agree. - Writethrough caching is less efficient, but is needed for some - drivers on 68060 based systems where the 68060 bus snooping signal - is hardwired on. The 53c710 SCSI driver is known to suffer from - this problem. - -config ARCH_DISCONTIGMEM_ENABLE - def_bool !SINGLE_MEMORY_CHUNK - -config NODES_SHIFT - int - default "3" - depends on !SINGLE_MEMORY_CHUNK +if MMU +source arch/m68k/Kconfig.mmu +endif +if !MMU +source arch/m68k/Kconfig.nommu +endif source "mm/Kconfig" endmenu -menu "General setup" +menu "Executable file formats" source "fs/Kconfig.binfmt" -config ZORRO - bool "Amiga Zorro (AutoConfig) bus support" - depends on AMIGA - help - This enables support for the Zorro bus in the Amiga. If you have - expansion cards in your Amiga that conform to the Amiga - AutoConfig(tm) specification, say Y, otherwise N. Note that even - expansion cards that do not fit in the Zorro slots but fit in e.g. - the CPU slot may fall in this category, so you have to say Y to let - Linux use these. - -config AMIGA_PCMCIA - bool "Amiga 1200/600 PCMCIA support (EXPERIMENTAL)" - depends on AMIGA && EXPERIMENTAL - help - Include support in the kernel for pcmcia on Amiga 1200 and Amiga - 600. If you intend to use pcmcia cards say Y; otherwise say N. - -config STRAM_PROC - bool "ST-RAM statistics in /proc" - depends on ATARI - help - Say Y here to report ST-RAM usage statistics in /proc/stram. - -config HEARTBEAT - bool "Use power LED as a heartbeat" if AMIGA || APOLLO || ATARI || MAC ||Q40 - default y if !AMIGA && !APOLLO && !ATARI && !MAC && !Q40 && HP300 - help - Use the power-on LED on your machine as a load meter. The exact - behavior is platform-dependent, but normally the flash frequency is - a hyperbolic function of the 5-minute load average. - -# We have a dedicated heartbeat LED. :-) -config PROC_HARDWARE - bool "/proc/hardware support" - help - Say Y here to support the /proc/hardware file, which gives you - access to information about the machine you're running on, - including the model, CPU, MMU, clock speed, BogoMIPS rating, - and memory size. - -config ISA - bool - depends on Q40 || AMIGA_PCMCIA - default y - help - Find out whether you have ISA slots on your motherboard. ISA is the - name of a bus system, i.e. the way the CPU talks to the other stuff - inside your box. Other bus systems are PCI, EISA, MicroChannel - (MCA) or VESA. ISA is an older system, now being displaced by PCI; - newer boards don't support it. If you have ISA, say Y, otherwise N. - -config GENERIC_ISA_DMA - bool - depends on Q40 || AMIGA_PCMCIA - default y - -config ZONE_DMA - bool - default y +endmenu -source "drivers/pci/Kconfig" +if !MMU +menu "Power management options" -source "drivers/zorro/Kconfig" +config PM + bool "Power Management support" + help + Support processor power management modes endmenu +endif source "net/Kconfig" source "drivers/Kconfig" +if MMU + menu "Character devices" config ATARI_MFPSER @@ -627,6 +235,8 @@ config SERIAL_CONSOLE endmenu +endif + source "fs/Kconfig" source "arch/m68k/Kconfig.debug" diff --git a/arch/m68k/Kconfig.debug b/arch/m68k/Kconfig.debug index f53b6d5300e..2bdb1b01115 100644 --- a/arch/m68k/Kconfig.debug +++ b/arch/m68k/Kconfig.debug @@ -2,4 +2,38 @@ menu "Kernel hacking" source "lib/Kconfig.debug" +if !MMU + +config FULLDEBUG + bool "Full Symbolic/Source Debugging support" + help + Enable debugging symbols on kernel build. + +config HIGHPROFILE + bool "Use fast second timer for profiling" + depends on COLDFIRE + help + Use a fast secondary clock to produce profiling information. + +config BOOTPARAM + bool 'Compiled-in Kernel Boot Parameter' + +config BOOTPARAM_STRING + string 'Kernel Boot Parameter' + default 'console=ttyS0,19200' + depends on BOOTPARAM + +config NO_KERNEL_MSG + bool "Suppress Kernel BUG Messages" + help + Do not output any debug BUG messages within the kernel. + +config BDM_DISABLE + bool "Disable BDM signals" + depends on (EXPERIMENTAL && COLDFIRE) + help + Disable the ColdFire CPU's BDM signals. + +endif + endmenu diff --git a/arch/m68k/Kconfig.mmu b/arch/m68k/Kconfig.mmu new file mode 100644 index 00000000000..16539b1d5d3 --- /dev/null +++ b/arch/m68k/Kconfig.mmu @@ -0,0 +1,417 @@ +config GENERIC_IOMAP + bool + default y + +config ARCH_MAY_HAVE_PC_FDC + bool + depends on BROKEN && (Q40 || SUN3X) + default y + +config ARCH_USES_GETTIMEOFFSET + def_bool y + +config EISA + bool + ---help--- + The Extended Industry Standard Architecture (EISA) bus was + developed as an open alternative to the IBM MicroChannel bus. + + The EISA bus provided some of the features of the IBM MicroChannel + bus while maintaining backward compatibility with cards made for + the older ISA bus. The EISA bus saw limited use between 1988 and + 1995 when it was made obsolete by the PCI bus. + + Say Y here if you are building a kernel for an EISA-based machine. + + Otherwise, say N. + +config MCA + bool + help + MicroChannel Architecture is found in some IBM PS/2 machines and + laptops. It is a bus system similar to PCI or ISA. See + (and especially the web page given + there) before attempting to build an MCA bus kernel. + +config PCMCIA + tristate + ---help--- + Say Y here if you want to attach PCMCIA- or PC-cards to your Linux + computer. These are credit-card size devices such as network cards, + modems or hard drives often used with laptops computers. There are + actually two varieties of these cards: the older 16 bit PCMCIA cards + and the newer 32 bit CardBus cards. If you want to use CardBus + cards, you need to say Y here and also to "CardBus support" below. + + To use your PC-cards, you will need supporting software from David + Hinds' pcmcia-cs package (see the file + for location). Please also read the PCMCIA-HOWTO, available from + . + + To compile this driver as modules, choose M here: the + modules will be called pcmcia_core and ds. + +config AMIGA + bool "Amiga support" + select MMU_MOTOROLA if MMU + help + This option enables support for the Amiga series of computers. If + you plan to use this kernel on an Amiga, say Y here and browse the + material available in ; otherwise say N. + +config ATARI + bool "Atari support" + select MMU_MOTOROLA if MMU + help + This option enables support for the 68000-based Atari series of + computers (including the TT, Falcon and Medusa). If you plan to use + this kernel on an Atari, say Y here and browse the material + available in ; otherwise say N. + +config MAC + bool "Macintosh support" + select MMU_MOTOROLA if MMU + help + This option enables support for the Apple Macintosh series of + computers (yes, there is experimental support now, at least for part + of the series). + + Say N unless you're willing to code the remaining necessary support. + ;) + +config NUBUS + bool + depends on MAC + default y + +config M68K_L2_CACHE + bool + depends on MAC + default y + +config APOLLO + bool "Apollo support" + select MMU_MOTOROLA if MMU + help + Say Y here if you want to run Linux on an MC680x0-based Apollo + Domain workstation such as the DN3500. + +config VME + bool "VME (Motorola and BVM) support" + select MMU_MOTOROLA if MMU + help + Say Y here if you want to build a kernel for a 680x0 based VME + board. Boards currently supported include Motorola boards MVME147, + MVME162, MVME166, MVME167, MVME172, and MVME177. BVME4000 and + BVME6000 boards from BVM Ltd are also supported. + +config MVME147 + bool "MVME147 support" + depends on VME + help + Say Y to include support for early Motorola VME boards. This will + build a kernel which can run on MVME147 single-board computers. If + you select this option you will have to select the appropriate + drivers for SCSI, Ethernet and serial ports later on. + +config MVME16x + bool "MVME162, 166 and 167 support" + depends on VME + help + Say Y to include support for Motorola VME boards. This will build a + kernel which can run on MVME162, MVME166, MVME167, MVME172, and + MVME177 boards. If you select this option you will have to select + the appropriate drivers for SCSI, Ethernet and serial ports later + on. + +config BVME6000 + bool "BVME4000 and BVME6000 support" + depends on VME + help + Say Y to include support for VME boards from BVM Ltd. This will + build a kernel which can run on BVME4000 and BVME6000 boards. If + you select this option you will have to select the appropriate + drivers for SCSI, Ethernet and serial ports later on. + +config HP300 + bool "HP9000/300 and HP9000/400 support" + select MMU_MOTOROLA if MMU + help + This option enables support for the HP9000/300 and HP9000/400 series + of workstations. Support for these machines is still somewhat + experimental. If you plan to try to use the kernel on such a machine + say Y here. + Everybody else says N. + +config DIO + bool "DIO bus support" + depends on HP300 + default y + help + Say Y here to enable support for the "DIO" expansion bus used in + HP300 machines. If you are using such a system you almost certainly + want this. + +config SUN3X + bool "Sun3x support" + select MMU_MOTOROLA if MMU + select M68030 + help + This option enables support for the Sun 3x series of workstations. + Be warned that this support is very experimental. + Note that Sun 3x kernels are not compatible with Sun 3 hardware. + General Linux information on the Sun 3x series (now discontinued) + is at . + + If you don't want to compile a kernel for a Sun 3x, say N. + +config Q40 + bool "Q40/Q60 support" + select MMU_MOTOROLA if MMU + help + The Q40 is a Motorola 68040-based successor to the Sinclair QL + manufactured in Germany. There is an official Q40 home page at + . This option enables support for the Q40 and + Q60. Select your CPU below. For 68LC060 don't forget to enable FPU + emulation. + +config SUN3 + bool "Sun3 support" + depends on !MMU_MOTOROLA + select MMU_SUN3 if MMU + select M68020 + help + This option enables support for the Sun 3 series of workstations + (3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires + that all other hardware types must be disabled, as Sun 3 kernels + are incompatible with all other m68k targets (including Sun 3x!). + + If you don't want to compile a kernel exclusively for a Sun 3, say N. + +config NATFEAT + bool "ARAnyM emulator support" + depends on ATARI + help + This option enables support for ARAnyM native features, such as + access to a disk image as /dev/hda. + +config NFBLOCK + tristate "NatFeat block device support" + depends on BLOCK && NATFEAT + help + Say Y to include support for the ARAnyM NatFeat block device + which allows direct access to the hard drives without using + the hardware emulation. + +config NFCON + tristate "NatFeat console driver" + depends on NATFEAT + help + Say Y to include support for the ARAnyM NatFeat console driver + which allows the console output to be redirected to the stderr + output of ARAnyM. + +config NFETH + tristate "NatFeat Ethernet support" + depends on NET_ETHERNET && NATFEAT + help + Say Y to include support for the ARAnyM NatFeat network device + which will emulate a regular ethernet device while presenting an + ethertap device to the host system. + +comment "Processor type" + +config M68020 + bool "68020 support" + help + If you anticipate running this kernel on a computer with a MC68020 + processor, say Y. Otherwise, say N. Note that the 68020 requires a + 68851 MMU (Memory Management Unit) to run Linux/m68k, except on the + Sun 3, which provides its own version. + +config M68030 + bool "68030 support" + depends on !MMU_SUN3 + help + If you anticipate running this kernel on a computer with a MC68030 + processor, say Y. Otherwise, say N. Note that a MC68EC030 will not + work, as it does not include an MMU (Memory Management Unit). + +config M68040 + bool "68040 support" + depends on !MMU_SUN3 + help + If you anticipate running this kernel on a computer with a MC68LC040 + or MC68040 processor, say Y. Otherwise, say N. Note that an + MC68EC040 will not work, as it does not include an MMU (Memory + Management Unit). + +config M68060 + bool "68060 support" + depends on !MMU_SUN3 + help + If you anticipate running this kernel on a computer with a MC68060 + processor, say Y. Otherwise, say N. + +config MMU_MOTOROLA + bool + +config MMU_SUN3 + bool + depends on MMU && !MMU_MOTOROLA + +config M68KFPU_EMU + bool "Math emulation support (EXPERIMENTAL)" + depends on EXPERIMENTAL + help + At some point in the future, this will cause floating-point math + instructions to be emulated by the kernel on machines that lack a + floating-point math coprocessor. Thrill-seekers and chronically + sleep-deprived psychotic hacker types can say Y now, everyone else + should probably wait a while. + +config M68KFPU_EMU_EXTRAPREC + bool "Math emulation extra precision" + depends on M68KFPU_EMU + help + The fpu uses normally a few bit more during calculations for + correct rounding, the emulator can (often) do the same but this + extra calculation can cost quite some time, so you can disable + it here. The emulator will then "only" calculate with a 64 bit + mantissa and round slightly incorrect, what is more than enough + for normal usage. + +config M68KFPU_EMU_ONLY + bool "Math emulation only kernel" + depends on M68KFPU_EMU + help + This option prevents any floating-point instructions from being + compiled into the kernel, thereby the kernel doesn't save any + floating point context anymore during task switches, so this + kernel will only be usable on machines without a floating-point + math coprocessor. This makes the kernel a bit faster as no tests + needs to be executed whether a floating-point instruction in the + kernel should be executed or not. + +config ADVANCED + bool "Advanced configuration options" + ---help--- + This gives you access to some advanced options for the CPU. The + defaults should be fine for most users, but these options may make + it possible for you to improve performance somewhat if you know what + you are doing. + + Note that the answer to this question won't directly affect the + kernel: saying N will just cause the configurator to skip all + the questions about these options. + + Most users should say N to this question. + +config RMW_INSNS + bool "Use read-modify-write instructions" + depends on ADVANCED + ---help--- + This allows to use certain instructions that work with indivisible + read-modify-write bus cycles. While this is faster than the + workaround of disabling interrupts, it can conflict with DMA + ( = direct memory access) on many Amiga systems, and it is also said + to destabilize other machines. It is very likely that this will + cause serious problems on any Amiga or Atari Medusa if set. The only + configuration where it should work are 68030-based Ataris, where it + apparently improves performance. But you've been warned! Unless you + really know what you are doing, say N. Try Y only if you're quite + adventurous. + +config SINGLE_MEMORY_CHUNK + bool "Use one physical chunk of memory only" if ADVANCED && !SUN3 + default y if SUN3 + select NEED_MULTIPLE_NODES + help + Ignore all but the first contiguous chunk of physical memory for VM + purposes. This will save a few bytes kernel size and may speed up + some operations. Say N if not sure. + +config 060_WRITETHROUGH + bool "Use write-through caching for 68060 supervisor accesses" + depends on ADVANCED && M68060 + ---help--- + The 68060 generally uses copyback caching of recently accessed data. + Copyback caching means that memory writes will be held in an on-chip + cache and only written back to memory some time later. Saying Y + here will force supervisor (kernel) accesses to use writethrough + caching. Writethrough caching means that data is written to memory + straight away, so that cache and memory data always agree. + Writethrough caching is less efficient, but is needed for some + drivers on 68060 based systems where the 68060 bus snooping signal + is hardwired on. The 53c710 SCSI driver is known to suffer from + this problem. + +config ARCH_DISCONTIGMEM_ENABLE + def_bool !SINGLE_MEMORY_CHUNK + +config NODES_SHIFT + int + default "3" + depends on !SINGLE_MEMORY_CHUNK + +config ZORRO + bool "Amiga Zorro (AutoConfig) bus support" + depends on AMIGA + help + This enables support for the Zorro bus in the Amiga. If you have + expansion cards in your Amiga that conform to the Amiga + AutoConfig(tm) specification, say Y, otherwise N. Note that even + expansion cards that do not fit in the Zorro slots but fit in e.g. + the CPU slot may fall in this category, so you have to say Y to let + Linux use these. + +config AMIGA_PCMCIA + bool "Amiga 1200/600 PCMCIA support (EXPERIMENTAL)" + depends on AMIGA && EXPERIMENTAL + help + Include support in the kernel for pcmcia on Amiga 1200 and Amiga + 600. If you intend to use pcmcia cards say Y; otherwise say N. + +config STRAM_PROC + bool "ST-RAM statistics in /proc" + depends on ATARI + help + Say Y here to report ST-RAM usage statistics in /proc/stram. + +config HEARTBEAT + bool "Use power LED as a heartbeat" if AMIGA || APOLLO || ATARI || MAC ||Q40 + default y if !AMIGA && !APOLLO && !ATARI && !MAC && !Q40 && HP300 + help + Use the power-on LED on your machine as a load meter. The exact + behavior is platform-dependent, but normally the flash frequency is + a hyperbolic function of the 5-minute load average. + +# We have a dedicated heartbeat LED. :-) +config PROC_HARDWARE + bool "/proc/hardware support" + help + Say Y here to support the /proc/hardware file, which gives you + access to information about the machine you're running on, + including the model, CPU, MMU, clock speed, BogoMIPS rating, + and memory size. + +config ISA + bool + depends on Q40 || AMIGA_PCMCIA + default y + help + Find out whether you have ISA slots on your motherboard. ISA is the + name of a bus system, i.e. the way the CPU talks to the other stuff + inside your box. Other bus systems are PCI, EISA, MicroChannel + (MCA) or VESA. ISA is an older system, now being displaced by PCI; + newer boards don't support it. If you have ISA, say Y, otherwise N. + +config GENERIC_ISA_DMA + bool + depends on Q40 || AMIGA_PCMCIA + default y + +source "drivers/pci/Kconfig" + +source "drivers/zorro/Kconfig" + diff --git a/arch/m68k/Kconfig.nommu b/arch/m68k/Kconfig.nommu new file mode 100644 index 00000000000..273bccab951 --- /dev/null +++ b/arch/m68k/Kconfig.nommu @@ -0,0 +1,750 @@ +config FPU + bool + default n + +config GENERIC_FIND_NEXT_BIT + bool + default y + +config GENERIC_GPIO + bool + default n + +config GENERIC_CMOS_UPDATE + bool + default y + +config GENERIC_CLOCKEVENTS + bool + default n + +config COLDFIRE_SW_A7 + bool + default n + +config HAVE_CACHE_SPLIT + bool + +config HAVE_CACHE_CB + bool + +config HAVE_MBAR + bool + +config HAVE_IPSBAR + bool + +choice + prompt "CPU" + default M68EZ328 + +config M68328 + bool "MC68328" + help + Motorola 683