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
<sfking@fdwdc.com>, which was originally written by Arnd Bergmann
<arnd@arndb.de>.
> 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
> <file>_mm.<ext> and the m68knommu version of the file is moved into the
> corresponding m68k directory and renamed <file>_no.<ext> and a small
> wrapper file <file>.<ext> 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 <file>_mm.<ext>
> #else
> #include <file>_no.<ext>
> #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 <gerg@uclinux.org>
diff --git a/arch/m68k/Makefile_no b/arch/m68k/Makefile_no
new file mode 100644
index 0000000..81652ab
--- /dev/null
+++ b/arch/m68k/Makefile_no
@@ -0,0 +1,124 @@
+#
+# arch/m68k/Makefile
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file "COPYING" in the main directory of this archive
+# for more details.
+#
+# (C) Copyright 2002, Greg Ungerer <gerg@snapgear.com>
+#
+
+platform-$(CONFIG_M68328) := 68328
+platform-$(CONFIG_M68EZ328) := 68EZ328
+platform-$(CONFIG_M68VZ328) := 68VZ328
+platform-$(CONFIG_M68360) := 68360
+platform-$(CONFIG_M5206) := 5206
+platform-$(CONFIG_M5206e) := 5206e
+platform-$(CONFIG_M520x) := 520x
+platform-$(CONFIG_M523x) := 523x
+platform-$(CONFIG_M5249) := 5249
+platform-$(CONFIG_M527x) := 527x
+platform-$(CONFIG_M5272) := 5272
+platform-$(CONFIG_M528x) := 528x
+platform-$(CONFIG_M5307) := 5307
+platform-$(CONFIG_M532x) := 532x
+platform-$(CONFIG_M5407) := 5407
+platform-$(CONFIG_M54xx) := 54xx
+PLATFORM := $(platform-y)
+
+board-$(CONFIG_PILOT) := pilot
+board-$(CONFIG_UC5272) := UC5272
+board-$(CONFIG_UC5282) := UC5282
+board-$(CONFIG_UCSIMM) := ucsimm
+board-$(CONFIG_UCDIMM) := ucdimm
+board-$(CONFIG_UCQUICC) := uCquicc
+board-$(CONFIG_DRAGEN2) := de2
+board-$(CONFIG_ARNEWSH) := ARNEWSH
+board-$(CONFIG_FREESCALE) := FREESCALE
+board-$(CONFIG_M5235EVB) := M5235EVB
+board-$(CONFIG_M5271EVB) := M5271EVB
+board-$(CONFIG_M5275EVB) := M5275EVB
+board-$(CONFIG_M5282EVB) := M5282EVB
+board-$(CONFIG_ELITE) := eLITE
+board-$(CONFIG_NETtel) := NETtel
+board-$(CONFIG_SECUREEDGEMP3) := MP3
+board-$(CONFIG_CLEOPATRA) := CLEOPATRA
+board-$(CONFIG_senTec) := senTec
+board-$(CONFIG_SNEHA) := SNEHA
+board-$(CONFIG_M5208EVB) := M5208EVB
+board-$(CONFIG_MOD5272) := MOD5272
+board-$(CONFIG_AVNET) := AVNET
+board-$(CONFIG_SAVANT) := SAVANT
+BOARD := $(board-y)
+
+model-$(CONFIG_RAMKERNEL) := ram
+model-$(CONFIG_ROMKERNEL) := rom
+MODEL := $(model-y)
+
+#
+# Some code support is grouped together for a common cpu-subclass (for
+# example all ColdFire cpu's are very similar). Determine the sub-class
+# for the selected cpu. ONLY need to define this for the non-base member
+# of the family.
+#
+cpuclass-$(CONFIG_M5206) := coldfire
+cpuclass-$(CONFIG_M5206e) := coldfire
+cpuclass-$(CONFIG_M520x) := coldfire
+cpuclass-$(CONFIG_M523x) := coldfire
+cpuclass-$(CONFIG_M5249) := coldfire
+cpuclass-$(CONFIG_M527x) := coldfire
+cpuclass-$(CONFIG_M5272) := coldfire
+cpuclass-$(CONFIG_M528x) := coldfire
+cpuclass-$(CONFIG_M5307) := coldfire
+cpuclass-$(CONFIG_M532x) := coldfire
+cpuclass-$(CONFIG_M5407) := coldfire
+cpuclass-$(CONFIG_M54xx) := coldfire
+cpuclass-$(CONFIG_M68328) := 68328
+cpuclass-$(CONFIG_M68EZ328) := 68328
+cpuclass-$(CONFIG_M68VZ328) := 68328
+cpuclass-$(CONFIG_M68360) := 68360
+CPUCLASS := $(cpuclass-y)
+
+ifneq ($(CPUCLASS),$(PLATFORM))
+CLASSDIR := arch/m68k/platform/$(cpuclass-y)/
+endif
+
+export PLATFORM BOARD MODEL CPUCLASS
+
+#
+# Some CFLAG additions based on specific CPU type.
+#
+cflags-$(CONFIG_M5206) := $(call cc-option,-mcpu=5206,-m5200)
+cflags-$(CONFIG_M5206e) := $(call cc-option,-mcpu=5206e,-m5200)
+cflags-$(CONFIG_M520x) := $(call cc-option,-mcpu=5208,-m5200)
+cflags-$(CONFIG_M523x) := $(call cc-option,-mcpu=523x,-m5307)
+cflags-$(CONFIG_M5249) := $(call cc-option,-mcpu=5249,-m5200)
+cflags-$(CONFIG_M5271) := $(call cc-option,-mcpu=5271,-m5307)
+cflags-$(CONFIG_M5272) := $(call cc-option,-mcpu=5272,-m5307)
+cflags-$(CONFIG_M5275) := $(call cc-option,-mcpu=5275,-m5307)
+cflags-$(CONFIG_M528x) := $(call cc-option,-mcpu=528x,-m5307)
+cflags-$(CONFIG_M5307) := $(call cc-option,-mcpu=5307,-m5200)
+cflags-$(CONFIG_M532x) := $(call cc-option,-mcpu=532x,-m5307)
+cflags-$(CONFIG_M5407) := $(call cc-option,-mcpu=5407,-m5200)
+cflags-$(CONFIG_M54xx) := $(call cc-option,-mcpu=5475,-m5200)
+cflags-$(CONFIG_M68328) := -m68000
+cflags-$(CONFIG_M68EZ328) := -m68000
+cflags-$(CONFIG_M68VZ328) := -m68000
+cflags-$(CONFIG_M68360) := -m68332
+
+KBUILD_AFLAGS += $(cflags-y)
+
+KBUILD_CFLAGS += $(cflags-y)
+KBUILD_CFLAGS += -D__linux__
+KBUILD_CFLAGS += -DUTS_SYSNAME=\"uClinux\"
+
+head-y := arch/m68k/platform/$(cpuclass-y)/head.o
+
+core-y += arch/m68k/kernel/ \
+ arch/m68k/mm/ \
+ $(CLASSDIR) \
+ arch/m68k/platform/$(PLATFORM)/
+libs-y += arch/m68k/lib/
+
+archclean:
+