2005-04-17 06:20:36 +08:00
|
|
|
#
|
|
|
|
# arch/arm/Makefile
|
|
|
|
#
|
2006-03-06 06:14:10 +08:00
|
|
|
# This file is included by the global makefile so that you can add your own
|
|
|
|
# architecture-specific flags and dependencies.
|
|
|
|
#
|
2005-04-17 06:20:36 +08:00
|
|
|
# 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.
|
|
|
|
#
|
|
|
|
# Copyright (C) 1995-2001 by Russell King
|
|
|
|
|
2012-03-13 22:34:17 +08:00
|
|
|
# Ensure linker flags are correct
|
|
|
|
LDFLAGS :=
|
|
|
|
|
ARM: 8323/1: force linker to use PIC veneers
When building a very large kernel, it is up to the linker to decide
when and where to insert stubs to allow calls to functions that are
out of range for the ordinary b/bl instructions.
However, since the kernel is built as a position dependent binary,
these stubs (aka veneers) may contain absolute addresses, which will
break far calls performed with the MMU off.
For instance, the call from __enable_mmu() in the .head.text section
to __turn_mmu_on() in the .idmap.text section may be turned into
something like this:
c0008168 <__enable_mmu>:
c0008168: f020 0002 bic.w r0, r0, #2
c000816c: f420 5080 bic.w r0, r0, #4096
c0008170: f000 b846 b.w c0008200 <____turn_mmu_on_veneer>
[...]
c0008200 <____turn_mmu_on_veneer>:
c0008200: 4778 bx pc
c0008202: 46c0 nop
c0008204: e59fc000 ldr ip, [pc]
c0008208: e12fff1c bx ip
c000820c: c13dfae1 teqgt sp, r1, ror #21
[...]
c13dfae0 <__turn_mmu_on>:
c13dfae0: 4600 mov r0, r0
[...]
After adding --pic-veneer to the LDFLAGS, the veneer is emitted like
this instead:
c0008200 <____turn_mmu_on_veneer>:
c0008200: 4778 bx pc
c0008202: 46c0 nop
c0008204: e59fc004 ldr ip, [pc, #4]
c0008208: e08fc00c add ip, pc, ip
c000820c: e12fff1c bx ip
c0008210: 013d7d31 teqeq sp, r1, lsr sp
c0008214: 00000000 andeq r0, r0, r0
Note that this particular example is best addressed by moving
.head.text and .idmap.text closer together, but this issue could
potentially affect any code that needs to execute with the
MMU off.
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-03-25 14:37:57 +08:00
|
|
|
LDFLAGS_vmlinux :=-p --no-undefined -X --pic-veneer
|
2009-05-30 21:00:18 +08:00
|
|
|
ifeq ($(CONFIG_CPU_ENDIAN_BE8),y)
|
|
|
|
LDFLAGS_vmlinux += --be8
|
2013-07-22 23:32:19 +08:00
|
|
|
LDFLAGS_MODULE += --be8
|
2009-05-30 21:00:18 +08:00
|
|
|
endif
|
2009-09-20 18:28:22 +08:00
|
|
|
|
2011-02-17 01:54:01 +08:00
|
|
|
OBJCOPYFLAGS :=-O binary -R .comment -S
|
2005-04-17 06:20:36 +08:00
|
|
|
GZFLAGS :=-9
|
2007-10-15 04:21:35 +08:00
|
|
|
#KBUILD_CFLAGS +=-pipe
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2010-08-15 06:56:21 +08:00
|
|
|
# Never generate .eh_frame
|
|
|
|
KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
# Do not use arch/arm/defconfig - it's always outdated.
|
|
|
|
# Select a platform tht is kept up-to-date
|
|
|
|
KBUILD_DEFCONFIG := versatile_defconfig
|
|
|
|
|
2009-07-23 14:31:31 +08:00
|
|
|
# defines filename extension depending memory management type.
|
2006-03-27 22:14:19 +08:00
|
|
|
ifeq ($(CONFIG_MMU),)
|
|
|
|
MMUEXT := -nommu
|
2012-12-04 19:56:44 +08:00
|
|
|
KBUILD_CFLAGS += $(call cc-option,-mno-unaligned-access)
|
2006-03-27 22:14:19 +08:00
|
|
|
endif
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
ifeq ($(CONFIG_FRAME_POINTER),y)
|
2007-10-15 04:21:35 +08:00
|
|
|
KBUILD_CFLAGS +=-fno-omit-frame-pointer -mapcs -mno-sched-prolog
|
2005-04-17 06:20:36 +08:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(CONFIG_CPU_BIG_ENDIAN),y)
|
2007-10-16 04:17:25 +08:00
|
|
|
KBUILD_CPPFLAGS += -mbig-endian
|
2005-04-17 06:20:36 +08:00
|
|
|
AS += -EB
|
|
|
|
LD += -EB
|
|
|
|
else
|
2007-10-16 04:17:25 +08:00
|
|
|
KBUILD_CPPFLAGS += -mlittle-endian
|
2005-04-17 06:20:36 +08:00
|
|
|
AS += -EL
|
|
|
|
LD += -EL
|
|
|
|
endif
|
|
|
|
|
|
|
|
# This selects which instruction set is used.
|
|
|
|
# Note that GCC does not numerically define an architecture version
|
|
|
|
# macro, but instead defines a whole series of macros which makes
|
|
|
|
# testing for a specific architecture or later rather impossible.
|
2013-06-29 18:44:43 +08:00
|
|
|
arch-$(CONFIG_CPU_32v7M) =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
|
2013-06-27 11:32:06 +08:00
|
|
|
arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
|
|
|
|
arch-$(CONFIG_CPU_32v6) =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
|
2007-05-09 05:45:26 +08:00
|
|
|
# Only override the compiler option if ARMv6. The ARMv6K extensions are
|
|
|
|
# always available in ARMv7
|
|
|
|
ifeq ($(CONFIG_CPU_32v6),y)
|
2013-06-27 11:32:06 +08:00
|
|
|
arch-$(CONFIG_CPU_32v6K) =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6k,-march=armv5t -Wa$(comma)-march=armv6k)
|
2007-05-09 05:45:26 +08:00
|
|
|
endif
|
2013-06-27 11:32:06 +08:00
|
|
|
arch-$(CONFIG_CPU_32v5) =-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4t)
|
|
|
|
arch-$(CONFIG_CPU_32v4T) =-D__LINUX_ARM_ARCH__=4 -march=armv4t
|
|
|
|
arch-$(CONFIG_CPU_32v4) =-D__LINUX_ARM_ARCH__=4 -march=armv4
|
|
|
|
arch-$(CONFIG_CPU_32v3) =-D__LINUX_ARM_ARCH__=3 -march=armv3
|
|
|
|
|
|
|
|
# Evaluate arch cc-option calls now
|
|
|
|
arch-y := $(arch-y)
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
# This selects how we optimise for the processor.
|
2013-06-27 11:32:06 +08:00
|
|
|
tune-$(CONFIG_CPU_ARM7TDMI) =-mtune=arm7tdmi
|
|
|
|
tune-$(CONFIG_CPU_ARM720T) =-mtune=arm7tdmi
|
|
|
|
tune-$(CONFIG_CPU_ARM740T) =-mtune=arm7tdmi
|
|
|
|
tune-$(CONFIG_CPU_ARM9TDMI) =-mtune=arm9tdmi
|
|
|
|
tune-$(CONFIG_CPU_ARM940T) =-mtune=arm9tdmi
|
|
|
|
tune-$(CONFIG_CPU_ARM946E) =$(call cc-option,-mtune=arm9e,-mtune=arm9tdmi)
|
|
|
|
tune-$(CONFIG_CPU_ARM920T) =-mtune=arm9tdmi
|
|
|
|
tune-$(CONFIG_CPU_ARM922T) =-mtune=arm9tdmi
|
|
|
|
tune-$(CONFIG_CPU_ARM925T) =-mtune=arm9tdmi
|
|
|
|
tune-$(CONFIG_CPU_ARM926T) =-mtune=arm9tdmi
|
|
|
|
tune-$(CONFIG_CPU_FA526) =-mtune=arm9tdmi
|
|
|
|
tune-$(CONFIG_CPU_SA110) =-mtune=strongarm110
|
|
|
|
tune-$(CONFIG_CPU_SA1100) =-mtune=strongarm1100
|
|
|
|
tune-$(CONFIG_CPU_XSCALE) =$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale
|
|
|
|
tune-$(CONFIG_CPU_XSC3) =$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale
|
|
|
|
tune-$(CONFIG_CPU_FEROCEON) =$(call cc-option,-mtune=marvell-f,-mtune=xscale)
|
|
|
|
tune-$(CONFIG_CPU_V6) =$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
|
|
|
tune-$(CONFIG_CPU_V6K) =$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
|
|
|
|
|
|
|
# Evaluate tune cc-option calls now
|
|
|
|
tune-y := $(tune-y)
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-01-15 00:33:50 +08:00
|
|
|
ifeq ($(CONFIG_AEABI),y)
|
2014-01-29 02:31:17 +08:00
|
|
|
CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp
|
2006-01-15 00:33:50 +08:00
|
|
|
else
|
2005-07-01 00:04:14 +08:00
|
|
|
CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,)
|
2006-01-15 00:33:50 +08:00
|
|
|
endif
|
|
|
|
|
2009-02-12 20:56:34 +08:00
|
|
|
ifeq ($(CONFIG_ARM_UNWIND),y)
|
|
|
|
CFLAGS_ABI +=-funwind-tables
|
|
|
|
endif
|
|
|
|
|
2009-07-24 19:33:02 +08:00
|
|
|
ifeq ($(CONFIG_THUMB2_KERNEL),y)
|
2010-01-27 02:09:48 +08:00
|
|
|
AFLAGS_AUTOIT :=$(call as-option,-Wa$(comma)-mimplicit-it=always,-Wa$(comma)-mauto-it)
|
2009-07-24 19:33:02 +08:00
|
|
|
AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W)
|
2012-08-10 19:12:20 +08:00
|
|
|
CFLAGS_ISA :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN)
|
|
|
|
AFLAGS_ISA :=$(CFLAGS_ISA) -Wa$(comma)-mthumb
|
2011-03-03 18:41:12 +08:00
|
|
|
# Work around buggy relocation from gas if requested:
|
|
|
|
ifeq ($(CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11),y)
|
|
|
|
CFLAGS_MODULE +=-fno-optimize-sibling-calls
|
|
|
|
endif
|
2012-08-10 19:12:20 +08:00
|
|
|
else
|
|
|
|
CFLAGS_ISA :=$(call cc-option,-marm,)
|
|
|
|
AFLAGS_ISA :=$(CFLAGS_ISA)
|
2009-07-24 19:33:02 +08:00
|
|
|
endif
|
|
|
|
|
2006-01-15 00:33:50 +08:00
|
|
|
# Need -Uarm for gcc < 3.x
|
2012-08-10 19:12:20 +08:00
|
|
|
KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm
|
|
|
|
KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
CHECKFLAGS += -D__arm__
|
|
|
|
|
|
|
|
#Default value
|
2012-05-03 17:02:50 +08:00
|
|
|
head-y := arch/arm/kernel/head$(MMUEXT).o
|
2014-07-08 20:50:50 +08:00
|
|
|
|
|
|
|
# Text offset. This list is sorted numerically by address in order to
|
|
|
|
# provide a means to avoid/resolve conflicts in multi-arch kernels.
|
2006-01-04 01:28:33 +08:00
|
|
|
textofs-y := 0x00008000
|
2009-04-26 21:22:29 +08:00
|
|
|
textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000
|
2010-05-11 14:55:09 +08:00
|
|
|
# We don't want the htc bootloader to corrupt kernel during resume
|
|
|
|
textofs-$(CONFIG_PM_H1940) := 0x00108000
|
2005-04-17 06:20:36 +08:00
|
|
|
# SA1111 DMA bug: we don't want the kernel to live in precious DMA-able memory
|
2009-04-26 21:22:29 +08:00
|
|
|
ifeq ($(CONFIG_ARCH_SA1100),y)
|
|
|
|
textofs-$(CONFIG_SA1111) := 0x00208000
|
2005-04-17 06:20:36 +08:00
|
|
|
endif
|
2011-08-12 07:14:28 +08:00
|
|
|
textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
|
|
|
|
textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
|
2014-05-23 17:08:35 +08:00
|
|
|
textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000
|
2009-04-26 21:22:29 +08:00
|
|
|
|
|
|
|
# Machine directory name. This list is sorted alphanumerically
|
|
|
|
# by CONFIG_* macro name.
|
2015-03-12 19:53:00 +08:00
|
|
|
machine-$(CONFIG_ARCH_ALPINE) += alpine
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_AT91) += at91
|
2014-05-23 17:08:35 +08:00
|
|
|
machine-$(CONFIG_ARCH_AXXIA) += axxia
|
2012-11-20 01:46:10 +08:00
|
|
|
machine-$(CONFIG_ARCH_BCM) += bcm
|
2013-09-09 20:36:19 +08:00
|
|
|
machine-$(CONFIG_ARCH_BERLIN) += berlin
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_CLPS711X) += clps711x
|
|
|
|
machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx
|
|
|
|
machine-$(CONFIG_ARCH_DAVINCI) += davinci
|
2015-03-09 17:05:14 +08:00
|
|
|
machine-$(CONFIG_ARCH_DIGICOLOR) += digicolor
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_DOVE) += dove
|
|
|
|
machine-$(CONFIG_ARCH_EBSA110) += ebsa110
|
2011-11-17 21:36:23 +08:00
|
|
|
machine-$(CONFIG_ARCH_EFM32) += efm32
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_EP93XX) += ep93xx
|
2013-07-27 07:45:45 +08:00
|
|
|
machine-$(CONFIG_ARCH_EXYNOS) += exynos
|
2014-09-24 16:01:19 +08:00
|
|
|
machine-$(CONFIG_ARCH_FOOTBRIDGE) += footbridge
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_GEMINI) += gemini
|
|
|
|
machine-$(CONFIG_ARCH_HIGHBANK) += highbank
|
2014-04-01 11:01:09 +08:00
|
|
|
machine-$(CONFIG_ARCH_HISI) += hisi
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_INTEGRATOR) += integrator
|
|
|
|
machine-$(CONFIG_ARCH_IOP13XX) += iop13xx
|
|
|
|
machine-$(CONFIG_ARCH_IOP32X) += iop32x
|
|
|
|
machine-$(CONFIG_ARCH_IOP33X) += iop33x
|
|
|
|
machine-$(CONFIG_ARCH_IXP4XX) += ixp4xx
|
2013-07-27 07:45:45 +08:00
|
|
|
machine-$(CONFIG_ARCH_KEYSTONE) += keystone
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_KS8695) += ks8695
|
|
|
|
machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx
|
2014-09-11 04:16:59 +08:00
|
|
|
machine-$(CONFIG_ARCH_MESON) += meson
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_MMP) += mmp
|
2013-12-18 20:58:45 +08:00
|
|
|
machine-$(CONFIG_ARCH_MOXART) += moxart
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_MV78XX0) += mv78xx0
|
2013-07-27 07:45:45 +08:00
|
|
|
machine-$(CONFIG_ARCH_MVEBU) += mvebu
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_MXC) += imx
|
2014-05-13 07:06:13 +08:00
|
|
|
machine-$(CONFIG_ARCH_MEDIATEK) += mediatek
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_MXS) += mxs
|
|
|
|
machine-$(CONFIG_ARCH_NETX) += netx
|
|
|
|
machine-$(CONFIG_ARCH_NOMADIK) += nomadik
|
2013-06-11 16:40:17 +08:00
|
|
|
machine-$(CONFIG_ARCH_NSPIRE) += nspire
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_OMAP1) += omap1
|
|
|
|
machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2
|
|
|
|
machine-$(CONFIG_ARCH_ORION5X) += orion5x
|
|
|
|
machine-$(CONFIG_ARCH_PICOXCELL) += picoxcell
|
|
|
|
machine-$(CONFIG_ARCH_PXA) += pxa
|
2014-01-22 07:14:10 +08:00
|
|
|
machine-$(CONFIG_ARCH_QCOM) += qcom
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_REALVIEW) += realview
|
2013-06-03 05:09:41 +08:00
|
|
|
machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_RPC) += rpc
|
2013-01-22 07:39:09 +08:00
|
|
|
machine-$(CONFIG_ARCH_S3C24XX) += s3c24xx
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_S3C64XX) += s3c64xx
|
|
|
|
machine-$(CONFIG_ARCH_S5PV210) += s5pv210
|
|
|
|
machine-$(CONFIG_ARCH_SA1100) += sa1100
|
|
|
|
machine-$(CONFIG_ARCH_SHMOBILE) += shmobile
|
2013-07-27 07:45:45 +08:00
|
|
|
machine-$(CONFIG_ARCH_SIRF) += prima2
|
|
|
|
machine-$(CONFIG_ARCH_SOCFPGA) += socfpga
|
|
|
|
machine-$(CONFIG_ARCH_STI) += sti
|
|
|
|
machine-$(CONFIG_ARCH_SUNXI) += sunxi
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
machine-$(CONFIG_ARCH_TEGRA) += tegra
|
|
|
|
machine-$(CONFIG_ARCH_U300) += u300
|
|
|
|
machine-$(CONFIG_ARCH_U8500) += ux500
|
|
|
|
machine-$(CONFIG_ARCH_VERSATILE) += versatile
|
|
|
|
machine-$(CONFIG_ARCH_VEXPRESS) += vexpress
|
|
|
|
machine-$(CONFIG_ARCH_VT8500) += vt8500
|
|
|
|
machine-$(CONFIG_ARCH_W90X900) += w90x900
|
2013-07-27 07:45:45 +08:00
|
|
|
machine-$(CONFIG_ARCH_ZYNQ) += zynq
|
2012-12-02 22:12:47 +08:00
|
|
|
machine-$(CONFIG_PLAT_SPEAR) += spear
|
2009-04-26 21:22:29 +08:00
|
|
|
|
|
|
|
# Platform directory name. This list is sorted alphanumerically
|
|
|
|
# by CONFIG_* macro name.
|
2013-06-19 00:26:42 +08:00
|
|
|
plat-$(CONFIG_ARCH_EXYNOS) += samsung
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
plat-$(CONFIG_ARCH_OMAP) += omap
|
|
|
|
plat-$(CONFIG_ARCH_S3C64XX) += samsung
|
2014-07-03 19:17:12 +08:00
|
|
|
plat-$(CONFIG_ARCH_S5PV210) += samsung
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
plat-$(CONFIG_PLAT_IOP) += iop
|
|
|
|
plat-$(CONFIG_PLAT_ORION) += orion
|
|
|
|
plat-$(CONFIG_PLAT_PXA) += pxa
|
2013-02-01 08:54:38 +08:00
|
|
|
plat-$(CONFIG_PLAT_S3C24XX) += samsung
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
plat-$(CONFIG_PLAT_VERSATILE) += versatile
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
ifeq ($(CONFIG_ARCH_EBSA110),y)
|
|
|
|
# This is what happens if you forget the IOCS16 line.
|
|
|
|
# PCMCIA cards stop working.
|
|
|
|
CFLAGS_3c589_cs.o :=-DISA_SIXTEEN_BIT_PERIPHERAL
|
|
|
|
export CFLAGS_3c589_cs.o
|
|
|
|
endif
|
|
|
|
|
2006-01-04 01:28:33 +08:00
|
|
|
# The byte offset of the kernel image in RAM from the start of RAM.
|
|
|
|
TEXT_OFFSET := $(textofs-y)
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2008-08-03 02:36:14 +08:00
|
|
|
# The first directory contains additional information for the boot setup code
|
2005-04-17 06:20:36 +08:00
|
|
|
ifneq ($(machine-y),)
|
2008-08-03 02:36:14 +08:00
|
|
|
MACHINE := arch/arm/mach-$(word 1,$(machine-y))/
|
2005-04-17 06:20:36 +08:00
|
|
|
else
|
|
|
|
MACHINE :=
|
|
|
|
endif
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
|
|
|
|
MACHINE :=
|
|
|
|
endif
|
2007-02-12 01:31:01 +08:00
|
|
|
|
2008-08-03 02:36:14 +08:00
|
|
|
machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
|
2014-07-03 19:17:12 +08:00
|
|
|
platdirs := $(patsubst %,arch/arm/plat-%/,$(sort $(plat-y)))
|
2008-08-03 02:36:14 +08:00
|
|
|
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)
|
2008-08-03 02:36:14 +08:00
|
|
|
ifeq ($(KBUILD_SRC),)
|
|
|
|
KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs))
|
|
|
|
else
|
|
|
|
KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs))
|
|
|
|
endif
|
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>
2012-09-07 02:41:12 +08:00
|
|
|
endif
|
2008-08-03 02:36:14 +08:00
|
|
|
|
2006-03-27 22:14:19 +08:00
|
|
|
export TEXT_OFFSET GZFLAGS MMUEXT
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
# Do we have FASTFPE?
|
|
|
|
FASTFPE :=arch/arm/fastfpe
|
|
|
|
ifeq ($(FASTFPE),$(wildcard $(FASTFPE)))
|
|
|
|
FASTFPE_OBJ :=$(FASTFPE)/
|
|
|
|
endif
|
|
|
|
|
|
|
|
core-$(CONFIG_FPE_NWFPE) += arch/arm/nwfpe/
|
|
|
|
core-$(CONFIG_FPE_FASTFPE) += $(FASTFPE_OBJ)
|
|
|
|
core-$(CONFIG_VFP) += arch/arm/vfp/
|
2012-09-14 21:53:39 +08:00
|
|
|
core-$(CONFIG_XEN) += arch/arm/xen/
|
2013-01-21 07:28:06 +08:00
|
|
|
core-$(CONFIG_KVM_ARM_HOST) += arch/arm/kvm/
|
2015-03-26 02:16:05 +08:00
|
|
|
core-$(CONFIG_VDSO) += arch/arm/vdso/
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2010-09-01 21:37:05 +08:00
|
|
|
# If we have a machine-specific directory, then include it in the build.
|
|
|
|
core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
|
2015-01-09 10:19:49 +08:00
|
|
|
core-y += arch/arm/probes/
|
2012-03-16 20:37:12 +08:00
|
|
|
core-y += arch/arm/net/
|
2012-09-07 04:17:02 +08:00
|
|
|
core-y += arch/arm/crypto/
|
2013-11-24 14:30:46 +08:00
|
|
|
core-y += arch/arm/firmware/
|
2010-09-01 21:37:05 +08:00
|
|
|
core-y += $(machdirs) $(platdirs)
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
drivers-$(CONFIG_OPROFILE) += arch/arm/oprofile/
|
|
|
|
|
2005-11-05 01:17:30 +08:00
|
|
|
libs-y := arch/arm/lib/ $(libs-y)
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
# Default target when executing plain make
|
|
|
|
ifeq ($(CONFIG_XIP_KERNEL),y)
|
2006-10-29 20:51:05 +08:00
|
|
|
KBUILD_IMAGE := xipImage
|
2005-04-17 06:20:36 +08:00
|
|
|
else
|
2006-10-29 20:51:05 +08:00
|
|
|
KBUILD_IMAGE := zImage
|
2005-04-17 06:20:36 +08:00
|
|
|
endif
|
|
|
|
|
2012-09-07 01:09:33 +08:00
|
|
|
# Build the DT binary blobs if we have OF configured
|
|
|
|
ifeq ($(CONFIG_USE_OF),y)
|
|
|
|
KBUILD_DTBS := dtbs
|
|
|
|
endif
|
|
|
|
|
|
|
|
all: $(KBUILD_IMAGE) $(KBUILD_DTBS)
|
2006-10-29 20:51:05 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
boot := arch/arm/boot
|
|
|
|
|
2009-04-21 01:59:58 +08:00
|
|
|
archprepare:
|
|
|
|
$(Q)$(MAKE) $(build)=arch/arm/tools include/generated/mach-types.h
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
# Convert bzImage to zImage
|
|
|
|
bzImage: zImage
|
|
|
|
|
2013-07-18 00:05:06 +08:00
|
|
|
BOOT_TARGETS = zImage Image xipImage bootpImage uImage
|
|
|
|
INSTALL_TARGETS = zinstall uinstall install
|
|
|
|
|
|
|
|
PHONY += bzImage $(BOOT_TARGETS) $(INSTALL_TARGETS)
|
|
|
|
|
|
|
|
$(BOOT_TARGETS): vmlinux
|
2005-04-17 06:20:36 +08:00
|
|
|
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
|
|
|
|
|
2013-07-18 00:05:06 +08:00
|
|
|
$(INSTALL_TARGETS):
|
2005-04-17 06:20:36 +08:00
|
|
|
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
|
|
|
|
|
2013-06-25 05:03:50 +08:00
|
|
|
%.dtb: | scripts
|
2012-11-28 07:29:11 +08:00
|
|
|
$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
|
2011-07-25 23:52:12 +08:00
|
|
|
|
2013-12-02 07:56:28 +08:00
|
|
|
PHONY += dtbs dtbs_install
|
2014-09-03 21:29:24 +08:00
|
|
|
|
|
|
|
dtbs: prepare scripts
|
2014-09-03 23:07:23 +08:00
|
|
|
$(Q)$(MAKE) $(build)=$(boot)/dts
|
2011-07-25 23:52:12 +08:00
|
|
|
|
2014-09-03 21:29:24 +08:00
|
|
|
dtbs_install:
|
2014-09-03 23:07:23 +08:00
|
|
|
$(Q)$(MAKE) $(dtbinst)=$(boot)/dts
|
2014-09-03 21:29:24 +08:00
|
|
|
|
2015-03-26 02:16:05 +08:00
|
|
|
PHONY += vdso_install
|
|
|
|
vdso_install:
|
|
|
|
ifeq ($(CONFIG_VDSO),y)
|
|
|
|
$(Q)$(MAKE) $(build)=arch/arm/vdso $@
|
|
|
|
endif
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
# We use MRPROPER_FILES and CLEAN_FILES now
|
|
|
|
archclean:
|
|
|
|
$(Q)$(MAKE) $(clean)=$(boot)
|
|
|
|
|
|
|
|
# My testing targets (bypasses dependencies)
|
|
|
|
bp:; $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/bootpImage
|
|
|
|
i zi:; $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
|
|
|
|
|
|
|
|
|
|
|
|
define archhelp
|
|
|
|
echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
|
|
|
|
echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
|
|
|
|
echo '* xipImage - XIP kernel image, if configured (arch/$(ARCH)/boot/xipImage)'
|
2008-03-06 23:22:17 +08:00
|
|
|
echo ' uImage - U-Boot wrapped zImage'
|
2013-05-03 15:13:55 +08:00
|
|
|
echo ' bootpImage - Combined zImage and initial RAM disk'
|
2005-04-17 06:20:36 +08:00
|
|
|
echo ' (supply initrd image via make variable INITRD=<path>)'
|
2012-09-07 01:09:33 +08:00
|
|
|
echo '* dtbs - Build device tree blobs for enabled boards'
|
2013-12-02 07:56:28 +08:00
|
|
|
echo ' dtbs_install - Install dtbs to $(INSTALL_DTBS_PATH)'
|
2005-04-17 06:20:36 +08:00
|
|
|
echo ' install - Install uncompressed kernel'
|
|
|
|
echo ' zinstall - Install compressed kernel'
|
2011-01-09 00:18:51 +08:00
|
|
|
echo ' uinstall - Install U-Boot wrapped compressed kernel'
|
2009-07-21 03:37:11 +08:00
|
|
|
echo ' Install using (your) ~/bin/$(INSTALLKERNEL) or'
|
|
|
|
echo ' (distribution) /sbin/$(INSTALLKERNEL) or'
|
2005-04-17 06:20:36 +08:00
|
|
|
echo ' install to $$(INSTALL_PATH) and run lilo'
|
2015-03-26 02:16:05 +08:00
|
|
|
echo ' vdso_install - Install unstripped vdso.so to $$(INSTALL_MOD_PATH)/vdso'
|
2005-04-17 06:20:36 +08:00
|
|
|
endef
|