11da177e4SLinus Torvalds# 21da177e4SLinus Torvalds# This file is subject to the terms and conditions of the GNU General Public 31da177e4SLinus Torvalds# License. See the file "COPYING" in the main directory of this archive 41da177e4SLinus Torvalds# for more details. 51da177e4SLinus Torvalds# 61da177e4SLinus Torvalds# Copyright (C) 1994, 95, 96, 2003 by Ralf Baechle 71da177e4SLinus Torvalds# DECStation modifications by Paul M. Antoine, 1996 81da177e4SLinus Torvalds# Copyright (C) 2002, 2003, 2004 Maciej W. Rozycki 91da177e4SLinus Torvalds# 101da177e4SLinus Torvalds# This file is included by the global makefile so that you can add your own 111da177e4SLinus Torvalds# architecture-specific flags and dependencies. Remember to do have actions 121da177e4SLinus Torvalds# for "archclean" cleaning up for this architecture. 131da177e4SLinus Torvalds# 141da177e4SLinus Torvalds 151da177e4SLinus Torvaldsas-option = $(shell if $(CC) $(CFLAGS) $(1) -Wa,-Z -c -o /dev/null \ 161da177e4SLinus Torvalds -xassembler /dev/null > /dev/null 2>&1; then echo "$(1)"; \ 171da177e4SLinus Torvalds else echo "$(2)"; fi ;) 181da177e4SLinus Torvalds 191da177e4SLinus Torvaldscflags-y := 201da177e4SLinus Torvalds 211da177e4SLinus Torvalds# 221da177e4SLinus Torvalds# Select the object file format to substitute into the linker script. 231da177e4SLinus Torvalds# 241da177e4SLinus Torvaldsifdef CONFIG_CPU_LITTLE_ENDIAN 251da177e4SLinus Torvalds32bit-tool-prefix = mipsel-linux- 261da177e4SLinus Torvalds64bit-tool-prefix = mips64el-linux- 271da177e4SLinus Torvalds32bit-bfd = elf32-tradlittlemips 281da177e4SLinus Torvalds64bit-bfd = elf64-tradlittlemips 291da177e4SLinus Torvalds32bit-emul = elf32ltsmip 301da177e4SLinus Torvalds64bit-emul = elf64ltsmip 311da177e4SLinus Torvaldselse 321da177e4SLinus Torvalds32bit-tool-prefix = mips-linux- 331da177e4SLinus Torvalds64bit-tool-prefix = mips64-linux- 341da177e4SLinus Torvalds32bit-bfd = elf32-tradbigmips 351da177e4SLinus Torvalds64bit-bfd = elf64-tradbigmips 361da177e4SLinus Torvalds32bit-emul = elf32btsmip 371da177e4SLinus Torvalds64bit-emul = elf64btsmip 381da177e4SLinus Torvaldsendif 391da177e4SLinus Torvalds 40875d43e7SRalf Baechleifdef CONFIG_32BIT 411da177e4SLinus Torvaldsgcc-abi = 32 421da177e4SLinus Torvaldstool-prefix = $(32bit-tool-prefix) 431da177e4SLinus TorvaldsUTS_MACHINE := mips 441da177e4SLinus Torvaldsendif 45875d43e7SRalf Baechleifdef CONFIG_64BIT 461da177e4SLinus Torvaldsgcc-abi = 64 471da177e4SLinus Torvaldstool-prefix = $(64bit-tool-prefix) 481da177e4SLinus TorvaldsUTS_MACHINE := mips64 491da177e4SLinus Torvaldsendif 501da177e4SLinus Torvalds 511da177e4SLinus Torvaldsifdef CONFIG_CROSSCOMPILE 521da177e4SLinus TorvaldsCROSS_COMPILE := $(tool-prefix) 531da177e4SLinus Torvaldsendif 541da177e4SLinus Torvalds 55fe00f943SRalf BaechleCHECKFLAGS-y += -D__linux__ -D__mips__ \ 56fe00f943SRalf Baechle -D_ABIO32=1 \ 57fe00f943SRalf Baechle -D_ABIN32=2 \ 58fe00f943SRalf Baechle -D_ABI64=3 59fe00f943SRalf BaechleCHECKFLAGS-$(CONFIG_32BIT) += -D_MIPS_SIM=_ABIO32 \ 60fe00f943SRalf Baechle -D_MIPS_SZLONG=32 \ 61fe00f943SRalf Baechle -D__PTRDIFF_TYPE__=int 62fe00f943SRalf BaechleCHECKFLAGS-$(CONFIG_64BIT) += -m64 -D_MIPS_SIM=_ABI64 \ 63fe00f943SRalf Baechle -D_MIPS_SZLONG=64 \ 64fe00f943SRalf Baechle -D__PTRDIFF_TYPE__="long int" 65fe00f943SRalf BaechleCHECKFLAGS-$(CONFIG_CPU_BIG_ENDIAN) += -D__MIPSEB__ 66fe00f943SRalf BaechleCHECKFLAGS-$(CONFIG_CPU_LITTLE_ENDIAN) += -D__MIPSEL__ 67fe00f943SRalf Baechle 68fe00f943SRalf BaechleCHECKFLAGS = $(CHECKFLAGS-y) 69fe00f943SRalf Baechle 701da177e4SLinus Torvaldsifdef CONFIG_BUILD_ELF64 711da177e4SLinus Torvaldsgas-abi = 64 721da177e4SLinus Torvaldsld-emul = $(64bit-emul) 731da177e4SLinus Torvaldsvmlinux-32 = vmlinux.32 741da177e4SLinus Torvaldsvmlinux-64 = vmlinux 751da177e4SLinus Torvaldselse 761da177e4SLinus Torvaldsgas-abi = 32 771da177e4SLinus Torvaldsld-emul = $(32bit-emul) 781da177e4SLinus Torvaldsvmlinux-32 = vmlinux 791da177e4SLinus Torvaldsvmlinux-64 = vmlinux.64 801da177e4SLinus Torvalds 81875d43e7SRalf Baechlecflags-$(CONFIG_64BIT) += $(call cc-option,-mno-explicit-relocs) 821da177e4SLinus Torvaldsendif 831da177e4SLinus Torvalds 841da177e4SLinus Torvalds# 851da177e4SLinus Torvalds# GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel 861da177e4SLinus Torvalds# code since it only slows down the whole thing. At some point we might make 871da177e4SLinus Torvalds# use of global pointer optimizations but their use of $28 conflicts with 881da177e4SLinus Torvalds# the current pointer optimization. 891da177e4SLinus Torvalds# 901da177e4SLinus Torvalds# The DECStation requires an ECOFF kernel for remote booting, other MIPS 911da177e4SLinus Torvalds# machines may also. Since BFD is incredibly buggy with respect to 921da177e4SLinus Torvalds# crossformat linking we rely on the elf2ecoff tool for format conversion. 931da177e4SLinus Torvalds# 941da177e4SLinus Torvaldscflags-y += -I $(TOPDIR)/include/asm/gcc 951da177e4SLinus Torvaldscflags-y += -G 0 -mno-abicalls -fno-pic -pipe 961da177e4SLinus Torvaldscflags-y += $(call cc-option, -finline-limit=100000) 979f83d839SThiemo SeuferLDFLAGS_vmlinux += -G 0 -static -n -nostdlib 981da177e4SLinus TorvaldsMODFLAGS += -mlong-calls 991da177e4SLinus Torvalds 100f425a6dcSThiemo Seufer# 101f425a6dcSThiemo Seufer# We explicitly add the endianness specifier if needed, this allows 102f425a6dcSThiemo Seufer# to compile kernels with a toolchain for the other endianness. We 103f425a6dcSThiemo Seufer# carefully avoid to add it redundantly because gcc 3.3/3.4 complains 104f425a6dcSThiemo Seufer# when fed the toolchain default! 105f425a6dcSThiemo Seufer# 10685f14bf2SThiemo Seufercflags-$(CONFIG_CPU_BIG_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB) 10785f14bf2SThiemo Seufercflags-$(CONFIG_CPU_LITTLE_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL) 108f425a6dcSThiemo Seufer 1091da177e4SLinus Torvaldscflags-$(CONFIG_SB1XXX_CORELIS) += -mno-sched-prolog -fno-omit-frame-pointer 1101da177e4SLinus Torvalds 1111da177e4SLinus Torvalds# 1121da177e4SLinus Torvalds# Use: $(call set_gccflags,<cpu0>,<isa0>,<cpu1>,<isa1>,<isa2>) 1131da177e4SLinus Torvalds# 1141da177e4SLinus Torvalds# <cpu0>,<isa0> -- preferred CPU and ISA designations (may require 1151da177e4SLinus Torvalds# recent tools) 1161da177e4SLinus Torvalds# <cpu1>,<isa1> -- fallback CPU and ISA designations (have to work 1171da177e4SLinus Torvalds# with up to the oldest supported tools) 1181da177e4SLinus Torvalds# <isa2> -- an ISA designation used as an ABI selector for 1191da177e4SLinus Torvalds# gcc versions that do not support "-mabi=32" 1201da177e4SLinus Torvalds# (depending on the CPU type, either "mips1" or 1211da177e4SLinus Torvalds# "mips2") 1221da177e4SLinus Torvalds# 1231da177e4SLinus Torvaldsset_gccflags = $(shell \ 1241da177e4SLinus Torvaldswhile :; do \ 1251da177e4SLinus Torvalds cpu=$(1); isa=-$(2); \ 1261da177e4SLinus Torvalds for gcc_opt in -march= -mcpu=; do \ 1271da177e4SLinus Torvalds $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \ 1281da177e4SLinus Torvalds -xc /dev/null > /dev/null 2>&1 && \ 1291da177e4SLinus Torvalds break 2; \ 1301da177e4SLinus Torvalds done; \ 1311da177e4SLinus Torvalds cpu=$(3); isa=-$(4); \ 1321da177e4SLinus Torvalds for gcc_opt in -march= -mcpu=; do \ 1331da177e4SLinus Torvalds $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \ 1341da177e4SLinus Torvalds -xc /dev/null > /dev/null 2>&1 && \ 1351da177e4SLinus Torvalds break 2; \ 1361da177e4SLinus Torvalds done; \ 1371da177e4SLinus Torvalds break; \ 1381da177e4SLinus Torvaldsdone; \ 1391da177e4SLinus Torvaldsgcc_abi=-mabi=$(gcc-abi); gcc_cpu=$$cpu; \ 1401da177e4SLinus Torvaldsif $(CC) $$gcc_abi -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then \ 1411da177e4SLinus Torvalds gcc_isa=$$isa; \ 1421da177e4SLinus Torvaldselse \ 1431da177e4SLinus Torvalds gcc_abi=; gcc_isa=-$(5); \ 1441da177e4SLinus Torvaldsfi; \ 1451da177e4SLinus Torvaldsgas_abi=-Wa,-$(gcc-abi); gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \ 1461da177e4SLinus Torvaldswhile :; do \ 1471da177e4SLinus Torvalds for gas_opt in -Wa,-march= -Wa,-mcpu=; do \ 1481da177e4SLinus Torvalds $(CC) $$gas_abi $$gas_opt$$cpu $$gas_isa -Wa,-Z -c \ 1491da177e4SLinus Torvalds -o /dev/null -xassembler /dev/null > /dev/null 2>&1 && \ 1501da177e4SLinus Torvalds break 2; \ 1511da177e4SLinus Torvalds done; \ 1521da177e4SLinus Torvalds gas_abi=; gas_opt=; gas_cpu=; gas_isa=; \ 1531da177e4SLinus Torvalds break; \ 1541da177e4SLinus Torvaldsdone; \ 1551da177e4SLinus Torvaldsif test "$(gcc-abi)" != "$(gas-abi)"; then \ 1561da177e4SLinus Torvalds gas_abi="-Wa,-$(gas-abi) -Wa,-mgp$(gcc-abi)"; \ 1571da177e4SLinus Torvaldsfi; \ 1581da177e4SLinus Torvaldsif test "$$gcc_opt" = -march= && test -n "$$gcc_abi"; then \ 1591da177e4SLinus Torvalds $(CC) $$gcc_abi $$gcc_opt$$gcc_cpu -S -o /dev/null \ 1601da177e4SLinus Torvalds -xc /dev/null > /dev/null 2>&1 && \ 1611da177e4SLinus Torvalds gcc_isa=; \ 1621da177e4SLinus Torvaldsfi; \ 1631da177e4SLinus Torvaldsecho $$gcc_abi $$gcc_opt$$gcc_cpu $$gcc_isa $$gas_abi $$gas_opt$$gas_cpu $$gas_isa) 1641da177e4SLinus Torvalds 1651da177e4SLinus Torvalds# 1661da177e4SLinus Torvalds# CPU-dependent compiler/assembler options for optimization. 1671da177e4SLinus Torvalds# 1681da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R3000) += \ 1691da177e4SLinus Torvalds $(call set_gccflags,r3000,mips1,r3000,mips1,mips1) 1701da177e4SLinus Torvalds 1711da177e4SLinus Torvaldscflags-$(CONFIG_CPU_TX39XX) += \ 1721da177e4SLinus Torvalds $(call set_gccflags,r3900,mips1,r3000,mips1,mips1) 1731da177e4SLinus Torvalds 1741da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R6000) += \ 1751da177e4SLinus Torvalds $(call set_gccflags,r6000,mips2,r6000,mips2,mips2) \ 1761da177e4SLinus Torvalds -Wa,--trap 1771da177e4SLinus Torvalds 1781da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R4300) += \ 1791da177e4SLinus Torvalds $(call set_gccflags,r4300,mips3,r4300,mips3,mips2) \ 1801da177e4SLinus Torvalds -Wa,--trap 1811da177e4SLinus Torvalds 1821da177e4SLinus Torvaldscflags-$(CONFIG_CPU_VR41XX) += \ 1831da177e4SLinus Torvalds $(call set_gccflags,r4100,mips3,r4600,mips3,mips2) \ 1841da177e4SLinus Torvalds -Wa,--trap 1851da177e4SLinus Torvalds 1861da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R4X00) += \ 1871da177e4SLinus Torvalds $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \ 1881da177e4SLinus Torvalds -Wa,--trap 1891da177e4SLinus Torvalds 1901da177e4SLinus Torvaldscflags-$(CONFIG_CPU_TX49XX) += \ 1911da177e4SLinus Torvalds $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \ 1921da177e4SLinus Torvalds -Wa,--trap 1931da177e4SLinus Torvalds 1946e760c8dSRalf Baechlecflags-$(CONFIG_CPU_MIPS32_R1) += \ 1951da177e4SLinus Torvalds $(call set_gccflags,mips32,mips32,r4600,mips3,mips2) \ 1961da177e4SLinus Torvalds -Wa,--trap 1971da177e4SLinus Torvalds 1986e760c8dSRalf Baechlecflags-$(CONFIG_CPU_MIPS64_R1) += \ 1991da177e4SLinus Torvalds $(call set_gccflags,mips64,mips64,r4600,mips3,mips2) \ 2001da177e4SLinus Torvalds -Wa,--trap 2011da177e4SLinus Torvalds 2021da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R5000) += \ 2031da177e4SLinus Torvalds $(call set_gccflags,r5000,mips4,r5000,mips4,mips2) \ 2041da177e4SLinus Torvalds -Wa,--trap 2051da177e4SLinus Torvalds 2061da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R5432) += \ 2071da177e4SLinus Torvalds $(call set_gccflags,r5400,mips4,r5000,mips4,mips2) \ 2081da177e4SLinus Torvalds -Wa,--trap 2091da177e4SLinus Torvalds 2101da177e4SLinus Torvaldscflags-$(CONFIG_CPU_NEVADA) += \ 2111da177e4SLinus Torvalds $(call set_gccflags,rm5200,mips4,r5000,mips4,mips2) \ 2121da177e4SLinus Torvalds -Wa,--trap 2131da177e4SLinus Torvalds# $(call cc-option,-mmad) 2141da177e4SLinus Torvalds 2151da177e4SLinus Torvaldscflags-$(CONFIG_CPU_RM7000) += \ 2161da177e4SLinus Torvalds $(call set_gccflags,rm7000,mips4,r5000,mips4,mips2) \ 2171da177e4SLinus Torvalds -Wa,--trap 2181da177e4SLinus Torvalds 2191da177e4SLinus Torvaldscflags-$(CONFIG_CPU_RM9000) += \ 2201da177e4SLinus Torvalds $(call set_gccflags,rm9000,mips4,r5000,mips4,mips2) \ 2211da177e4SLinus Torvalds -Wa,--trap 2221da177e4SLinus Torvalds 2231da177e4SLinus Torvaldscflags-$(CONFIG_CPU_SB1) += \ 2241da177e4SLinus Torvalds $(call set_gccflags,sb1,mips64,r5000,mips4,mips2) \ 2251da177e4SLinus Torvalds -Wa,--trap 2261da177e4SLinus Torvalds 2271da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R8000) += \ 2281da177e4SLinus Torvalds $(call set_gccflags,r8000,mips4,r8000,mips4,mips2) \ 2291da177e4SLinus Torvalds -Wa,--trap 2301da177e4SLinus Torvalds 2311da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R10000) += \ 2321da177e4SLinus Torvalds $(call set_gccflags,r10000,mips4,r8000,mips4,mips2) \ 2331da177e4SLinus Torvalds -Wa,--trap 2341da177e4SLinus Torvalds 2351da177e4SLinus Torvaldsifdef CONFIG_CPU_SB1 2361da177e4SLinus Torvaldsifdef CONFIG_SB1_PASS_1_WORKAROUNDS 2371da177e4SLinus TorvaldsMODFLAGS += -msb1-pass1-workarounds 2381da177e4SLinus Torvaldsendif 2391da177e4SLinus Torvaldsendif 2401da177e4SLinus Torvalds 2411da177e4SLinus Torvalds# 2421da177e4SLinus Torvalds# Firmware support 2431da177e4SLinus Torvalds# 2441da177e4SLinus Torvaldslibs-$(CONFIG_ARC) += arch/mips/arc/ 2451da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_CFE) += arch/mips/sibyte/cfe/ 2461da177e4SLinus Torvalds 2471da177e4SLinus Torvalds# 2481da177e4SLinus Torvalds# Board-dependent options and extra files 2491da177e4SLinus Torvalds# 2501da177e4SLinus Torvalds 2511da177e4SLinus Torvalds# 2521da177e4SLinus Torvalds# Acer PICA 61, Mips Magnum 4000 and Olivetti M700. 2531da177e4SLinus Torvalds# 2541da177e4SLinus Torvaldscore-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/ 2551da177e4SLinus Torvaldscflags-$(CONFIG_MACH_JAZZ) += -Iinclude/asm-mips/mach-jazz 2561da177e4SLinus Torvaldsload-$(CONFIG_MACH_JAZZ) += 0xffffffff80080000 2571da177e4SLinus Torvalds 2581da177e4SLinus Torvalds# 2591da177e4SLinus Torvalds# Common Alchemy Au1x00 stuff 2601da177e4SLinus Torvalds# 2611da177e4SLinus Torvaldscore-$(CONFIG_SOC_AU1X00) += arch/mips/au1000/common/ 2621da177e4SLinus Torvaldscflags-$(CONFIG_SOC_AU1X00) += -Iinclude/asm-mips/mach-au1x00 2631da177e4SLinus Torvalds 2641da177e4SLinus Torvalds# 2651da177e4SLinus Torvalds# AMD Alchemy Pb1000 eval board 2661da177e4SLinus Torvalds# 2671da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_PB1000) += arch/mips/au1000/pb1000/ 2681da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_PB1000) += -Iinclude/asm-mips/mach-pb1x00 2691da177e4SLinus Torvaldsload-$(CONFIG_MIPS_PB1000) += 0xffffffff80100000 2701da177e4SLinus Torvalds 2711da177e4SLinus Torvalds# 2721da177e4SLinus Torvalds# AMD Alchemy Pb1100 eval board 2731da177e4SLinus Torvalds# 2741da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_PB1100) += arch/mips/au1000/pb1100/ 2751da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_PB1100) += -Iinclude/asm-mips/mach-pb1x00 2761da177e4SLinus Torvaldsload-$(CONFIG_MIPS_PB1100) += 0xffffffff80100000 2771da177e4SLinus Torvalds 2781da177e4SLinus Torvalds# 2791da177e4SLinus Torvalds# AMD Alchemy Pb1500 eval board 2801da177e4SLinus Torvalds# 2811da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_PB1500) += arch/mips/au1000/pb1500/ 2821da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_PB1500) += -Iinclude/asm-mips/mach-pb1x00 2831da177e4SLinus Torvaldsload-$(CONFIG_MIPS_PB1500) += 0xffffffff80100000 2841da177e4SLinus Torvalds 2851da177e4SLinus Torvalds# 2861da177e4SLinus Torvalds# AMD Alchemy Pb1550 eval board 2871da177e4SLinus Torvalds# 2881da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_PB1550) += arch/mips/au1000/pb1550/ 2891da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_PB1550) += -Iinclude/asm-mips/mach-pb1x00 2901da177e4SLinus Torvaldsload-$(CONFIG_MIPS_PB1550) += 0xffffffff80100000 2911da177e4SLinus Torvalds 2921da177e4SLinus Torvalds# 293e3ad1c23SPete Popov# AMD Alchemy Pb1200 eval board 294e3ad1c23SPete Popov# 295e3ad1c23SPete Popovlibs-$(CONFIG_MIPS_PB1200) += arch/mips/au1000/pb1200/ 296e3ad1c23SPete Popovcflags-$(CONFIG_MIPS_PB1200) += -Iinclude/asm-mips/mach-pb1x00 297e3ad1c23SPete Popovload-$(CONFIG_MIPS_PB1200) += 0xffffffff80100000 298e3ad1c23SPete Popov 299e3ad1c23SPete Popov# 3001da177e4SLinus Torvalds# AMD Alchemy Db1000 eval board 3011da177e4SLinus Torvalds# 3021da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_DB1000) += arch/mips/au1000/db1x00/ 3031da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_DB1000) += -Iinclude/asm-mips/mach-db1x00 3041da177e4SLinus Torvaldsload-$(CONFIG_MIPS_DB1000) += 0xffffffff80100000 3051da177e4SLinus Torvalds 3061da177e4SLinus Torvalds# 3071da177e4SLinus Torvalds# AMD Alchemy Db1100 eval board 3081da177e4SLinus Torvalds# 3091da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_DB1100) += arch/mips/au1000/db1x00/ 3101da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_DB1100) += -Iinclude/asm-mips/mach-db1x00 3111da177e4SLinus Torvaldsload-$(CONFIG_MIPS_DB1100) += 0xffffffff80100000 3121da177e4SLinus Torvalds 3131da177e4SLinus Torvalds# 3141da177e4SLinus Torvalds# AMD Alchemy Db1500 eval board 3151da177e4SLinus Torvalds# 3161da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_DB1500) += arch/mips/au1000/db1x00/ 3171da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_DB1500) += -Iinclude/asm-mips/mach-db1x00 3181da177e4SLinus Torvaldsload-$(CONFIG_MIPS_DB1500) += 0xffffffff80100000 3191da177e4SLinus Torvalds 3201da177e4SLinus Torvalds# 3211da177e4SLinus Torvalds# AMD Alchemy Db1550 eval board 3221da177e4SLinus Torvalds# 3231da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_DB1550) += arch/mips/au1000/db1x00/ 3241da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_DB1550) += -Iinclude/asm-mips/mach-db1x00 3251da177e4SLinus Torvaldsload-$(CONFIG_MIPS_DB1550) += 0xffffffff80100000 3261da177e4SLinus Torvalds 3271da177e4SLinus Torvalds# 328e3ad1c23SPete Popov# AMD Alchemy Db1200 eval board 329e3ad1c23SPete Popov# 330e3ad1c23SPete Popovlibs-$(CONFIG_MIPS_DB1200) += arch/mips/au1000/pb1200/ 331e3ad1c23SPete Popovcflags-$(CONFIG_MIPS_DB1200) += -Iinclude/asm-mips/mach-db1x00 332e3ad1c23SPete Popovload-$(CONFIG_MIPS_DB1200) += 0xffffffff80100000 333e3ad1c23SPete Popov 334e3ad1c23SPete Popov# 3351da177e4SLinus Torvalds# AMD Alchemy Bosporus eval board 3361da177e4SLinus Torvalds# 3371da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_BOSPORUS) += arch/mips/au1000/db1x00/ 3381da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_BOSPORUS) += -Iinclude/asm-mips/mach-db1x00 3391da177e4SLinus Torvaldsload-$(CONFIG_MIPS_BOSPORUS) += 0xffffffff80100000 3401da177e4SLinus Torvalds 3411da177e4SLinus Torvalds# 3421da177e4SLinus Torvalds# AMD Alchemy Mirage eval board 3431da177e4SLinus Torvalds# 3441da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_MIRAGE) += arch/mips/au1000/db1x00/ 3451da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_MIRAGE) += -Iinclude/asm-mips/mach-db1x00 3461da177e4SLinus Torvaldsload-$(CONFIG_MIPS_MIRAGE) += 0xffffffff80100000 3471da177e4SLinus Torvalds 3481da177e4SLinus Torvalds# 3491da177e4SLinus Torvalds# 4G-Systems eval board 3501da177e4SLinus Torvalds# 3511da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_MTX1) += arch/mips/au1000/mtx-1/ 3521da177e4SLinus Torvaldsload-$(CONFIG_MIPS_MTX1) += 0xffffffff80100000 3531da177e4SLinus Torvalds 3541da177e4SLinus Torvalds# 3551da177e4SLinus Torvalds# MyCable eval board 3561da177e4SLinus Torvalds# 3571da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_XXS1500) += arch/mips/au1000/xxs1500/ 3581da177e4SLinus Torvaldsload-$(CONFIG_MIPS_XXS1500) += 0xffffffff80100000 3591da177e4SLinus Torvalds 3601da177e4SLinus Torvalds# 3611da177e4SLinus Torvalds# Cobalt Server 3621da177e4SLinus Torvalds# 3631da177e4SLinus Torvaldscore-$(CONFIG_MIPS_COBALT) += arch/mips/cobalt/ 364c4ed38a0SRalf Baechlecflags-$(CONFIG_MIPS_COBALT) += -Iinclude/asm-mips/cobalt 3651da177e4SLinus Torvaldsload-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000 3661da177e4SLinus Torvalds 3671da177e4SLinus Torvalds# 3681da177e4SLinus Torvalds# DECstation family 3691da177e4SLinus Torvalds# 3701da177e4SLinus Torvaldscore-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/ 3711da177e4SLinus Torvaldscflags-$(CONFIG_MACH_DECSTATION)+= -Iinclude/asm-mips/mach-dec 3721da177e4SLinus Torvaldslibs-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/prom/ 3731da177e4SLinus Torvaldsload-$(CONFIG_MACH_DECSTATION) += 0xffffffff80040000 3741da177e4SLinus TorvaldsCLEAN_FILES += drivers/tc/lk201-map.c 3751da177e4SLinus Torvalds 3761da177e4SLinus Torvalds# 3771da177e4SLinus Torvalds# Galileo EV64120 Board 3781da177e4SLinus Torvalds# 3791da177e4SLinus Torvaldscore-$(CONFIG_MIPS_EV64120) += arch/mips/gt64120/ev64120/ 3801da177e4SLinus Torvaldscore-$(CONFIG_MIPS_EV64120) += arch/mips/gt64120/common/ 3811da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_EV64120) += -Iinclude/asm-mips/mach-ev64120 3821da177e4SLinus Torvaldsload-$(CONFIG_MIPS_EV64120) += 0xffffffff80100000 3831da177e4SLinus Torvalds 3841da177e4SLinus Torvalds# 3851da177e4SLinus Torvalds# Galileo EV96100 Board 3861da177e4SLinus Torvalds# 3871da177e4SLinus Torvaldscore-$(CONFIG_MIPS_EV96100) += arch/mips/galileo-boards/ev96100/ 3881da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_EV96100) += -Iinclude/asm-mips/mach-ev96100 3891da177e4SLinus Torvaldsload-$(CONFIG_MIPS_EV96100) += 0xffffffff80100000 3901da177e4SLinus Torvalds 3911da177e4SLinus Torvalds# 3921da177e4SLinus Torvalds# Globespan IVR eval board with QED 5231 CPU 3931da177e4SLinus Torvalds# 3941da177e4SLinus Torvaldscore-$(CONFIG_ITE_BOARD_GEN) += arch/mips/ite-boards/generic/ 3951da177e4SLinus Torvaldscore-$(CONFIG_MIPS_IVR) += arch/mips/ite-boards/ivr/ 3961da177e4SLinus Torvaldsload-$(CONFIG_MIPS_IVR) += 0xffffffff80100000 3971da177e4SLinus Torvalds 3981da177e4SLinus Torvalds# 3991da177e4SLinus Torvalds# ITE 8172 eval board with QED 5231 CPU 4001da177e4SLinus Torvalds# 4011da177e4SLinus Torvaldscore-$(CONFIG_MIPS_ITE8172) += arch/mips/ite-boards/qed-4n-s01b/ 4021da177e4SLinus Torvaldsload-$(CONFIG_MIPS_ITE8172) += 0xffffffff80100000 4031da177e4SLinus Torvalds 4041da177e4SLinus Torvalds# 4051da177e4SLinus Torvalds# For all MIPS, Inc. eval boards 4061da177e4SLinus Torvalds# 4071da177e4SLinus Torvaldscore-$(CONFIG_MIPS_BOARDS_GEN) += arch/mips/mips-boards/generic/ 4081da177e4SLinus Torvalds 4091da177e4SLinus Torvalds# 4101da177e4SLinus Torvalds# MIPS Atlas board 4111da177e4SLinus Torvalds# 4121da177e4SLinus Torvaldscore-$(CONFIG_MIPS_ATLAS) += arch/mips/mips-boards/atlas/ 4131da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_ATLAS) += -Iinclude/asm-mips/mach-atlas 4141da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_ATLAS) += -Iinclude/asm-mips/mach-mips 4151da177e4SLinus Torvaldsload-$(CONFIG_MIPS_ATLAS) += 0xffffffff80100000 4161da177e4SLinus Torvalds 4171da177e4SLinus Torvalds# 4181da177e4SLinus Torvalds# MIPS Malta board 4191da177e4SLinus Torvalds# 4201da177e4SLinus Torvaldscore-$(CONFIG_MIPS_MALTA) += arch/mips/mips-boards/malta/ 4211da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_MALTA) += -Iinclude/asm-mips/mach-mips 4221da177e4SLinus Torvaldsload-$(CONFIG_MIPS_MALTA) += 0xffffffff80100000 4231da177e4SLinus Torvalds 4241da177e4SLinus Torvalds# 4251da177e4SLinus Torvalds# MIPS SEAD board 4261da177e4SLinus Torvalds# 4271da177e4SLinus Torvaldscore-$(CONFIG_MIPS_SEAD) += arch/mips/mips-boards/sead/ 4281da177e4SLinus Torvaldsload-$(CONFIG_MIPS_SEAD) += 0xffffffff80100000 4291da177e4SLinus Torvalds 4301da177e4SLinus Torvalds# 4311da177e4SLinus Torvalds# Momentum Ocelot board 4321da177e4SLinus Torvalds# 4331da177e4SLinus Torvalds# The Ocelot setup.o must be linked early - it does the ioremap() for the 4341da177e4SLinus Torvalds# mips_io_port_base. 4351da177e4SLinus Torvalds# 4361da177e4SLinus Torvaldscore-$(CONFIG_MOMENCO_OCELOT) += arch/mips/gt64120/common/ \ 4371da177e4SLinus Torvalds arch/mips/gt64120/momenco_ocelot/ 4381da177e4SLinus Torvaldscflags-$(CONFIG_MOMENCO_OCELOT) += -Iinclude/asm-mips/mach-ocelot 4391da177e4SLinus Torvaldsload-$(CONFIG_MOMENCO_OCELOT) += 0xffffffff80100000 4401da177e4SLinus Torvalds 4411da177e4SLinus Torvalds# 4421da177e4SLinus Torvalds# Momentum Ocelot-G board 4431da177e4SLinus Torvalds# 4441da177e4SLinus Torvalds# The Ocelot-G setup.o must be linked early - it does the ioremap() for the 4451da177e4SLinus Torvalds# mips_io_port_base. 4461da177e4SLinus Torvalds# 4471da177e4SLinus Torvaldscore-$(CONFIG_MOMENCO_OCELOT_G) += arch/mips/momentum/ocelot_g/ 4481da177e4SLinus Torvaldsload-$(CONFIG_MOMENCO_OCELOT_G) += 0xffffffff80100000 4491da177e4SLinus Torvalds 4501da177e4SLinus Torvalds# 4511da177e4SLinus Torvalds# Momentum Ocelot-C and -CS boards 4521da177e4SLinus Torvalds# 4531da177e4SLinus Torvalds# The Ocelot-C[S] setup.o must be linked early - it does the ioremap() for the 4541da177e4SLinus Torvalds# mips_io_port_base. 4551da177e4SLinus Torvaldscore-$(CONFIG_MOMENCO_OCELOT_C) += arch/mips/momentum/ocelot_c/ 4561da177e4SLinus Torvaldsload-$(CONFIG_MOMENCO_OCELOT_C) += 0xffffffff80100000 4571da177e4SLinus Torvalds 4581da177e4SLinus Torvalds# 4591da177e4SLinus Torvalds# PMC-Sierra Yosemite 4601da177e4SLinus Torvalds# 4611da177e4SLinus Torvaldscore-$(CONFIG_PMC_YOSEMITE) += arch/mips/pmc-sierra/yosemite/ 4621da177e4SLinus Torvaldscflags-$(CONFIG_PMC_YOSEMITE) += -Iinclude/asm-mips/mach-yosemite 4631da177e4SLinus Torvaldsload-$(CONFIG_PMC_YOSEMITE) += 0xffffffff80100000 4641da177e4SLinus Torvalds 46507119621SRalf Baechle# Qemu simulating MIPS32 4Kc 46607119621SRalf Baechle# 46707119621SRalf Baechlecore-$(CONFIG_QEMU) += arch/mips/qemu/ 46807119621SRalf Baechlecflags-$(CONFIG_QEMU) += -Iinclude/asm-mips/mach-qemu 46907119621SRalf Baechleload-$(CONFIG_QEMU) += 0xffffffff80010000 47007119621SRalf Baechle 4711da177e4SLinus Torvalds# 4721da177e4SLinus Torvalds# Momentum Ocelot-3 4731da177e4SLinus Torvalds# 4741da177e4SLinus Torvaldscore-$(CONFIG_MOMENCO_OCELOT_3) += arch/mips/momentum/ocelot_3/ 4751da177e4SLinus Torvaldscflags-$(CONFIG_MOMENCO_OCELOT_3) += -Iinclude/asm-mips/mach-ocelot3 4761da177e4SLinus Torvaldsload-$(CONFIG_MOMENCO_OCELOT_3) += 0xffffffff80100000 4771da177e4SLinus Torvalds 4781da177e4SLinus Torvalds# 4791da177e4SLinus Torvalds# Momentum Jaguar ATX 4801da177e4SLinus Torvalds# 4811da177e4SLinus Torvaldscore-$(CONFIG_MOMENCO_JAGUAR_ATX) += arch/mips/momentum/jaguar_atx/ 4821da177e4SLinus Torvaldscflags-$(CONFIG_MOMENCO_JAGUAR_ATX) += -Iinclude/asm-mips/mach-ja 4831da177e4SLinus Torvalds#ifdef CONFIG_JAGUAR_DMALOW 4841da177e4SLinus Torvalds#load-$(CONFIG_MOMENCO_JAGUAR_ATX) += 0xffffffff88000000 4851da177e4SLinus Torvalds#else 4861da177e4SLinus Torvaldsload-$(CONFIG_MOMENCO_JAGUAR_ATX) += 0xffffffff80100000 4871da177e4SLinus Torvalds#endif 4881da177e4SLinus Torvalds 4891da177e4SLinus Torvalds# 4901da177e4SLinus Torvalds# NEC DDB 4911da177e4SLinus Torvalds# 4921da177e4SLinus Torvaldscore-$(CONFIG_DDB5XXX_COMMON) += arch/mips/ddb5xxx/common/ 4931da177e4SLinus Torvalds 4941da177e4SLinus Torvalds# 4951da177e4SLinus Torvalds# NEC DDB Vrc-5074 4961da177e4SLinus Torvalds# 4971da177e4SLinus Torvaldscore-$(CONFIG_DDB5074) += arch/mips/ddb5xxx/ddb5074/ 4981da177e4SLinus Torvaldsload-$(CONFIG_DDB5074) += 0xffffffff80080000 4991da177e4SLinus Torvalds 5001da177e4SLinus Torvalds# 5011da177e4SLinus Torvalds# NEC DDB Vrc-5476 5021da177e4SLinus Torvalds# 5031da177e4SLinus Torvaldscore-$(CONFIG_DDB5476) += arch/mips/ddb5xxx/ddb5476/ 5041da177e4SLinus Torvaldsload-$(CONFIG_DDB5476) += 0xffffffff80080000 5051da177e4SLinus Torvalds 5061da177e4SLinus Torvalds# 5071da177e4SLinus Torvalds# NEC DDB Vrc-5477 5081da177e4SLinus Torvalds# 5091da177e4SLinus Torvaldscore-$(CONFIG_DDB5477) += arch/mips/ddb5xxx/ddb5477/ 5101da177e4SLinus Torvaldsload-$(CONFIG_DDB5477) += 0xffffffff80100000 5111da177e4SLinus Torvalds 5121da177e4SLinus Torvaldscore-$(CONFIG_LASAT) += arch/mips/lasat/ 5131da177e4SLinus Torvaldscflags-$(CONFIG_LASAT) += -Iinclude/asm-mips/mach-lasat 5141da177e4SLinus Torvaldsload-$(CONFIG_LASAT) += 0xffffffff80000000 5151da177e4SLinus Torvalds 5161da177e4SLinus Torvalds# 5171da177e4SLinus Torvalds# Common VR41xx 5181da177e4SLinus Torvalds# 5191da177e4SLinus Torvaldscore-$(CONFIG_MACH_VR41XX) += arch/mips/vr41xx/common/ 5201da177e4SLinus Torvaldscflags-$(CONFIG_MACH_VR41XX) += -Iinclude/asm-mips/mach-vr41xx 5211da177e4SLinus Torvalds 5221da177e4SLinus Torvalds# 5231da177e4SLinus Torvalds# NEC VR4133 5241da177e4SLinus Torvalds# 5251da177e4SLinus Torvaldscore-$(CONFIG_NEC_CMBVR4133) += arch/mips/vr41xx/nec-cmbvr4133/ 5261da177e4SLinus Torvaldsload-$(CONFIG_NEC_CMBVR4133) += 0xffffffff80100000 5271da177e4SLinus Torvalds 5281da177e4SLinus Torvalds# 5291da177e4SLinus Torvalds# ZAO Networks Capcella (VR4131) 5301da177e4SLinus Torvalds# 5311da177e4SLinus Torvaldsload-$(CONFIG_ZAO_CAPCELLA) += 0xffffffff80000000 5321da177e4SLinus Torvalds 5331da177e4SLinus Torvalds# 5341da177e4SLinus Torvalds# Victor MP-C303/304 (VR4122) 5351da177e4SLinus Torvalds# 5361da177e4SLinus Torvaldsload-$(CONFIG_VICTOR_MPC30X) += 0xffffffff80001000 5371da177e4SLinus Torvalds 5381da177e4SLinus Torvalds# 5391da177e4SLinus Torvalds# IBM WorkPad z50 (VR4121) 5401da177e4SLinus Torvalds# 5411da177e4SLinus Torvaldscore-$(CONFIG_IBM_WORKPAD) += arch/mips/vr41xx/ibm-workpad/ 5421da177e4SLinus Torvaldsload-$(CONFIG_IBM_WORKPAD) += 0xffffffff80004000 5431da177e4SLinus Torvalds 5441da177e4SLinus Torvalds# 5451da177e4SLinus Torvalds# CASIO CASSIPEIA E-55/65 (VR4111) 5461da177e4SLinus Torvalds# 5471da177e4SLinus Torvaldscore-$(CONFIG_CASIO_E55) += arch/mips/vr41xx/casio-e55/ 5481da177e4SLinus Torvaldsload-$(CONFIG_CASIO_E55) += 0xffffffff80004000 5491da177e4SLinus Torvalds 5501da177e4SLinus Torvalds# 55163b799f9SYoichi Yuasa# TANBAC VR4131 multichip module(TB0225) and TANBAC VR4131DIMM(TB0229) (VR4131) 5521da177e4SLinus Torvalds# 55363b799f9SYoichi Yuasaload-$(CONFIG_TANBAC_TB022X) += 0xffffffff80000000 5541da177e4SLinus Torvalds 5551da177e4SLinus Torvalds# 5561da177e4SLinus Torvalds# SGI IP22 (Indy/Indigo2) 5571da177e4SLinus Torvalds# 5581da177e4SLinus Torvalds# Set the load address to >= 0xffffffff88069000 if you want to leave space for 5591da177e4SLinus Torvalds# symmon, 0xffffffff80002000 for production kernels. Note that the value must 5601da177e4SLinus Torvalds# be aligned to a multiple of the kernel stack size or the handling of the 5611da177e4SLinus Torvalds# current variable will break so for 64-bit kernels we have to raise the start 5621da177e4SLinus Torvalds# address by 8kb. 5631da177e4SLinus Torvalds# 5641da177e4SLinus Torvaldscore-$(CONFIG_SGI_IP22) += arch/mips/sgi-ip22/ 5651da177e4SLinus Torvaldscflags-$(CONFIG_SGI_IP22) += -Iinclude/asm-mips/mach-ip22 566875d43e7SRalf Baechleifdef CONFIG_32BIT 5671da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP22) += 0xffffffff88002000 5681da177e4SLinus Torvaldsendif 569875d43e7SRalf Baechleifdef CONFIG_64BIT 5701da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP22) += 0xffffffff88004000 5711da177e4SLinus Torvaldsendif 5721da177e4SLinus Torvalds 5731da177e4SLinus Torvalds# 5741da177e4SLinus Torvalds# SGI-IP27 (Origin200/2000) 5751da177e4SLinus Torvalds# 5761da177e4SLinus Torvalds# Set the load address to >= 0xc000000000300000 if you want to leave space for 5771da177e4SLinus Torvalds# symmon, 0xc00000000001c000 for production kernels. Note that the value must 5781da177e4SLinus Torvalds# be 16kb aligned or the handling of the current variable will break. 5791da177e4SLinus Torvalds# 5801da177e4SLinus Torvaldsifdef CONFIG_SGI_IP27 5811da177e4SLinus Torvaldscore-$(CONFIG_SGI_IP27) += arch/mips/sgi-ip27/ 5821da177e4SLinus Torvaldscflags-$(CONFIG_SGI_IP27) += -Iinclude/asm-mips/mach-ip27 5831da177e4SLinus Torvaldsifdef CONFIG_BUILD_ELF64 5841da177e4SLinus Torvaldsifdef CONFIG_MAPPED_KERNEL 5851da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP27) += 0xc00000004001c000 5861da177e4SLinus TorvaldsOBJCOPYFLAGS := --change-addresses=0x3fffffff80000000 5871da177e4SLinus Torvaldsdataoffset-$(CONFIG_SGI_IP27) += 0x01000000 5881da177e4SLinus Torvaldselse 5891da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP27) += 0xa80000000001c000 5901da177e4SLinus TorvaldsOBJCOPYFLAGS := --change-addresses=0x57ffffff80000000 5911da177e4SLinus Torvaldsendif 5921da177e4SLinus Torvaldselse 5931da177e4SLinus Torvaldsifdef CONFIG_MAPPED_KERNEL 5941da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP27) += 0xffffffffc001c000 5951da177e4SLinus TorvaldsOBJCOPYFLAGS := --change-addresses=0xc000000080000000 5961da177e4SLinus Torvaldsdataoffset-$(CONFIG_SGI_IP27) += 0x01000000 5971da177e4SLinus Torvaldselse 5981da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP27) += 0xffffffff8001c000 5991da177e4SLinus TorvaldsOBJCOPYFLAGS := --change-addresses=0xa800000080000000 6001da177e4SLinus Torvaldsendif 6011da177e4SLinus Torvaldsendif 6021da177e4SLinus Torvaldsendif 6031da177e4SLinus Torvalds 6041da177e4SLinus Torvalds# 6051da177e4SLinus Torvalds# SGI-IP32 (O2) 6061da177e4SLinus Torvalds# 6071da177e4SLinus Torvalds# Set the load address to >= 80069000 if you want to leave space for symmon, 6081da177e4SLinus Torvalds# 0xffffffff80004000 for production kernels. Note that the value must be aligned to 6091da177e4SLinus Torvalds# a multiple of the kernel stack size or the handling of the current variable 6101da177e4SLinus Torvalds# will break. 6111da177e4SLinus Torvalds# 6121da177e4SLinus Torvaldscore-$(CONFIG_SGI_IP32) += arch/mips/sgi-ip32/ 6131da177e4SLinus Torvaldscflags-$(CONFIG_SGI_IP32) += -Iinclude/asm-mips/mach-ip32 6141da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP32) += 0xffffffff80004000 6151da177e4SLinus Torvalds 6161da177e4SLinus Torvalds# 6171da177e4SLinus Torvalds# Sibyte SB1250 SOC 6181da177e4SLinus Torvalds# 6191da177e4SLinus Torvalds# This is a LIB so that it links at the end, and initcalls are later 6201da177e4SLinus Torvalds# the sequence; but it is built as an object so that modules don't get 6211da177e4SLinus Torvalds# removed (as happens, even if they have __initcall/module_init) 6221da177e4SLinus Torvalds# 6231da177e4SLinus Torvaldscore-$(CONFIG_SIBYTE_BCM112X) += arch/mips/sibyte/sb1250/ 6241da177e4SLinus Torvaldscflags-$(CONFIG_SIBYTE_BCM112X) += -Iinclude/asm-mips/mach-sibyte 6251da177e4SLinus Torvalds 6261da177e4SLinus Torvaldscore-$(CONFIG_SIBYTE_SB1250) += arch/mips/sibyte/sb1250/ 6271da177e4SLinus Torvaldscflags-$(CONFIG_SIBYTE_SB1250) += -Iinclude/asm-mips/mach-sibyte 6281da177e4SLinus Torvalds 6291da177e4SLinus Torvalds# 6301da177e4SLinus Torvalds# Sibyte BCM91120x (Carmel) board 6311da177e4SLinus Torvalds# Sibyte BCM91120C (CRhine) board 6321da177e4SLinus Torvalds# Sibyte BCM91125C (CRhone) board 6331da177e4SLinus Torvalds# Sibyte BCM91125E (Rhone) board 6341da177e4SLinus Torvalds# Sibyte SWARM board 6351da177e4SLinus Torvalds# 6361da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_CARMEL) += arch/mips/sibyte/swarm/ 6371da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_CARMEL) := 0xffffffff80100000 6381da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_CRHINE) += arch/mips/sibyte/swarm/ 6391da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_CRHINE) := 0xffffffff80100000 6401da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_CRHONE) += arch/mips/sibyte/swarm/ 6411da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_CRHONE) := 0xffffffff80100000 6421da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_RHONE) += arch/mips/sibyte/swarm/ 6431da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_RHONE) := 0xffffffff80100000 6441da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_SENTOSA) += arch/mips/sibyte/swarm/ 6451da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_SENTOSA) := 0xffffffff80100000 6461da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_SWARM) += arch/mips/sibyte/swarm/ 6471da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_SWARM) := 0xffffffff80100000 6481da177e4SLinus Torvalds 6491da177e4SLinus Torvalds# 6501da177e4SLinus Torvalds# SNI RM200 PCI 6511da177e4SLinus Torvalds# 6521da177e4SLinus Torvaldscore-$(CONFIG_SNI_RM200_PCI) += arch/mips/sni/ 6531da177e4SLinus Torvaldscflags-$(CONFIG_SNI_RM200_PCI) += -Iinclude/asm-mips/mach-rm200 6541da177e4SLinus Torvaldsload-$(CONFIG_SNI_RM200_PCI) += 0xffffffff80600000 6551da177e4SLinus Torvalds 6561da177e4SLinus Torvalds# 6571da177e4SLinus Torvalds# Toshiba JMR-TX3927 board 6581da177e4SLinus Torvalds# 6591da177e4SLinus Torvaldscore-$(CONFIG_TOSHIBA_JMR3927) += arch/mips/jmr3927/rbhma3100/ \ 6601da177e4SLinus Torvalds arch/mips/jmr3927/common/ 6611da177e4SLinus Torvaldsload-$(CONFIG_TOSHIBA_JMR3927) += 0xffffffff80050000 6621da177e4SLinus Torvalds 6631da177e4SLinus Torvalds# 6641da177e4SLinus Torvalds# Toshiba RBTX4927 board or 6651da177e4SLinus Torvalds# Toshiba RBTX4937 board 6661da177e4SLinus Torvalds# 6671da177e4SLinus Torvaldscore-$(CONFIG_TOSHIBA_RBTX4927) += arch/mips/tx4927/toshiba_rbtx4927/ 6681da177e4SLinus Torvaldscore-$(CONFIG_TOSHIBA_RBTX4927) += arch/mips/tx4927/common/ 6691da177e4SLinus Torvaldsload-$(CONFIG_TOSHIBA_RBTX4927) += 0xffffffff80020000 6701da177e4SLinus Torvalds 6711da177e4SLinus Torvaldscflags-y += -Iinclude/asm-mips/mach-generic 6721da177e4SLinus Torvaldsdrivers-$(CONFIG_PCI) += arch/mips/pci/ 6731da177e4SLinus Torvalds 674875d43e7SRalf Baechleifdef CONFIG_32BIT 6751da177e4SLinus Torvaldsifdef CONFIG_CPU_LITTLE_ENDIAN 6761da177e4SLinus TorvaldsJIFFIES = jiffies_64 6771da177e4SLinus Torvaldselse 6781da177e4SLinus TorvaldsJIFFIES = jiffies_64 + 4 6791da177e4SLinus Torvaldsendif 6801da177e4SLinus Torvaldselse 6811da177e4SLinus TorvaldsJIFFIES = jiffies_64 6821da177e4SLinus Torvaldsendif 6831da177e4SLinus Torvalds 6841da177e4SLinus TorvaldsAFLAGS += $(cflags-y) 6851da177e4SLinus TorvaldsCFLAGS += $(cflags-y) 6861da177e4SLinus Torvalds 6871da177e4SLinus TorvaldsLDFLAGS += -m $(ld-emul) 6881da177e4SLinus Torvalds 6891da177e4SLinus TorvaldsOBJCOPYFLAGS += --remove-section=.reginfo 6901da177e4SLinus Torvalds 6911da177e4SLinus Torvalds# 6921da177e4SLinus Torvalds# Choosing incompatible machines durings configuration will result in 6931da177e4SLinus Torvalds# error messages during linking. Select a default linkscript if 6941da177e4SLinus Torvalds# none has been choosen above. 6951da177e4SLinus Torvalds# 6961da177e4SLinus Torvalds 6971da177e4SLinus TorvaldsCPPFLAGS_vmlinux.lds := \ 6981da177e4SLinus Torvalds $(CFLAGS) \ 6991da177e4SLinus Torvalds -D"LOADADDR=$(load-y)" \ 7001da177e4SLinus Torvalds -D"JIFFIES=$(JIFFIES)" \ 7011da177e4SLinus Torvalds -D"DATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)" 7021da177e4SLinus Torvalds 7031da177e4SLinus Torvaldshead-y := arch/mips/kernel/head.o arch/mips/kernel/init_task.o 7041da177e4SLinus Torvalds 7051da177e4SLinus Torvaldslibs-y += arch/mips/lib/ 706875d43e7SRalf Baechlelibs-$(CONFIG_32BIT) += arch/mips/lib-32/ 707875d43e7SRalf Baechlelibs-$(CONFIG_64BIT) += arch/mips/lib-64/ 7081da177e4SLinus Torvalds 7091da177e4SLinus Torvaldscore-y += arch/mips/kernel/ arch/mips/mm/ arch/mips/math-emu/ 7101da177e4SLinus Torvalds 7111da177e4SLinus Torvaldsdrivers-$(CONFIG_OPROFILE) += arch/mips/oprofile/ 7121da177e4SLinus Torvalds 7131da177e4SLinus Torvaldsifdef CONFIG_LASAT 7141da177e4SLinus Torvaldsrom.bin rom.sw: vmlinux 7157c6b155fSSam Ravnborg $(Q)$(MAKE) $(build)=arch/mips/lasat/image $@ 7161da177e4SLinus Torvaldsendif 7171da177e4SLinus Torvalds 7181da177e4SLinus Torvalds# 7191da177e4SLinus Torvalds# Some machines like the Indy need 32-bit ELF binaries for booting purposes. 7201da177e4SLinus Torvalds# Other need ECOFF, so we build a 32-bit ELF binary for them which we then 7211da177e4SLinus Torvalds# convert to ECOFF using elf2ecoff. 7221da177e4SLinus Torvalds# 7231da177e4SLinus Torvaldsvmlinux.32: vmlinux 7241da177e4SLinus Torvalds $(OBJCOPY) -O $(32bit-bfd) $(OBJCOPYFLAGS) $< $@ 7251da177e4SLinus Torvalds 7261da177e4SLinus Torvalds# 7271da177e4SLinus Torvalds# The 64-bit ELF tools are pretty broken so at this time we generate 64-bit 7281da177e4SLinus Torvalds# ELF files from 32-bit files by conversion. 7291da177e4SLinus Torvalds# 7301da177e4SLinus Torvaldsvmlinux.64: vmlinux 7311da177e4SLinus Torvalds $(OBJCOPY) -O $(64bit-bfd) $(OBJCOPYFLAGS) $< $@ 7321da177e4SLinus Torvalds 7331da177e4SLinus Torvaldsmakeboot =$(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) $(1) 7341da177e4SLinus Torvalds 7351da177e4SLinus Torvaldsifdef CONFIG_BOOT_ELF32 7361da177e4SLinus Torvaldsall: $(vmlinux-32) 7371da177e4SLinus Torvaldsendif 7381da177e4SLinus Torvalds 7391da177e4SLinus Torvaldsifdef CONFIG_BOOT_ELF64 7401da177e4SLinus Torvaldsall: $(vmlinux-64) 7411da177e4SLinus Torvaldsendif 7421da177e4SLinus Torvalds 743149f60b3SRalf Baechleifdef CONFIG_MIPS_ATLAS 744149f60b3SRalf Baechleall: vmlinux.srec 745149f60b3SRalf Baechleendif 746149f60b3SRalf Baechle 747149f60b3SRalf Baechleifdef CONFIG_MIPS_MALTA 748149f60b3SRalf Baechleall: vmlinux.srec 749149f60b3SRalf Baechleendif 750149f60b3SRalf Baechle 751149f60b3SRalf Baechleifdef CONFIG_MIPS_SEAD 752149f60b3SRalf Baechleall: vmlinux.srec 753149f60b3SRalf Baechleendif 754149f60b3SRalf Baechle 7551da177e4SLinus Torvaldsifdef CONFIG_SNI_RM200_PCI 7561da177e4SLinus Torvaldsall: vmlinux.ecoff 7571da177e4SLinus Torvaldsendif 7581da177e4SLinus Torvalds 7591da177e4SLinus Torvaldsvmlinux.ecoff vmlinux.rm200: $(vmlinux-32) 7601da177e4SLinus Torvalds +@$(call makeboot,$@) 7611da177e4SLinus Torvalds 7621da177e4SLinus Torvaldsvmlinux.srec: $(vmlinux-32) 7631da177e4SLinus Torvalds +@$(call makeboot,$@) 7641da177e4SLinus Torvalds 7651da177e4SLinus TorvaldsCLEAN_FILES += vmlinux.ecoff \ 7661da177e4SLinus Torvalds vmlinux.srec \ 7671da177e4SLinus Torvalds vmlinux.rm200.tmp \ 7681da177e4SLinus Torvalds vmlinux.rm200 7691da177e4SLinus Torvalds 7701da177e4SLinus Torvaldsarchclean: 7711da177e4SLinus Torvalds @$(MAKE) $(clean)=arch/mips/boot 7721da177e4SLinus Torvalds @$(MAKE) $(clean)=arch/mips/lasat 7731da177e4SLinus Torvalds 7741da177e4SLinus Torvalds 775048eb582SSam RavnborgCLEAN_FILES += vmlinux.32 \ 7761da177e4SLinus Torvalds vmlinux.64 \ 7771da177e4SLinus Torvalds vmlinux.ecoff 778