11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# This file is subject to the terms and conditions of the GNU General Public
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# License.  See the file "COPYING" in the main directory of this archive
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# for more details.
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# Copyright (C) 1994, 95, 96, 2003 by Ralf Baechle
71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# DECStation modifications by Paul M. Antoine, 1996
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# Copyright (C) 2002, 2003, 2004  Maciej W. Rozycki
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# This file is included by the global makefile so that you can add your own
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# architecture-specific flags and dependencies. Remember to do have actions
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# for "archclean" cleaning up for this architecture.
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
15de0c16985dbc04c11bf3c44df30030df5d060963Adrian BunkKBUILD_DEFCONFIG := ip22_defconfig
16de0c16985dbc04c11bf3c44df30030df5d060963Adrian Bunk
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# Select the object file format to substitute into the linker script.
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsifdef CONFIG_CPU_LITTLE_ENDIAN
2117f690be454de447d8ddc586fa418ebfdb200966Ralf Baechle32bit-tool-archpref	= mipsel
2217f690be454de447d8ddc586fa418ebfdb200966Ralf Baechle64bit-tool-archpref	= mips64el
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds32bit-bfd		= elf32-tradlittlemips
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds64bit-bfd		= elf64-tradlittlemips
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds32bit-emul		= elf32ltsmip
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds64bit-emul		= elf64ltsmip
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldselse
2817f690be454de447d8ddc586fa418ebfdb200966Ralf Baechle32bit-tool-archpref	= mips
2917f690be454de447d8ddc586fa418ebfdb200966Ralf Baechle64bit-tool-archpref	= mips64
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds32bit-bfd		= elf32-tradbigmips
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds64bit-bfd		= elf64-tradbigmips
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds32bit-emul		= elf32btsmip
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds64bit-emul		= elf64btsmip
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsendif
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
36875d43e72b5bf22161a81de7554f88eccf8a51aeRalf Baechleifdef CONFIG_32BIT
3717f690be454de447d8ddc586fa418ebfdb200966Ralf Baechletool-archpref		= $(32bit-tool-archpref)
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsUTS_MACHINE		:= mips
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsendif
40875d43e72b5bf22161a81de7554f88eccf8a51aeRalf Baechleifdef CONFIG_64BIT
4117f690be454de447d8ddc586fa418ebfdb200966Ralf Baechletool-archpref		= $(64bit-tool-archpref)
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsUTS_MACHINE		:= mips64
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsendif
441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4517f690be454de447d8ddc586fa418ebfdb200966Ralf Baechleifneq ($(SUBARCH),$(ARCH))
4617f690be454de447d8ddc586fa418ebfdb200966Ralf Baechle  ifeq ($(CROSS_COMPILE),)
473247989ee864db2cc5dccb14460573fee82b6832Maciej W. Rozycki    CROSS_COMPILE := $(call cc-cross-prefix, $(tool-archpref)-linux-  $(tool-archpref)-linux-gnu-  $(tool-archpref)-unknown-linux-gnu-)
4817f690be454de447d8ddc586fa418ebfdb200966Ralf Baechle  endif
491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsendif
501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
517326c4e567b50e689d13c04d58aeffa515277ebbWu Zhangjinifdef CONFIG_FUNCTION_GRAPH_TRACER
527326c4e567b50e689d13c04d58aeffa515277ebbWu Zhangjin  ifndef KBUILD_MCOUNT_RA_ADDRESS
537326c4e567b50e689d13c04d58aeffa515277ebbWu Zhangjin    ifeq ($(call cc-option-yn,-mmcount-ra-address), y)
547326c4e567b50e689d13c04d58aeffa515277ebbWu Zhangjin      cflags-y += -mmcount-ra-address -DKBUILD_MCOUNT_RA_ADDRESS
557326c4e567b50e689d13c04d58aeffa515277ebbWu Zhangjin    endif
567326c4e567b50e689d13c04d58aeffa515277ebbWu Zhangjin  endif
577326c4e567b50e689d13c04d58aeffa515277ebbWu Zhangjinendif
581a4ba061b3c93804027b4cc4c588cfad748d9fc2Ralf Baechlecflags-y += $(call cc-option, -mno-check-zero-division)
5905e41404470662a17699af9e6d91fc80ed91e757Ralf Baechle
608145095cd8fd466980ea6401f26a52e462275222Ralf Baechleifdef CONFIG_32BIT
611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsld-emul			= $(32bit-emul)
621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvmlinux-32		= vmlinux
631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvmlinux-64		= vmlinux.64
6459b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechle
6559b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-y		+= -mabi=32
668145095cd8fd466980ea6401f26a52e462275222Ralf Baechleendif
671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
688145095cd8fd466980ea6401f26a52e462275222Ralf Baechleifdef CONFIG_64BIT
698145095cd8fd466980ea6401f26a52e462275222Ralf Baechleld-emul			= $(64bit-emul)
708145095cd8fd466980ea6401f26a52e462275222Ralf Baechlevmlinux-32		= vmlinux.32
718145095cd8fd466980ea6401f26a52e462275222Ralf Baechlevmlinux-64		= vmlinux
728145095cd8fd466980ea6401f26a52e462275222Ralf Baechle
7359b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-y		+= -mabi=64
741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsendif
751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
768496b401b03393bf9f03bc913a420cbe7de691d3Ralf Baechleall-$(CONFIG_BOOT_ELF32)	:= $(vmlinux-32)
778496b401b03393bf9f03bc913a420cbe7de691d3Ralf Baechleall-$(CONFIG_BOOT_ELF64)	:= $(vmlinux-64)
781b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjinall-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlinuz
7959b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechle
801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# GCC uses -G 0 -mabicalls -fpic as default.  We don't want PIC in the kernel
821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# code since it only slows down the whole thing.  At some point we might make
831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# use of global pointer optimizations but their use of $28 conflicts with
841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# the current pointer optimization.
851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# The DECStation requires an ECOFF kernel for remote booting, other MIPS
871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# machines may also.  Since BFD is incredibly buggy with respect to
881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# crossformat linking we rely on the elf2ecoff tool for format conversion.
891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldscflags-y			+= -G 0 -mno-abicalls -fno-pic -pipe
916218cf4410cfce7bc7e89834e73525b124625d4cRalf Baechlecflags-y			+= -msoft-float
929f83d839dfd2dbe421224c29f02cef77f5b4b875Thiemo SeuferLDFLAGS_vmlinux			+= -G 0 -static -n -nostdlib
936588169d516560f68672e2928680b71c647b7806Sam RavnborgKBUILD_AFLAGS_MODULE		+= -mlong-calls
946588169d516560f68672e2928680b71c647b7806Sam RavnborgKBUILD_CFLAGS_MODULE		+= -mlong-calls
951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
96842dfc11ea9a21f9825167c8a4f2834b205b0a79Manuel Lauss#
97842dfc11ea9a21f9825167c8a4f2834b205b0a79Manuel Lauss# pass -msoft-float to GAS if it supports it.  However on newer binutils
98842dfc11ea9a21f9825167c8a4f2834b205b0a79Manuel Lauss# (specifically newer than 2.24.51.20140728) we then also need to explicitly
99842dfc11ea9a21f9825167c8a4f2834b205b0a79Manuel Lauss# set ".set hardfloat" in all files which manipulate floating point registers.
100842dfc11ea9a21f9825167c8a4f2834b205b0a79Manuel Lauss#
101842dfc11ea9a21f9825167c8a4f2834b205b0a79Manuel Laussifneq ($(call as-option,-Wa$(comma)-msoft-float,),)
102842dfc11ea9a21f9825167c8a4f2834b205b0a79Manuel Lauss	cflags-y		+= -DGAS_HAS_SET_HARDFLOAT -Wa,-msoft-float
103842dfc11ea9a21f9825167c8a4f2834b205b0a79Manuel Laussendif
104842dfc11ea9a21f9825167c8a4f2834b205b0a79Manuel Lauss
10572fbfb260197a52c2bc2583f3e8f15d261d0f924Ralf Baechlecflags-y += -ffreestanding
10672fbfb260197a52c2bc2583f3e8f15d261d0f924Ralf Baechle
107f425a6dce50475f08547d08763f707589478b027Thiemo Seufer#
108f425a6dce50475f08547d08763f707589478b027Thiemo Seufer# We explicitly add the endianness specifier if needed, this allows
109f425a6dce50475f08547d08763f707589478b027Thiemo Seufer# to compile kernels with a toolchain for the other endianness. We
110f425a6dce50475f08547d08763f707589478b027Thiemo Seufer# carefully avoid to add it redundantly because gcc 3.3/3.4 complains
111f425a6dce50475f08547d08763f707589478b027Thiemo Seufer# when fed the toolchain default!
112f425a6dce50475f08547d08763f707589478b027Thiemo Seufer#
11325985edcedea6396277003854657b5f3cb31a628Lucas De Marchi# Certain gcc versions up to gcc 4.1.1 (probably 4.2-subversion as of
11459c51591a0ac7568824f541f57de967e88adaa07Michael Opdenacker# 2006-10-10 don't properly change the predefined symbols if -EB / -EL
115f94054121efcba573f12101a75a4be93e871b309Ralf Baechle# are used, so we kludge that here.  A bug has been filed at
116f94054121efcba573f12101a75a4be93e871b309Ralf Baechle# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413.
117f94054121efcba573f12101a75a4be93e871b309Ralf Baechle#
118f94054121efcba573f12101a75a4be93e871b309Ralf Baechleundef-all += -UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__
119f94054121efcba573f12101a75a4be93e871b309Ralf Baechleundef-all += -UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__
120f94054121efcba573f12101a75a4be93e871b309Ralf Baechlepredef-be += -DMIPSEB -D_MIPSEB -D__MIPSEB -D__MIPSEB__
121f94054121efcba573f12101a75a4be93e871b309Ralf Baechlepredef-le += -DMIPSEL -D_MIPSEL -D__MIPSEL -D__MIPSEL__
122f94054121efcba573f12101a75a4be93e871b309Ralf Baechlecflags-$(CONFIG_CPU_BIG_ENDIAN)		+= $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB $(undef-all) $(predef-be))
123f94054121efcba573f12101a75a4be93e871b309Ralf Baechlecflags-$(CONFIG_CPU_LITTLE_ENDIAN)	+= $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL $(undef-all) $(predef-le))
124f425a6dce50475f08547d08763f707589478b027Thiemo Seufer
125dab1b4450df481f9d18b66fefcea6aef5e4708fbMarkos Chandras# For smartmips configurations, there are hundreds of warnings due to ISA overrides
126dab1b4450df481f9d18b66fefcea6aef5e4708fbMarkos Chandras# in assembly and header files. smartmips is only supported for MIPS32r1 onwards
127dab1b4450df481f9d18b66fefcea6aef5e4708fbMarkos Chandras# and there is no support for 64-bit. Various '.set mips2' or '.set mips3' or
128dab1b4450df481f9d18b66fefcea6aef5e4708fbMarkos Chandras# similar directives in the kernel will spam the build logs with the following warnings:
129dab1b4450df481f9d18b66fefcea6aef5e4708fbMarkos Chandras# Warning: the `smartmips' extension requires MIPS32 revision 1 or greater
130dab1b4450df481f9d18b66fefcea6aef5e4708fbMarkos Chandras# or
131dab1b4450df481f9d18b66fefcea6aef5e4708fbMarkos Chandras# Warning: the 64-bit MIPS architecture does not support the `smartmips' extension
132dab1b4450df481f9d18b66fefcea6aef5e4708fbMarkos Chandras# Pass -Wa,--no-warn to disable all assembler warnings until the kernel code has
133dab1b4450df481f9d18b66fefcea6aef5e4708fbMarkos Chandras# been fixed properly.
134dab1b4450df481f9d18b66fefcea6aef5e4708fbMarkos Chandrascflags-$(CONFIG_CPU_HAS_SMARTMIPS)	+= $(call cc-option,-msmartmips) -Wa,--no-warn
13540508d24e595595e5b843363482270594e4673f6Steven J. Hillcflags-$(CONFIG_CPU_MICROMIPS) += $(call cc-option,-mmicromips)
1369693a85378b590cc7a4aa2db2174422585c7c8c4Franck Bui-Huu
1379007c9a2b03ea325ee593a161dbf01dbb8222d7eRalf Baechlecflags-$(CONFIG_SB1XXX_CORELIS)	+= $(call cc-option,-mno-sched-prolog) \
1389007c9a2b03ea325ee593a161dbf01dbb8222d7eRalf Baechle				   -fno-omit-frame-pointer
1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1407f65afb97f279d9d02d0779384e8bd5ace064deaPaul Burtonifeq ($(CONFIG_CPU_HAS_MSA),y)
1411d61ff6a1aefa59e9c8fd09da1c03735c60edd2bSteven J. Hilltoolchain-msa	:= $(call cc-option-yn,-mhard-float -mfp64 -Wa$(comma)-mmsa)
1427f65afb97f279d9d02d0779384e8bd5ace064deaPaul Burtoncflags-$(toolchain-msa)		+= -DTOOLCHAIN_SUPPORTS_MSA
1437f65afb97f279d9d02d0779384e8bd5ace064deaPaul Burtonendif
1447f65afb97f279d9d02d0779384e8bd5ace064deaPaul Burton
1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# CPU-dependent compiler/assembler options for optimization.
1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
14859b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_R3000)	+= -march=r3000
14959b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_TX39XX)	+= -march=r3900
15059b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_R6000)	+= -march=r6000 -Wa,--trap
15159b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_R4300)	+= -march=r4300 -Wa,--trap
15259b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_VR41XX)	+= -march=r4100 -Wa,--trap
15359b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_R4X00)	+= -march=r4600 -Wa,--trap
15459b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_TX49XX)	+= -march=r4600 -Wa,--trap
1559200c0b2a07c430bd98c546fc44b94f50e67ac62Ralf Baechlecflags-$(CONFIG_CPU_MIPS32_R1)	+= $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
15659b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechle			-Wa,-mips32 -Wa,--trap
1579200c0b2a07c430bd98c546fc44b94f50e67ac62Ralf Baechlecflags-$(CONFIG_CPU_MIPS32_R2)	+= $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
15859b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechle			-Wa,-mips32r2 -Wa,--trap
1599200c0b2a07c430bd98c546fc44b94f50e67ac62Ralf Baechlecflags-$(CONFIG_CPU_MIPS64_R1)	+= $(call cc-option,-march=mips64,-mips64 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
16059b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechle			-Wa,-mips64 -Wa,--trap
1619200c0b2a07c430bd98c546fc44b94f50e67ac62Ralf Baechlecflags-$(CONFIG_CPU_MIPS64_R2)	+= $(call cc-option,-march=mips64r2,-mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
16259b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechle			-Wa,-mips64r2 -Wa,--trap
16359b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_R5000)	+= -march=r5000 -Wa,--trap
164c9e321e095384f25f2b7ffef456794cfa876dafcRalf Baechlecflags-$(CONFIG_CPU_R5432)	+= $(call cc-option,-march=r5400,-march=r5000) \
1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			-Wa,--trap
166542c1020ac1cbc2f50934086ad893384a2cbd233Shinya Kuribayashicflags-$(CONFIG_CPU_R5500)	+= $(call cc-option,-march=r5500,-march=r5000) \
167542c1020ac1cbc2f50934086ad893384a2cbd233Shinya Kuribayashi			-Wa,--trap
168c9e321e095384f25f2b7ffef456794cfa876dafcRalf Baechlecflags-$(CONFIG_CPU_NEVADA)	+= $(call cc-option,-march=rm5200,-march=r5000) \
1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			-Wa,--trap
17059b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_RM7000)	+= $(call cc-option,-march=rm7000,-march=r5000) \
1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			-Wa,--trap
172b625cd4aa417b979e59359a8ca020cad8e032df1Maciej W. Rozyckicflags-$(CONFIG_CPU_SB1)	+= $(call cc-option,-march=sb1,-march=r5000) \
1731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			-Wa,--trap
174b625cd4aa417b979e59359a8ca020cad8e032df1Maciej W. Rozyckicflags-$(CONFIG_CPU_SB1)	+= $(call cc-option,-mno-mdmx)
175b625cd4aa417b979e59359a8ca020cad8e032df1Maciej W. Rozyckicflags-$(CONFIG_CPU_SB1)	+= $(call cc-option,-mno-mips3d)
17659b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_R8000)	+= -march=r8000 -Wa,--trap
17759b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechlecflags-$(CONFIG_CPU_R10000)	+= $(call cc-option,-march=r10000,-march=r8000) \
1781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			-Wa,--trap
1797e69deb83c9fffe75e8ea17fb40a63375e56ac9fDavid Daneycflags-$(CONFIG_CPU_CAVIUM_OCTEON) += $(call cc-option,-march=octeon) -Wa,--trap
1807e69deb83c9fffe75e8ea17fb40a63375e56ac9fDavid Daneyifeq (,$(findstring march=octeon, $(cflags-$(CONFIG_CPU_CAVIUM_OCTEON))))
1817e69deb83c9fffe75e8ea17fb40a63375e56ac9fDavid Daneycflags-$(CONFIG_CPU_CAVIUM_OCTEON) += -Wa,-march=octeon
1827e69deb83c9fffe75e8ea17fb40a63375e56ac9fDavid Daneyendif
183c9941158fd8a539a56b0e8a4740ec1f6beb23ea3David Daneycflags-$(CONFIG_CAVIUM_CN63XXP1) += -Wa,-mfix-cn63xxp1
1841c7c44519a12d79af1f599a8cc4997e1230025edKevin Cernekeecflags-$(CONFIG_CPU_BMIPS)	+= -march=mips32 -Wa,-mips32 -Wa,--trap
1851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
18620d60d9973c3b441902b0a3f4f6f7e7ade08f77dMaciej W. Rozyckicflags-$(CONFIG_CPU_R4000_WORKAROUNDS)	+= $(call cc-option,-mfix-r4000,)
18720d60d9973c3b441902b0a3f4f6f7e7ade08f77dMaciej W. Rozyckicflags-$(CONFIG_CPU_R4400_WORKAROUNDS)	+= $(call cc-option,-mfix-r4400,)
18820d60d9973c3b441902b0a3f4f6f7e7ade08f77dMaciej W. Rozyckicflags-$(CONFIG_CPU_DADDI_WORKAROUNDS)	+= $(call cc-option,-mno-daddi,)
18920d60d9973c3b441902b0a3f4f6f7e7ade08f77dMaciej W. Rozycki
1901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsifdef CONFIG_CPU_SB1
1911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsifdef CONFIG_SB1_PASS_1_WORKAROUNDS
1926588169d516560f68672e2928680b71c647b7806Sam RavnborgKBUILD_AFLAGS_MODULE += -msb1-pass1-workarounds
1936588169d516560f68672e2928680b71c647b7806Sam RavnborgKBUILD_CFLAGS_MODULE += -msb1-pass1-workarounds
1941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsendif
1951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsendif
1961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
1981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# Firmware support
1991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
2000e2794b0b72f38d0dd5aa8474e22b1fe56fb8bd1Ralf Baechlelibs-$(CONFIG_FW_ARC)		+= arch/mips/fw/arc/
2010e2794b0b72f38d0dd5aa8474e22b1fe56fb8bd1Ralf Baechlelibs-$(CONFIG_FW_CFE)		+= arch/mips/fw/cfe/
2020e2794b0b72f38d0dd5aa8474e22b1fe56fb8bd1Ralf Baechlelibs-$(CONFIG_FW_SNIPROM)	+= arch/mips/fw/sni/
203231a35d37293ab88d325a9cb94e5474c156282c0Thomas Bogendoerferlibs-y				+= arch/mips/fw/lib/
2041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
206ebc89718a4b3fa0e440151fb4484541700828a5dRalf Baechle# Kernel compression
207ebc89718a4b3fa0e440151fb4484541700828a5dRalf Baechle#
208ebc89718a4b3fa0e440151fb4484541700828a5dRalf Baechleifdef SYS_SUPPORTS_ZBOOT
209ebc89718a4b3fa0e440151fb4484541700828a5dRalf BaechleCOMPRESSION_FNAME		= vmlinuz
210ebc89718a4b3fa0e440151fb4484541700828a5dRalf Baechleelse
211ebc89718a4b3fa0e440151fb4484541700828a5dRalf BaechleCOMPRESSION_FNAME		= vmlinux
212ebc89718a4b3fa0e440151fb4484541700828a5dRalf Baechleendif
213ebc89718a4b3fa0e440151fb4484541700828a5dRalf Baechle
214ebc89718a4b3fa0e440151fb4484541700828a5dRalf Baechle#
2151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# Board-dependent options and extra files
2161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
2175d25b01cf90c1a27d196a52f48d5364458b80b86Sam Ravnborginclude $(srctree)/arch/mips/Kbuild.platforms
2187ca5dc145bc7daddd8aed8bbda46b74af9cebefcFlorian Fainelli
219abe77f90dc9c65a7c9a4d61c2cbb8db4d5566e4fRalf Baechleifdef CONFIG_PHYSICAL_START
2207034228792cc561e79ff8600f02884bd4c80e287Ralf Baechleload-y					= $(CONFIG_PHYSICAL_START)
221abe77f90dc9c65a7c9a4d61c2cbb8db4d5566e4fRalf Baechleendif
2223185557d1acf8cc0c937b1343de83e2483bde28bJames Hoganentry-y				= 0x$(shell $(NM) vmlinux 2>/dev/null \
2233185557d1acf8cc0c937b1343de83e2483bde28bJames Hogan					| grep "\bkernel_entry\b" | cut -f1 -d \ )
224abe77f90dc9c65a7c9a4d61c2cbb8db4d5566e4fRalf Baechle
225384740dc49ea651ba350704d13ff6be9976e37feRalf Baechlecflags-y			+= -I$(srctree)/arch/mips/include/asm/mach-generic
2261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsdrivers-$(CONFIG_PCI)		+= arch/mips/pci/
2271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
228adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu#
229adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu# Automatically detect the build format. By default we choose
230adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu# the elf format according to the load address.
231adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu# We can always force a build with a 64-bits symbol format by
232054c51b4368648406f487f54b7ed6ba75bbb3f8bFranck Bui-Huu# passing 'KBUILD_SYM32=no' option to the make's command line.
233adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu#
234adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huuifdef CONFIG_64BIT
235054c51b4368648406f487f54b7ed6ba75bbb3f8bFranck Bui-Huu  ifndef KBUILD_SYM32
236adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu    ifeq ($(shell expr $(load-y) \< 0xffffffff80000000), 0)
237054c51b4368648406f487f54b7ed6ba75bbb3f8bFranck Bui-Huu      KBUILD_SYM32 = y
238adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu    endif
239adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu  endif
240adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu
24120d60d9973c3b441902b0a3f4f6f7e7ade08f77dMaciej W. Rozycki  ifeq ($(KBUILD_SYM32)$(call cc-option-yn,-msym32), yy)
24220d60d9973c3b441902b0a3f4f6f7e7ade08f77dMaciej W. Rozycki    cflags-y += -msym32 -DKBUILD_64BIT_SYM32
24320d60d9973c3b441902b0a3f4f6f7e7ade08f77dMaciej W. Rozycki  else
24420d60d9973c3b441902b0a3f4f6f7e7ade08f77dMaciej W. Rozycki    ifeq ($(CONFIG_CPU_DADDI_WORKAROUNDS), y)
24520d60d9973c3b441902b0a3f4f6f7e7ade08f77dMaciej W. Rozycki      $(error CONFIG_CPU_DADDI_WORKAROUNDS unsupported without -msym32)
246e58d95abb7b3232333ab35a09f7f5b0cd6a19cdbFranck Bui-Huu    endif
247adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu  endif
248adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huuendif
249adff90a9333004d5459823665e8bcf6cb9214f79Franck Bui-Huu
250222d394d30e74bb7a2a65029fcea68107b0d0eb6Sam RavnborgKBUILD_AFLAGS	+= $(cflags-y)
25151b563fc93c8cb5bff1d67a0a71c374e4a4ea049Sam RavnborgKBUILD_CFLAGS	+= $(cflags-y)
252f7fc237e330deaaea4ba6726b603d4058d1e6b38Michal MarekKBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(load-y)
253f7fc237e330deaaea4ba6726b603d4058d1e6b38Michal MarekKBUILD_CPPFLAGS += -DDATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)
2541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2553185557d1acf8cc0c937b1343de83e2483bde28bJames Hoganbootvars-y	= VMLINUX_LOAD_ADDRESS=$(load-y) \
2563185557d1acf8cc0c937b1343de83e2483bde28bJames Hogan		  VMLINUX_ENTRY_ADDRESS=$(entry-y)
2573185557d1acf8cc0c937b1343de83e2483bde28bJames Hogan
2581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsLDFLAGS			+= -m $(ld-emul)
2591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
26059b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechleifdef CONFIG_MIPS
261b1e0d8b70fa31821ebca3965f2ef8619d7c5e316Jean DelvareCHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \
26248c35b2d245fffedadce62769aafea8ecf493d19Alexey Dobriyan	egrep -vw '__GNUC_(|MINOR_|PATCHLEVEL_)_' | \
26308fa624f504e5edab6f69014fc92ecc7b2bbd81eAaro Koskinen	sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/")
2642a2c3e451965aca35c2d0d1b2db1dbd1d839c75eAtsushi Nemotoifdef CONFIG_64BIT
2652a2c3e451965aca35c2d0d1b2db1dbd1d839c75eAtsushi NemotoCHECKFLAGS		+= -m64
2662a2c3e451965aca35c2d0d1b2db1dbd1d839c75eAtsushi Nemotoendif
26759b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechleendif
26859b3e8e9aac69d2d02853acac7e2affdfbabca50Ralf Baechle
2691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus TorvaldsOBJCOPYFLAGS		+= --remove-section=.reginfo
2701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
271957b369c3d35d73e1d0c3e9d21db791e58984cbbThomas Gleixnerhead-y := arch/mips/kernel/head.o
2721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldslibs-y			+= arch/mips/lib/
274593d33fe334761853890f2f84ed41e7c24051de2Ralf Baechlelibs-y			+= arch/mips/math-emu/
2751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2769aeb404b4cfed41fdfd01e6fb3cc995c327ba98eSam Ravnborg# See arch/mips/Kbuild for content of core part of the kernel
2779aeb404b4cfed41fdfd01e6fb3cc995c327ba98eSam Ravnborgcore-y += arch/mips/
2781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsdrivers-$(CONFIG_OPROFILE)	+= arch/mips/oprofile/
2801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
281363c55cae53742f3f685a1814912c6d4fda245b4Wu Zhangjin# suspend and hibernation support
282363c55cae53742f3f685a1814912c6d4fda245b4Wu Zhangjindrivers-$(CONFIG_PM)	+= arch/mips/power/
283363c55cae53742f3f685a1814912c6d4fda245b4Wu Zhangjin
28438d2d649be17b291a965a2e1370d119ee319caf2James Hogan# boot image targets (arch/mips/boot/)
28538d2d649be17b291a965a2e1370d119ee319caf2James Hoganboot-y			:= vmlinux.bin
28638d2d649be17b291a965a2e1370d119ee319caf2James Hoganboot-y			+= vmlinux.ecoff
28738d2d649be17b291a965a2e1370d119ee319caf2James Hoganboot-y			+= vmlinux.srec
2884defe4559e86e26545ab2f542656a4b966dcde53James Hoganifeq ($(shell expr $(load-y) \< 0xffffffff80000000 2> /dev/null), 0)
2894defe4559e86e26545ab2f542656a4b966dcde53James Hoganboot-y			+= uImage
2904defe4559e86e26545ab2f542656a4b966dcde53James Hoganboot-y			+= uImage.gz
2914defe4559e86e26545ab2f542656a4b966dcde53James Hoganendif
29238d2d649be17b291a965a2e1370d119ee319caf2James Hogan
29338d2d649be17b291a965a2e1370d119ee319caf2James Hogan# compressed boot image targets (arch/mips/boot/compressed/)
29438d2d649be17b291a965a2e1370d119ee319caf2James Hoganbootz-y			:= vmlinuz
29538d2d649be17b291a965a2e1370d119ee319caf2James Hoganbootz-y			+= vmlinuz.bin
29638d2d649be17b291a965a2e1370d119ee319caf2James Hoganbootz-y			+= vmlinuz.ecoff
29738d2d649be17b291a965a2e1370d119ee319caf2James Hoganbootz-y			+= vmlinuz.srec
29838d2d649be17b291a965a2e1370d119ee319caf2James Hogan
2991f21d2bde0046e959b53756f74d96dfd040a803bBrian Murphyifdef CONFIG_LASAT
3001f21d2bde0046e959b53756f74d96dfd040a803bBrian Murphyrom.bin rom.sw: vmlinux
3013185557d1acf8cc0c937b1343de83e2483bde28bJames Hogan	$(Q)$(MAKE) $(build)=arch/mips/lasat/image \
3023185557d1acf8cc0c937b1343de83e2483bde28bJames Hogan		$(bootvars-y) $@
3031f21d2bde0046e959b53756f74d96dfd040a803bBrian Murphyendif
3041f21d2bde0046e959b53756f74d96dfd040a803bBrian Murphy
3051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
3061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# Some machines like the Indy need 32-bit ELF binaries for booting purposes.
3071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# Other need ECOFF, so we build a 32-bit ELF binary for them which we then
3081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# convert to ECOFF using elf2ecoff.
3091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
310007fbbea9fc0ab667b0e873e8985698a3701b4e8Wu Zhangjinquiet_cmd_32 = OBJCOPY $@
311007fbbea9fc0ab667b0e873e8985698a3701b4e8Wu Zhangjin	cmd_32 = $(OBJCOPY) -O $(32bit-bfd) $(OBJCOPYFLAGS) $< $@
3121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvmlinux.32: vmlinux
313007fbbea9fc0ab667b0e873e8985698a3701b4e8Wu Zhangjin	$(call cmd,32)
3141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
3161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# The 64-bit ELF tools are pretty broken so at this time we generate 64-bit
3171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# ELF files from 32-bit files by conversion.
3181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
319007fbbea9fc0ab667b0e873e8985698a3701b4e8Wu Zhangjinquiet_cmd_64 = OBJCOPY $@
320007fbbea9fc0ab667b0e873e8985698a3701b4e8Wu Zhangjin	cmd_64 = $(OBJCOPY) -O $(64bit-bfd) $(OBJCOPYFLAGS) $< $@
3211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvmlinux.64: vmlinux
322007fbbea9fc0ab667b0e873e8985698a3701b4e8Wu Zhangjin	$(call cmd,64)
3231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3248496b401b03393bf9f03bc913a420cbe7de691d3Ralf Baechleall:	$(all-y)
3251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32635eaa1e9c9b4579100320814aeebff167ee59b0aSam Ravnborg# boot
32738d2d649be17b291a965a2e1370d119ee319caf2James Hogan$(boot-y): $(vmlinux-32) FORCE
3283185557d1acf8cc0c937b1343de83e2483bde28bJames Hogan	$(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) \
3293185557d1acf8cc0c937b1343de83e2483bde28bJames Hogan		$(bootvars-y) arch/mips/boot/$@
3301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33126fca83a22f66e2ea0339e6b1ee1bdc628c1508bFlorian Fainelliifdef CONFIG_SYS_SUPPORTS_ZBOOT
33235eaa1e9c9b4579100320814aeebff167ee59b0aSam Ravnborg# boot/compressed
33338d2d649be17b291a965a2e1370d119ee319caf2James Hogan$(bootz-y): $(vmlinux-32) FORCE
33435eaa1e9c9b4579100320814aeebff167ee59b0aSam Ravnborg	$(Q)$(MAKE) $(build)=arch/mips/boot/compressed \
3353185557d1acf8cc0c937b1343de83e2483bde28bJames Hogan		$(bootvars-y) 32bit-bfd=$(32bit-bfd) $@
33626fca83a22f66e2ea0339e6b1ee1bdc628c1508bFlorian Fainellielse
33726fca83a22f66e2ea0339e6b1ee1bdc628c1508bFlorian Fainellivmlinuz: FORCE
33826fca83a22f66e2ea0339e6b1ee1bdc628c1508bFlorian Fainelli	@echo '   CONFIG_SYS_SUPPORTS_ZBOOT is not enabled'
33926fca83a22f66e2ea0339e6b1ee1bdc628c1508bFlorian Fainelli	/bin/false
34026fca83a22f66e2ea0339e6b1ee1bdc628c1508bFlorian Fainelliendif
34135eaa1e9c9b4579100320814aeebff167ee59b0aSam Ravnborg
34235eaa1e9c9b4579100320814aeebff167ee59b0aSam Ravnborg
343d745866e4d8c0675bab90868b5e4a8fcd053eff2Sam RavnborgCLEAN_FILES += vmlinux.32 vmlinux.64
3441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3457fafb06831431ed7bc882c3cd7c981e3f41cfdb0Andrew Bresticker# device-trees
3467fafb06831431ed7bc882c3cd7c981e3f41cfdb0Andrew Brestickercore-$(CONFIG_BUILTIN_DTB) += arch/mips/boot/dts/
3477fafb06831431ed7bc882c3cd7c981e3f41cfdb0Andrew Bresticker
3487fafb06831431ed7bc882c3cd7c981e3f41cfdb0Andrew Bresticker%.dtb %.dtb.S %.dtb.o: | scripts
3497fafb06831431ed7bc882c3cd7c981e3f41cfdb0Andrew Bresticker	$(Q)$(MAKE) $(build)=arch/mips/boot/dts arch/mips/boot/dts/$@
3507fafb06831431ed7bc882c3cd7c981e3f41cfdb0Andrew Bresticker
351c8d333dfe4bab898fd87f4c3ae555f2c1388eb8fAndrew BrestickerPHONY += dtbs
352c8d333dfe4bab898fd87f4c3ae555f2c1388eb8fAndrew Brestickerdtbs: scripts
353c8d333dfe4bab898fd87f4c3ae555f2c1388eb8fAndrew Bresticker	$(Q)$(MAKE) $(build)=arch/mips/boot/dts dtbs
354c8d333dfe4bab898fd87f4c3ae555f2c1388eb8fAndrew Bresticker
355e48ce6b8df5b51af3f38b20bb3d008dff69ff64eAtsushi Nemotoarchprepare:
356e48ce6b8df5b51af3f38b20bb3d008dff69ff64eAtsushi Nemotoifdef CONFIG_MIPS32_N32
357e48ce6b8df5b51af3f38b20bb3d008dff69ff64eAtsushi Nemoto	@echo '  Checking missing-syscalls for N32'
35844656fa03926e7363ab41c565619800a4b3b1322David Daney	$(Q)$(MAKE) $(build)=. missing-syscalls missing_syscalls_flags="-mabi=n32"
359e48ce6b8df5b51af3f38b20bb3d008dff69ff64eAtsushi Nemotoendif
360e48ce6b8df5b51af3f38b20bb3d008dff69ff64eAtsushi Nemotoifdef CONFIG_MIPS32_O32
361e48ce6b8df5b51af3f38b20bb3d008dff69ff64eAtsushi Nemoto	@echo '  Checking missing-syscalls for O32'
36244656fa03926e7363ab41c565619800a4b3b1322David Daney	$(Q)$(MAKE) $(build)=. missing-syscalls missing_syscalls_flags="-mabi=32"
363e48ce6b8df5b51af3f38b20bb3d008dff69ff64eAtsushi Nemotoendif
364e48ce6b8df5b51af3f38b20bb3d008dff69ff64eAtsushi Nemoto
36559968d3bb927f54db660e7cd4de389ebc292eec0Ralf Baechleinstall:
36659968d3bb927f54db660e7cd4de389ebc292eec0Ralf Baechle	$(Q)install -D -m 755 vmlinux $(INSTALL_PATH)/vmlinux-$(KERNELRELEASE)
367d9beeecae674b62250ca68b93042d3a31551bad6Ralf Baechleifdef CONFIG_SYS_SUPPORTS_ZBOOT
3681b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin	$(Q)install -D -m 755 vmlinuz $(INSTALL_PATH)/vmlinuz-$(KERNELRELEASE)
369d9beeecae674b62250ca68b93042d3a31551bad6Ralf Baechleendif
37059968d3bb927f54db660e7cd4de389ebc292eec0Ralf Baechle	$(Q)install -D -m 644 .config $(INSTALL_PATH)/config-$(KERNELRELEASE)
37159968d3bb927f54db660e7cd4de389ebc292eec0Ralf Baechle	$(Q)install -D -m 644 System.map $(INSTALL_PATH)/System.map-$(KERNELRELEASE)
37259968d3bb927f54db660e7cd4de389ebc292eec0Ralf Baechle
3731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsarchclean:
374d745866e4d8c0675bab90868b5e4a8fcd053eff2Sam Ravnborg	$(Q)$(MAKE) $(clean)=arch/mips/boot
375d745866e4d8c0675bab90868b5e4a8fcd053eff2Sam Ravnborg	$(Q)$(MAKE) $(clean)=arch/mips/boot/compressed
376d745866e4d8c0675bab90868b5e4a8fcd053eff2Sam Ravnborg	$(Q)$(MAKE) $(clean)=arch/mips/lasat
3771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
378e7865765ef85473c1b97aad86d44b80dc260dbbfRalf Baechledefine archhelp
37959968d3bb927f54db660e7cd4de389ebc292eec0Ralf Baechle	echo '  install              - install kernel into $(INSTALL_PATH)'
380e7865765ef85473c1b97aad86d44b80dc260dbbfRalf Baechle	echo '  vmlinux.ecoff        - ECOFF boot image'
381e7865765ef85473c1b97aad86d44b80dc260dbbfRalf Baechle	echo '  vmlinux.bin          - Raw binary boot image'
382e7865765ef85473c1b97aad86d44b80dc260dbbfRalf Baechle	echo '  vmlinux.srec         - SREC boot image'
3831b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin	echo '  vmlinuz              - Compressed boot(zboot) image'
3841b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin	echo '  vmlinuz.ecoff        - ECOFF zboot image'
3851b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin	echo '  vmlinuz.bin          - Raw binary zboot image'
3861b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin	echo '  vmlinuz.srec         - SREC zboot image'
3874defe4559e86e26545ab2f542656a4b966dcde53James Hogan	echo '  uImage               - U-Boot image'
3884defe4559e86e26545ab2f542656a4b966dcde53James Hogan	echo '  uImage.gz            - U-Boot image (gzip)'
389c8d333dfe4bab898fd87f4c3ae555f2c1388eb8fAndrew Bresticker	echo '  dtbs                 - Device-tree blobs for enabled boards'
390e7865765ef85473c1b97aad86d44b80dc260dbbfRalf Baechle	echo
39125985edcedea6396277003854657b5f3cb31a628Lucas De Marchi	echo '  These will be default as appropriate for a configured platform.'
392e7865765ef85473c1b97aad86d44b80dc260dbbfRalf Baechleendef
393