diff options
author | Rob Herring <rob.herring@calxeda.com> | 2012-09-06 14:41:12 -0400 |
---|---|---|
committer | Rob Herring <rob.herring@calxeda.com> | 2012-09-14 10:22:06 -0400 |
commit | 387798b37c8dd0ae24c0ac12ba456dd76865bca3 (patch) | |
tree | 2ee0e0acc2e43a87e07896fd7d5a12883a268070 /arch/arm/Makefile | |
parent | 6eb5be341173ceae788d5d846f20de6d1b67b2db (diff) |
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
Diffstat (limited to 'arch/arm/Makefile')
-rw-r--r-- | arch/arm/Makefile | 150 |
1 files changed, 75 insertions, 75 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 30eae87ead6d..5f3c55a6b735 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -135,84 +135,79 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000 | |||
135 | 135 | ||
136 | # Machine directory name. This list is sorted alphanumerically | 136 | # Machine directory name. This list is sorted alphanumerically |
137 | # by CONFIG_* macro name. | 137 | # by CONFIG_* macro name. |
138 | machine-$(CONFIG_ARCH_AT91) := at91 | 138 | machine-$(CONFIG_ARCH_AT91) += at91 |
139 | machine-$(CONFIG_ARCH_BCMRING) := bcmring | 139 | machine-$(CONFIG_ARCH_BCMRING) += bcmring |
140 | machine-$(CONFIG_ARCH_CLPS711X) := clps711x | 140 | machine-$(CONFIG_ARCH_CLPS711X) += clps711x |
141 | machine-$(CONFIG_ARCH_CNS3XXX) := cns3xxx | 141 | machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx |
142 | machine-$(CONFIG_ARCH_DAVINCI) := davinci | 142 | machine-$(CONFIG_ARCH_DAVINCI) += davinci |
143 | machine-$(CONFIG_ARCH_DOVE) := dove | 143 | machine-$(CONFIG_ARCH_DOVE) += dove |
144 | machine-$(CONFIG_ARCH_EBSA110) := ebsa110 | 144 | machine-$(CONFIG_ARCH_EBSA110) += ebsa110 |
145 | machine-$(CONFIG_ARCH_EP93XX) := ep93xx | 145 | machine-$(CONFIG_ARCH_EP93XX) += ep93xx |
146 | machine-$(CONFIG_ARCH_GEMINI) := gemini | 146 | machine-$(CONFIG_ARCH_GEMINI) += gemini |
147 | machine-$(CONFIG_ARCH_H720X) := h720x | 147 | machine-$(CONFIG_ARCH_H720X) += h720x |
148 | machine-$(CONFIG_ARCH_HIGHBANK) := highbank | 148 | machine-$(CONFIG_ARCH_HIGHBANK) += highbank |
149 | machine-$(CONFIG_ARCH_INTEGRATOR) := integrator | 149 | machine-$(CONFIG_ARCH_INTEGRATOR) += integrator |
150 | machine-$(CONFIG_ARCH_IOP13XX) := iop13xx | 150 | machine-$(CONFIG_ARCH_IOP13XX) += iop13xx |
151 | machine-$(CONFIG_ARCH_IOP32X) := iop32x | 151 | machine-$(CONFIG_ARCH_IOP32X) += iop32x |
152 | machine-$(CONFIG_ARCH_IOP33X) := iop33x | 152 | machine-$(CONFIG_ARCH_IOP33X) += iop33x |
153 | machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx | 153 | machine-$(CONFIG_ARCH_IXP4XX) += ixp4xx |
154 | machine-$(CONFIG_ARCH_KIRKWOOD) := kirkwood | 154 | machine-$(CONFIG_ARCH_KIRKWOOD) += kirkwood |
155 | machine-$(CONFIG_ARCH_KS8695) := ks8695 | 155 | machine-$(CONFIG_ARCH_KS8695) += ks8695 |
156 | machine-$(CONFIG_ARCH_LPC32XX) := lpc32xx | 156 | machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx |
157 | machine-$(CONFIG_ARCH_MMP) := mmp | 157 | machine-$(CONFIG_ARCH_MMP) += mmp |
158 | machine-$(CONFIG_ARCH_MSM) := msm | 158 | machine-$(CONFIG_ARCH_MSM) += msm |
159 | machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 | 159 | machine-$(CONFIG_ARCH_MV78XX0) += mv78xx0 |
160 | machine-$(CONFIG_ARCH_IMX_V4_V5) := imx | 160 | machine-$(CONFIG_ARCH_MXC) += imx |
161 | machine-$(CONFIG_ARCH_IMX_V6_V7) := imx | 161 | machine-$(CONFIG_ARCH_MXS) += mxs |
162 | machine-$(CONFIG_ARCH_MXS) := mxs | 162 | machine-$(CONFIG_ARCH_MVEBU) += mvebu |
163 | machine-$(CONFIG_ARCH_MVEBU) := mvebu | 163 | machine-$(CONFIG_ARCH_NETX) += netx |
164 | machine-$(CONFIG_ARCH_NETX) := netx | 164 | machine-$(CONFIG_ARCH_NOMADIK) += nomadik |
165 | machine-$(CONFIG_ARCH_NOMADIK) := nomadik | 165 | machine-$(CONFIG_ARCH_OMAP1) += omap1 |
166 | machine-$(CONFIG_ARCH_OMAP1) := omap1 | 166 | machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2 |
167 | machine-$(CONFIG_ARCH_OMAP2PLUS) := omap2 | 167 | machine-$(CONFIG_ARCH_ORION5X) += orion5x |
168 | machine-$(CONFIG_ARCH_ORION5X) := orion5x | 168 | machine-$(CONFIG_ARCH_PICOXCELL) += picoxcell |
169 | machine-$(CONFIG_ARCH_PICOXCELL) := picoxcell | 169 | machine-$(CONFIG_ARCH_PNX4008) += pnx4008 |
170 | machine-$(CONFIG_ARCH_PNX4008) := pnx4008 | 170 | machine-$(CONFIG_ARCH_PRIMA2) += prima2 |
171 | machine-$(CONFIG_ARCH_PRIMA2) := prima2 | 171 | machine-$(CONFIG_ARCH_PXA) += pxa |
172 | machine-$(CONFIG_ARCH_PXA) := pxa | 172 | machine-$(CONFIG_ARCH_REALVIEW) += realview |
173 | machine-$(CONFIG_ARCH_REALVIEW) := realview | 173 | machine-$(CONFIG_ARCH_RPC) += rpc |
174 | machine-$(CONFIG_ARCH_RPC) := rpc | 174 | machine-$(CONFIG_ARCH_S3C24XX) += s3c24xx s3c2412 s3c2440 |
175 | machine-$(CONFIG_ARCH_S3C24XX) := s3c24xx s3c2412 s3c2440 | 175 | machine-$(CONFIG_ARCH_S3C64XX) += s3c64xx |
176 | machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx | 176 | machine-$(CONFIG_ARCH_S5P64X0) += s5p64x0 |
177 | machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0 | 177 | machine-$(CONFIG_ARCH_S5PC100) += s5pc100 |
178 | machine-$(CONFIG_ARCH_S5PC100) := s5pc100 | 178 | machine-$(CONFIG_ARCH_S5PV210) += s5pv210 |
179 | machine-$(CONFIG_ARCH_S5PV210) := s5pv210 | 179 | machine-$(CONFIG_ARCH_EXYNOS) += exynos |
180 | machine-$(CONFIG_ARCH_EXYNOS4) := exynos | 180 | machine-$(CONFIG_ARCH_SA1100) += sa1100 |
181 | machine-$(CONFIG_ARCH_EXYNOS5) := exynos | 181 | machine-$(CONFIG_ARCH_SHARK) += shark |
182 | machine-$(CONFIG_ARCH_SA1100) := sa1100 | 182 | machine-$(CONFIG_ARCH_SHMOBILE) += shmobile |
183 | machine-$(CONFIG_ARCH_SHARK) := shark | 183 | machine-$(CONFIG_ARCH_TEGRA) += tegra |
184 | machine-$(CONFIG_ARCH_SHMOBILE) := shmobile | 184 | machine-$(CONFIG_ARCH_U300) += u300 |
185 | machine-$(CONFIG_ARCH_TEGRA) := tegra | 185 | machine-$(CONFIG_ARCH_U8500) += ux500 |
186 | machine-$(CONFIG_ARCH_U300) := u300 | 186 | machine-$(CONFIG_ARCH_VERSATILE) += versatile |
187 | machine-$(CONFIG_ARCH_U8500) := ux500 | 187 | machine-$(CONFIG_ARCH_VEXPRESS) += vexpress |
188 | machine-$(CONFIG_ARCH_VERSATILE) := versatile | 188 | machine-$(CONFIG_ARCH_VT8500) += vt8500 |
189 | machine-$(CONFIG_ARCH_VEXPRESS) := vexpress | 189 | machine-$(CONFIG_ARCH_W90X900) += w90x900 |
190 | machine-$(CONFIG_ARCH_VT8500) := vt8500 | 190 | machine-$(CONFIG_FOOTBRIDGE) += footbridge |
191 | machine-$(CONFIG_ARCH_W90X900) := w90x900 | 191 | machine-$(CONFIG_ARCH_SOCFPGA) += socfpga |
192 | machine-$(CONFIG_FOOTBRIDGE) := footbridge | 192 | machine-$(CONFIG_ARCH_SPEAR13XX) += spear13xx |
193 | machine-$(CONFIG_ARCH_SOCFPGA) := socfpga | 193 | machine-$(CONFIG_ARCH_SPEAR3XX) += spear3xx |
194 | machine-$(CONFIG_MACH_SPEAR1310) := spear13xx | 194 | machine-$(CONFIG_MACH_SPEAR600) += spear6xx |
195 | machine-$(CONFIG_MACH_SPEAR1340) := spear13xx | 195 | machine-$(CONFIG_ARCH_ZYNQ) += zynq |
196 | machine-$(CONFIG_MACH_SPEAR300) := spear3xx | ||
197 | machine-$(CONFIG_MACH_SPEAR310) := spear3xx | ||
198 | machine-$(CONFIG_MACH_SPEAR320) := spear3xx | ||
199 | machine-$(CONFIG_MACH_SPEAR600) := spear6xx | ||
200 | machine-$(CONFIG_ARCH_ZYNQ) := zynq | ||
201 | 196 | ||
202 | # Platform directory name. This list is sorted alphanumerically | 197 | # Platform directory name. This list is sorted alphanumerically |
203 | # by CONFIG_* macro name. | 198 | # by CONFIG_* macro name. |
204 | plat-$(CONFIG_ARCH_MXC) := mxc | 199 | plat-$(CONFIG_ARCH_MXC) += mxc |
205 | plat-$(CONFIG_ARCH_OMAP) := omap | 200 | plat-$(CONFIG_ARCH_OMAP) += omap |
206 | plat-$(CONFIG_ARCH_S3C64XX) := samsung | 201 | plat-$(CONFIG_ARCH_S3C64XX) += samsung |
207 | plat-$(CONFIG_ARCH_ZYNQ) := versatile | 202 | plat-$(CONFIG_ARCH_ZYNQ) += versatile |
208 | plat-$(CONFIG_PLAT_IOP) := iop | 203 | plat-$(CONFIG_PLAT_IOP) += iop |
209 | plat-$(CONFIG_PLAT_NOMADIK) := nomadik | 204 | plat-$(CONFIG_PLAT_NOMADIK) += nomadik |
210 | plat-$(CONFIG_PLAT_ORION) := orion | 205 | plat-$(CONFIG_PLAT_ORION) += orion |
211 | plat-$(CONFIG_PLAT_PXA) := pxa | 206 | plat-$(CONFIG_PLAT_PXA) += pxa |
212 | plat-$(CONFIG_PLAT_S3C24XX) := s3c24xx samsung | 207 | plat-$(CONFIG_PLAT_S3C24XX) += s3c24xx samsung |
213 | plat-$(CONFIG_PLAT_S5P) := samsung | 208 | plat-$(CONFIG_PLAT_S5P) += samsung |
214 | plat-$(CONFIG_PLAT_SPEAR) := spear | 209 | plat-$(CONFIG_PLAT_SPEAR) += spear |
215 | plat-$(CONFIG_PLAT_VERSATILE) := versatile | 210 | plat-$(CONFIG_PLAT_VERSATILE) += versatile |
216 | 211 | ||
217 | ifeq ($(CONFIG_ARCH_EBSA110),y) | 212 | ifeq ($(CONFIG_ARCH_EBSA110),y) |
218 | # This is what happens if you forget the IOCS16 line. | 213 | # This is what happens if you forget the IOCS16 line. |
@@ -230,15 +225,20 @@ MACHINE := arch/arm/mach-$(word 1,$(machine-y))/ | |||
230 | else | 225 | else |
231 | MACHINE := | 226 | MACHINE := |
232 | endif | 227 | endif |
228 | ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y) | ||
229 | MACHINE := | ||
230 | endif | ||
233 | 231 | ||
234 | machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) | 232 | machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) |
235 | platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y)) | 233 | platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y)) |
236 | 234 | ||
235 | ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y) | ||
237 | ifeq ($(KBUILD_SRC),) | 236 | ifeq ($(KBUILD_SRC),) |
238 | KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs)) | 237 | KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs)) |
239 | else | 238 | else |
240 | KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs)) | 239 | KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs)) |
241 | endif | 240 | endif |
241 | endif | ||
242 | 242 | ||
243 | export TEXT_OFFSET GZFLAGS MMUEXT | 243 | export TEXT_OFFSET GZFLAGS MMUEXT |
244 | 244 | ||