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 401da177e4SLinus Torvaldsifdef CONFIG_MIPS32 411da177e4SLinus Torvaldsgcc-abi = 32 421da177e4SLinus Torvaldstool-prefix = $(32bit-tool-prefix) 431da177e4SLinus TorvaldsUTS_MACHINE := mips 441da177e4SLinus Torvaldsendif 451da177e4SLinus Torvaldsifdef CONFIG_MIPS64 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 551da177e4SLinus Torvaldsifdef CONFIG_BUILD_ELF64 561da177e4SLinus Torvaldsgas-abi = 64 571da177e4SLinus Torvaldsld-emul = $(64bit-emul) 581da177e4SLinus Torvaldsvmlinux-32 = vmlinux.32 591da177e4SLinus Torvaldsvmlinux-64 = vmlinux 601da177e4SLinus Torvaldselse 611da177e4SLinus Torvaldsgas-abi = 32 621da177e4SLinus Torvaldsld-emul = $(32bit-emul) 631da177e4SLinus Torvaldsvmlinux-32 = vmlinux 641da177e4SLinus Torvaldsvmlinux-64 = vmlinux.64 651da177e4SLinus Torvalds 661da177e4SLinus Torvaldscflags-$(CONFIG_MIPS64) += $(call cc-option,-mno-explicit-relocs) 671da177e4SLinus Torvaldsendif 681da177e4SLinus Torvalds 691da177e4SLinus Torvalds# 701da177e4SLinus Torvalds# GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel 711da177e4SLinus Torvalds# code since it only slows down the whole thing. At some point we might make 721da177e4SLinus Torvalds# use of global pointer optimizations but their use of $28 conflicts with 731da177e4SLinus Torvalds# the current pointer optimization. 741da177e4SLinus Torvalds# 751da177e4SLinus Torvalds# The DECStation requires an ECOFF kernel for remote booting, other MIPS 761da177e4SLinus Torvalds# machines may also. Since BFD is incredibly buggy with respect to 771da177e4SLinus Torvalds# crossformat linking we rely on the elf2ecoff tool for format conversion. 781da177e4SLinus Torvalds# 791da177e4SLinus Torvaldscflags-y += -I $(TOPDIR)/include/asm/gcc 801da177e4SLinus Torvaldscflags-y += -G 0 -mno-abicalls -fno-pic -pipe 811da177e4SLinus Torvaldscflags-y += $(call cc-option, -finline-limit=100000) 821da177e4SLinus TorvaldsLDFLAGS_vmlinux += -G 0 -static -n 831da177e4SLinus TorvaldsMODFLAGS += -mlong-calls 841da177e4SLinus Torvalds 851da177e4SLinus Torvaldscflags-$(CONFIG_SB1XXX_CORELIS) += -mno-sched-prolog -fno-omit-frame-pointer 861da177e4SLinus Torvalds 871da177e4SLinus Torvalds# 881da177e4SLinus Torvalds# Use: $(call set_gccflags,<cpu0>,<isa0>,<cpu1>,<isa1>,<isa2>) 891da177e4SLinus Torvalds# 901da177e4SLinus Torvalds# <cpu0>,<isa0> -- preferred CPU and ISA designations (may require 911da177e4SLinus Torvalds# recent tools) 921da177e4SLinus Torvalds# <cpu1>,<isa1> -- fallback CPU and ISA designations (have to work 931da177e4SLinus Torvalds# with up to the oldest supported tools) 941da177e4SLinus Torvalds# <isa2> -- an ISA designation used as an ABI selector for 951da177e4SLinus Torvalds# gcc versions that do not support "-mabi=32" 961da177e4SLinus Torvalds# (depending on the CPU type, either "mips1" or 971da177e4SLinus Torvalds# "mips2") 981da177e4SLinus Torvalds# 991da177e4SLinus Torvaldsset_gccflags = $(shell \ 1001da177e4SLinus Torvaldswhile :; do \ 1011da177e4SLinus Torvalds cpu=$(1); isa=-$(2); \ 1021da177e4SLinus Torvalds for gcc_opt in -march= -mcpu=; do \ 1031da177e4SLinus Torvalds $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \ 1041da177e4SLinus Torvalds -xc /dev/null > /dev/null 2>&1 && \ 1051da177e4SLinus Torvalds break 2; \ 1061da177e4SLinus Torvalds done; \ 1071da177e4SLinus Torvalds cpu=$(3); isa=-$(4); \ 1081da177e4SLinus Torvalds for gcc_opt in -march= -mcpu=; do \ 1091da177e4SLinus Torvalds $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \ 1101da177e4SLinus Torvalds -xc /dev/null > /dev/null 2>&1 && \ 1111da177e4SLinus Torvalds break 2; \ 1121da177e4SLinus Torvalds done; \ 1131da177e4SLinus Torvalds break; \ 1141da177e4SLinus Torvaldsdone; \ 1151da177e4SLinus Torvaldsgcc_abi=-mabi=$(gcc-abi); gcc_cpu=$$cpu; \ 1161da177e4SLinus Torvaldsif $(CC) $$gcc_abi -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then \ 1171da177e4SLinus Torvalds gcc_isa=$$isa; \ 1181da177e4SLinus Torvaldselse \ 1191da177e4SLinus Torvalds gcc_abi=; gcc_isa=-$(5); \ 1201da177e4SLinus Torvaldsfi; \ 1211da177e4SLinus Torvaldsgas_abi=-Wa,-$(gcc-abi); gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \ 1221da177e4SLinus Torvaldswhile :; do \ 1231da177e4SLinus Torvalds for gas_opt in -Wa,-march= -Wa,-mcpu=; do \ 1241da177e4SLinus Torvalds $(CC) $$gas_abi $$gas_opt$$cpu $$gas_isa -Wa,-Z -c \ 1251da177e4SLinus Torvalds -o /dev/null -xassembler /dev/null > /dev/null 2>&1 && \ 1261da177e4SLinus Torvalds break 2; \ 1271da177e4SLinus Torvalds done; \ 1281da177e4SLinus Torvalds gas_abi=; gas_opt=; gas_cpu=; gas_isa=; \ 1291da177e4SLinus Torvalds break; \ 1301da177e4SLinus Torvaldsdone; \ 1311da177e4SLinus Torvaldsif test "$(gcc-abi)" != "$(gas-abi)"; then \ 1321da177e4SLinus Torvalds gas_abi="-Wa,-$(gas-abi) -Wa,-mgp$(gcc-abi)"; \ 1331da177e4SLinus Torvaldsfi; \ 1341da177e4SLinus Torvaldsif test "$$gcc_opt" = -march= && test -n "$$gcc_abi"; then \ 1351da177e4SLinus Torvalds $(CC) $$gcc_abi $$gcc_opt$$gcc_cpu -S -o /dev/null \ 1361da177e4SLinus Torvalds -xc /dev/null > /dev/null 2>&1 && \ 1371da177e4SLinus Torvalds gcc_isa=; \ 1381da177e4SLinus Torvaldsfi; \ 1391da177e4SLinus Torvaldsecho $$gcc_abi $$gcc_opt$$gcc_cpu $$gcc_isa $$gas_abi $$gas_opt$$gas_cpu $$gas_isa) 1401da177e4SLinus Torvalds 1411da177e4SLinus Torvalds# 1421da177e4SLinus Torvalds# CPU-dependent compiler/assembler options for optimization. 1431da177e4SLinus Torvalds# 1441da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R3000) += \ 1451da177e4SLinus Torvalds $(call set_gccflags,r3000,mips1,r3000,mips1,mips1) 1461da177e4SLinus Torvalds 1471da177e4SLinus Torvaldscflags-$(CONFIG_CPU_TX39XX) += \ 1481da177e4SLinus Torvalds $(call set_gccflags,r3900,mips1,r3000,mips1,mips1) 1491da177e4SLinus Torvalds 1501da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R6000) += \ 1511da177e4SLinus Torvalds $(call set_gccflags,r6000,mips2,r6000,mips2,mips2) \ 1521da177e4SLinus Torvalds -Wa,--trap 1531da177e4SLinus Torvalds 1541da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R4300) += \ 1551da177e4SLinus Torvalds $(call set_gccflags,r4300,mips3,r4300,mips3,mips2) \ 1561da177e4SLinus Torvalds -Wa,--trap 1571da177e4SLinus Torvalds 1581da177e4SLinus Torvaldscflags-$(CONFIG_CPU_VR41XX) += \ 1591da177e4SLinus Torvalds $(call set_gccflags,r4100,mips3,r4600,mips3,mips2) \ 1601da177e4SLinus Torvalds -Wa,--trap 1611da177e4SLinus Torvalds 1621da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R4X00) += \ 1631da177e4SLinus Torvalds $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \ 1641da177e4SLinus Torvalds -Wa,--trap 1651da177e4SLinus Torvalds 1661da177e4SLinus Torvaldscflags-$(CONFIG_CPU_TX49XX) += \ 1671da177e4SLinus Torvalds $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \ 1681da177e4SLinus Torvalds -Wa,--trap 1691da177e4SLinus Torvalds 1701da177e4SLinus Torvaldscflags-$(CONFIG_CPU_MIPS32) += \ 1711da177e4SLinus Torvalds $(call set_gccflags,mips32,mips32,r4600,mips3,mips2) \ 1721da177e4SLinus Torvalds -Wa,--trap 1731da177e4SLinus Torvalds 1741da177e4SLinus Torvaldscflags-$(CONFIG_CPU_MIPS64) += \ 1751da177e4SLinus Torvalds $(call set_gccflags,mips64,mips64,r4600,mips3,mips2) \ 1761da177e4SLinus Torvalds -Wa,--trap 1771da177e4SLinus Torvalds 1781da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R5000) += \ 1791da177e4SLinus Torvalds $(call set_gccflags,r5000,mips4,r5000,mips4,mips2) \ 1801da177e4SLinus Torvalds -Wa,--trap 1811da177e4SLinus Torvalds 1821da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R5432) += \ 1831da177e4SLinus Torvalds $(call set_gccflags,r5400,mips4,r5000,mips4,mips2) \ 1841da177e4SLinus Torvalds -Wa,--trap 1851da177e4SLinus Torvalds 1861da177e4SLinus Torvaldscflags-$(CONFIG_CPU_NEVADA) += \ 1871da177e4SLinus Torvalds $(call set_gccflags,rm5200,mips4,r5000,mips4,mips2) \ 1881da177e4SLinus Torvalds -Wa,--trap 1891da177e4SLinus Torvalds# $(call cc-option,-mmad) 1901da177e4SLinus Torvalds 1911da177e4SLinus Torvaldscflags-$(CONFIG_CPU_RM7000) += \ 1921da177e4SLinus Torvalds $(call set_gccflags,rm7000,mips4,r5000,mips4,mips2) \ 1931da177e4SLinus Torvalds -Wa,--trap 1941da177e4SLinus Torvalds 1951da177e4SLinus Torvaldscflags-$(CONFIG_CPU_RM9000) += \ 1961da177e4SLinus Torvalds $(call set_gccflags,rm9000,mips4,r5000,mips4,mips2) \ 1971da177e4SLinus Torvalds -Wa,--trap 1981da177e4SLinus Torvalds 1991da177e4SLinus Torvaldscflags-$(CONFIG_CPU_SB1) += \ 2001da177e4SLinus Torvalds $(call set_gccflags,sb1,mips64,r5000,mips4,mips2) \ 2011da177e4SLinus Torvalds -Wa,--trap 2021da177e4SLinus Torvalds 2031da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R8000) += \ 2041da177e4SLinus Torvalds $(call set_gccflags,r8000,mips4,r8000,mips4,mips2) \ 2051da177e4SLinus Torvalds -Wa,--trap 2061da177e4SLinus Torvalds 2071da177e4SLinus Torvaldscflags-$(CONFIG_CPU_R10000) += \ 2081da177e4SLinus Torvalds $(call set_gccflags,r10000,mips4,r8000,mips4,mips2) \ 2091da177e4SLinus Torvalds -Wa,--trap 2101da177e4SLinus Torvalds 2111da177e4SLinus Torvaldsifdef CONFIG_CPU_SB1 2121da177e4SLinus Torvaldsifdef CONFIG_SB1_PASS_1_WORKAROUNDS 2131da177e4SLinus TorvaldsMODFLAGS += -msb1-pass1-workarounds 2141da177e4SLinus Torvaldsendif 2151da177e4SLinus Torvaldsendif 2161da177e4SLinus Torvalds 2171da177e4SLinus Torvalds# 2181da177e4SLinus Torvalds# Firmware support 2191da177e4SLinus Torvalds# 2201da177e4SLinus Torvaldslibs-$(CONFIG_ARC) += arch/mips/arc/ 2211da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_CFE) += arch/mips/sibyte/cfe/ 2221da177e4SLinus Torvalds 2231da177e4SLinus Torvalds# 2241da177e4SLinus Torvalds# Board-dependent options and extra files 2251da177e4SLinus Torvalds# 2261da177e4SLinus Torvalds 2271da177e4SLinus Torvalds# 2281da177e4SLinus Torvalds# Acer PICA 61, Mips Magnum 4000 and Olivetti M700. 2291da177e4SLinus Torvalds# 2301da177e4SLinus Torvaldscore-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/ 2311da177e4SLinus Torvaldscflags-$(CONFIG_MACH_JAZZ) += -Iinclude/asm-mips/mach-jazz 2321da177e4SLinus Torvaldsload-$(CONFIG_MACH_JAZZ) += 0xffffffff80080000 2331da177e4SLinus Torvalds 2341da177e4SLinus Torvalds# 2351da177e4SLinus Torvalds# Common Alchemy Au1x00 stuff 2361da177e4SLinus Torvalds# 2371da177e4SLinus Torvaldscore-$(CONFIG_SOC_AU1X00) += arch/mips/au1000/common/ 2381da177e4SLinus Torvaldscflags-$(CONFIG_SOC_AU1X00) += -Iinclude/asm-mips/mach-au1x00 2391da177e4SLinus Torvalds 2401da177e4SLinus Torvalds# 2411da177e4SLinus Torvalds# AMD Alchemy Pb1000 eval board 2421da177e4SLinus Torvalds# 2431da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_PB1000) += arch/mips/au1000/pb1000/ 2441da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_PB1000) += -Iinclude/asm-mips/mach-pb1x00 2451da177e4SLinus Torvaldsload-$(CONFIG_MIPS_PB1000) += 0xffffffff80100000 2461da177e4SLinus Torvalds 2471da177e4SLinus Torvalds# 2481da177e4SLinus Torvalds# AMD Alchemy Pb1100 eval board 2491da177e4SLinus Torvalds# 2501da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_PB1100) += arch/mips/au1000/pb1100/ 2511da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_PB1100) += -Iinclude/asm-mips/mach-pb1x00 2521da177e4SLinus Torvaldsload-$(CONFIG_MIPS_PB1100) += 0xffffffff80100000 2531da177e4SLinus Torvalds 2541da177e4SLinus Torvalds# 2551da177e4SLinus Torvalds# AMD Alchemy Pb1500 eval board 2561da177e4SLinus Torvalds# 2571da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_PB1500) += arch/mips/au1000/pb1500/ 2581da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_PB1500) += -Iinclude/asm-mips/mach-pb1x00 2591da177e4SLinus Torvaldsload-$(CONFIG_MIPS_PB1500) += 0xffffffff80100000 2601da177e4SLinus Torvalds 2611da177e4SLinus Torvalds# 2621da177e4SLinus Torvalds# AMD Alchemy Pb1550 eval board 2631da177e4SLinus Torvalds# 2641da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_PB1550) += arch/mips/au1000/pb1550/ 2651da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_PB1550) += -Iinclude/asm-mips/mach-pb1x00 2661da177e4SLinus Torvaldsload-$(CONFIG_MIPS_PB1550) += 0xffffffff80100000 2671da177e4SLinus Torvalds 2681da177e4SLinus Torvalds# 2691da177e4SLinus Torvalds# AMD Alchemy Db1000 eval board 2701da177e4SLinus Torvalds# 2711da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_DB1000) += arch/mips/au1000/db1x00/ 2721da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_DB1000) += -Iinclude/asm-mips/mach-db1x00 2731da177e4SLinus Torvaldsload-$(CONFIG_MIPS_DB1000) += 0xffffffff80100000 2741da177e4SLinus Torvalds 2751da177e4SLinus Torvalds# 2761da177e4SLinus Torvalds# AMD Alchemy Db1100 eval board 2771da177e4SLinus Torvalds# 2781da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_DB1100) += arch/mips/au1000/db1x00/ 2791da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_DB1100) += -Iinclude/asm-mips/mach-db1x00 2801da177e4SLinus Torvaldsload-$(CONFIG_MIPS_DB1100) += 0xffffffff80100000 2811da177e4SLinus Torvalds 2821da177e4SLinus Torvalds# 2831da177e4SLinus Torvalds# AMD Alchemy Db1500 eval board 2841da177e4SLinus Torvalds# 2851da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_DB1500) += arch/mips/au1000/db1x00/ 2861da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_DB1500) += -Iinclude/asm-mips/mach-db1x00 2871da177e4SLinus Torvaldsload-$(CONFIG_MIPS_DB1500) += 0xffffffff80100000 2881da177e4SLinus Torvalds 2891da177e4SLinus Torvalds# 2901da177e4SLinus Torvalds# AMD Alchemy Db1550 eval board 2911da177e4SLinus Torvalds# 2921da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_DB1550) += arch/mips/au1000/db1x00/ 2931da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_DB1550) += -Iinclude/asm-mips/mach-db1x00 2941da177e4SLinus Torvaldsload-$(CONFIG_MIPS_DB1550) += 0xffffffff80100000 2951da177e4SLinus Torvalds 2961da177e4SLinus Torvalds# 2971da177e4SLinus Torvalds# AMD Alchemy Bosporus eval board 2981da177e4SLinus Torvalds# 2991da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_BOSPORUS) += arch/mips/au1000/db1x00/ 3001da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_BOSPORUS) += -Iinclude/asm-mips/mach-db1x00 3011da177e4SLinus Torvaldsload-$(CONFIG_MIPS_BOSPORUS) += 0xffffffff80100000 3021da177e4SLinus Torvalds 3031da177e4SLinus Torvalds# 3041da177e4SLinus Torvalds# AMD Alchemy Mirage eval board 3051da177e4SLinus Torvalds# 3061da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_MIRAGE) += arch/mips/au1000/db1x00/ 3071da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_MIRAGE) += -Iinclude/asm-mips/mach-db1x00 3081da177e4SLinus Torvaldsload-$(CONFIG_MIPS_MIRAGE) += 0xffffffff80100000 3091da177e4SLinus Torvalds 3101da177e4SLinus Torvalds# 3111da177e4SLinus Torvalds# 4G-Systems eval board 3121da177e4SLinus Torvalds# 3131da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_MTX1) += arch/mips/au1000/mtx-1/ 3141da177e4SLinus Torvaldsload-$(CONFIG_MIPS_MTX1) += 0xffffffff80100000 3151da177e4SLinus Torvalds 3161da177e4SLinus Torvalds# 3171da177e4SLinus Torvalds# MyCable eval board 3181da177e4SLinus Torvalds# 3191da177e4SLinus Torvaldslibs-$(CONFIG_MIPS_XXS1500) += arch/mips/au1000/xxs1500/ 3201da177e4SLinus Torvaldsload-$(CONFIG_MIPS_XXS1500) += 0xffffffff80100000 3211da177e4SLinus Torvalds 3221da177e4SLinus Torvalds# 3231da177e4SLinus Torvalds# Cobalt Server 3241da177e4SLinus Torvalds# 3251da177e4SLinus Torvaldscore-$(CONFIG_MIPS_COBALT) += arch/mips/cobalt/ 3261da177e4SLinus Torvaldsload-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000 3271da177e4SLinus Torvalds 3281da177e4SLinus Torvalds# 3291da177e4SLinus Torvalds# DECstation family 3301da177e4SLinus Torvalds# 3311da177e4SLinus Torvaldscore-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/ 3321da177e4SLinus Torvaldscflags-$(CONFIG_MACH_DECSTATION)+= -Iinclude/asm-mips/mach-dec 3331da177e4SLinus Torvaldslibs-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/prom/ 3341da177e4SLinus Torvaldsload-$(CONFIG_MACH_DECSTATION) += 0xffffffff80040000 3351da177e4SLinus TorvaldsCLEAN_FILES += drivers/tc/lk201-map.c 3361da177e4SLinus Torvalds 3371da177e4SLinus Torvalds# 3381da177e4SLinus Torvalds# Galileo EV64120 Board 3391da177e4SLinus Torvalds# 3401da177e4SLinus Torvaldscore-$(CONFIG_MIPS_EV64120) += arch/mips/gt64120/ev64120/ 3411da177e4SLinus Torvaldscore-$(CONFIG_MIPS_EV64120) += arch/mips/gt64120/common/ 3421da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_EV64120) += -Iinclude/asm-mips/mach-ev64120 3431da177e4SLinus Torvaldsload-$(CONFIG_MIPS_EV64120) += 0xffffffff80100000 3441da177e4SLinus Torvalds 3451da177e4SLinus Torvalds# 3461da177e4SLinus Torvalds# Galileo EV96100 Board 3471da177e4SLinus Torvalds# 3481da177e4SLinus Torvaldscore-$(CONFIG_MIPS_EV96100) += arch/mips/galileo-boards/ev96100/ 3491da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_EV96100) += -Iinclude/asm-mips/mach-ev96100 3501da177e4SLinus Torvaldsload-$(CONFIG_MIPS_EV96100) += 0xffffffff80100000 3511da177e4SLinus Torvalds 3521da177e4SLinus Torvalds# 3531da177e4SLinus Torvalds# Globespan IVR eval board with QED 5231 CPU 3541da177e4SLinus Torvalds# 3551da177e4SLinus Torvaldscore-$(CONFIG_ITE_BOARD_GEN) += arch/mips/ite-boards/generic/ 3561da177e4SLinus Torvaldscore-$(CONFIG_MIPS_IVR) += arch/mips/ite-boards/ivr/ 3571da177e4SLinus Torvaldsload-$(CONFIG_MIPS_IVR) += 0xffffffff80100000 3581da177e4SLinus Torvalds 3591da177e4SLinus Torvalds# 3601da177e4SLinus Torvalds# ITE 8172 eval board with QED 5231 CPU 3611da177e4SLinus Torvalds# 3621da177e4SLinus Torvaldscore-$(CONFIG_MIPS_ITE8172) += arch/mips/ite-boards/qed-4n-s01b/ 3631da177e4SLinus Torvaldsload-$(CONFIG_MIPS_ITE8172) += 0xffffffff80100000 3641da177e4SLinus Torvalds 3651da177e4SLinus Torvalds# 3661da177e4SLinus Torvalds# For all MIPS, Inc. eval boards 3671da177e4SLinus Torvalds# 3681da177e4SLinus Torvaldscore-$(CONFIG_MIPS_BOARDS_GEN) += arch/mips/mips-boards/generic/ 3691da177e4SLinus Torvalds 3701da177e4SLinus Torvalds# 3711da177e4SLinus Torvalds# MIPS Atlas board 3721da177e4SLinus Torvalds# 3731da177e4SLinus Torvaldscore-$(CONFIG_MIPS_ATLAS) += arch/mips/mips-boards/atlas/ 3741da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_ATLAS) += -Iinclude/asm-mips/mach-atlas 3751da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_ATLAS) += -Iinclude/asm-mips/mach-mips 3761da177e4SLinus Torvaldsload-$(CONFIG_MIPS_ATLAS) += 0xffffffff80100000 3771da177e4SLinus Torvalds 3781da177e4SLinus Torvalds# 3791da177e4SLinus Torvalds# MIPS Malta board 3801da177e4SLinus Torvalds# 3811da177e4SLinus Torvaldscore-$(CONFIG_MIPS_MALTA) += arch/mips/mips-boards/malta/ 3821da177e4SLinus Torvaldscflags-$(CONFIG_MIPS_MALTA) += -Iinclude/asm-mips/mach-mips 3831da177e4SLinus Torvaldsload-$(CONFIG_MIPS_MALTA) += 0xffffffff80100000 3841da177e4SLinus Torvalds 3851da177e4SLinus Torvalds# 3861da177e4SLinus Torvalds# MIPS SEAD board 3871da177e4SLinus Torvalds# 3881da177e4SLinus Torvaldscore-$(CONFIG_MIPS_SEAD) += arch/mips/mips-boards/sead/ 3891da177e4SLinus Torvaldsload-$(CONFIG_MIPS_SEAD) += 0xffffffff80100000 3901da177e4SLinus Torvalds 3911da177e4SLinus Torvalds# 3921da177e4SLinus Torvalds# Momentum Ocelot board 3931da177e4SLinus Torvalds# 3941da177e4SLinus Torvalds# The Ocelot setup.o must be linked early - it does the ioremap() for the 3951da177e4SLinus Torvalds# mips_io_port_base. 3961da177e4SLinus Torvalds# 3971da177e4SLinus Torvaldscore-$(CONFIG_MOMENCO_OCELOT) += arch/mips/gt64120/common/ \ 3981da177e4SLinus Torvalds arch/mips/gt64120/momenco_ocelot/ 3991da177e4SLinus Torvaldscflags-$(CONFIG_MOMENCO_OCELOT) += -Iinclude/asm-mips/mach-ocelot 4001da177e4SLinus Torvaldsload-$(CONFIG_MOMENCO_OCELOT) += 0xffffffff80100000 4011da177e4SLinus Torvalds 4021da177e4SLinus Torvalds# 4031da177e4SLinus Torvalds# Momentum Ocelot-G board 4041da177e4SLinus Torvalds# 4051da177e4SLinus Torvalds# The Ocelot-G setup.o must be linked early - it does the ioremap() for the 4061da177e4SLinus Torvalds# mips_io_port_base. 4071da177e4SLinus Torvalds# 4081da177e4SLinus Torvaldscore-$(CONFIG_MOMENCO_OCELOT_G) += arch/mips/momentum/ocelot_g/ 4091da177e4SLinus Torvaldsload-$(CONFIG_MOMENCO_OCELOT_G) += 0xffffffff80100000 4101da177e4SLinus Torvalds 4111da177e4SLinus Torvalds# 4121da177e4SLinus Torvalds# Momentum Ocelot-C and -CS boards 4131da177e4SLinus Torvalds# 4141da177e4SLinus Torvalds# The Ocelot-C[S] setup.o must be linked early - it does the ioremap() for the 4151da177e4SLinus Torvalds# mips_io_port_base. 4161da177e4SLinus Torvaldscore-$(CONFIG_MOMENCO_OCELOT_C) += arch/mips/momentum/ocelot_c/ 4171da177e4SLinus Torvaldsload-$(CONFIG_MOMENCO_OCELOT_C) += 0xffffffff80100000 4181da177e4SLinus Torvalds 4191da177e4SLinus Torvalds# 4201da177e4SLinus Torvalds# PMC-Sierra Yosemite 4211da177e4SLinus Torvalds# 4221da177e4SLinus Torvaldscore-$(CONFIG_PMC_YOSEMITE) += arch/mips/pmc-sierra/yosemite/ 4231da177e4SLinus Torvaldscflags-$(CONFIG_PMC_YOSEMITE) += -Iinclude/asm-mips/mach-yosemite 4241da177e4SLinus Torvaldsload-$(CONFIG_PMC_YOSEMITE) += 0xffffffff80100000 4251da177e4SLinus Torvalds 4261da177e4SLinus Torvalds# 4271da177e4SLinus Torvalds# Momentum Ocelot-3 4281da177e4SLinus Torvalds# 4291da177e4SLinus Torvaldscore-$(CONFIG_MOMENCO_OCELOT_3) += arch/mips/momentum/ocelot_3/ 4301da177e4SLinus Torvaldscflags-$(CONFIG_MOMENCO_OCELOT_3) += -Iinclude/asm-mips/mach-ocelot3 4311da177e4SLinus Torvaldsload-$(CONFIG_MOMENCO_OCELOT_3) += 0xffffffff80100000 4321da177e4SLinus Torvalds 4331da177e4SLinus Torvalds# 4341da177e4SLinus Torvalds# Momentum Jaguar ATX 4351da177e4SLinus Torvalds# 4361da177e4SLinus Torvaldscore-$(CONFIG_MOMENCO_JAGUAR_ATX) += arch/mips/momentum/jaguar_atx/ 4371da177e4SLinus Torvaldscflags-$(CONFIG_MOMENCO_JAGUAR_ATX) += -Iinclude/asm-mips/mach-ja 4381da177e4SLinus Torvalds#ifdef CONFIG_JAGUAR_DMALOW 4391da177e4SLinus Torvalds#load-$(CONFIG_MOMENCO_JAGUAR_ATX) += 0xffffffff88000000 4401da177e4SLinus Torvalds#else 4411da177e4SLinus Torvaldsload-$(CONFIG_MOMENCO_JAGUAR_ATX) += 0xffffffff80100000 4421da177e4SLinus Torvalds#endif 4431da177e4SLinus Torvalds 4441da177e4SLinus Torvalds# 4451da177e4SLinus Torvalds# NEC DDB 4461da177e4SLinus Torvalds# 4471da177e4SLinus Torvaldscore-$(CONFIG_DDB5XXX_COMMON) += arch/mips/ddb5xxx/common/ 4481da177e4SLinus Torvalds 4491da177e4SLinus Torvalds# 4501da177e4SLinus Torvalds# NEC DDB Vrc-5074 4511da177e4SLinus Torvalds# 4521da177e4SLinus Torvaldscore-$(CONFIG_DDB5074) += arch/mips/ddb5xxx/ddb5074/ 4531da177e4SLinus Torvaldsload-$(CONFIG_DDB5074) += 0xffffffff80080000 4541da177e4SLinus Torvalds 4551da177e4SLinus Torvalds# 4561da177e4SLinus Torvalds# NEC DDB Vrc-5476 4571da177e4SLinus Torvalds# 4581da177e4SLinus Torvaldscore-$(CONFIG_DDB5476) += arch/mips/ddb5xxx/ddb5476/ 4591da177e4SLinus Torvaldsload-$(CONFIG_DDB5476) += 0xffffffff80080000 4601da177e4SLinus Torvalds 4611da177e4SLinus Torvalds# 4621da177e4SLinus Torvalds# NEC DDB Vrc-5477 4631da177e4SLinus Torvalds# 4641da177e4SLinus Torvaldscore-$(CONFIG_DDB5477) += arch/mips/ddb5xxx/ddb5477/ 4651da177e4SLinus Torvaldsload-$(CONFIG_DDB5477) += 0xffffffff80100000 4661da177e4SLinus Torvalds 4671da177e4SLinus Torvaldscore-$(CONFIG_LASAT) += arch/mips/lasat/ 4681da177e4SLinus Torvaldscflags-$(CONFIG_LASAT) += -Iinclude/asm-mips/mach-lasat 4691da177e4SLinus Torvaldsload-$(CONFIG_LASAT) += 0xffffffff80000000 4701da177e4SLinus Torvalds 4711da177e4SLinus Torvalds# 4721da177e4SLinus Torvalds# NEC Osprey (vr4181) board 4731da177e4SLinus Torvalds# 4741da177e4SLinus Torvaldscore-$(CONFIG_NEC_OSPREY) += arch/mips/vr4181/common/ \ 4751da177e4SLinus Torvalds arch/mips/vr4181/osprey/ 4761da177e4SLinus Torvaldsload-$(CONFIG_NEC_OSPREY) += 0xffffffff80002000 4771da177e4SLinus Torvalds 4781da177e4SLinus Torvalds# 4791da177e4SLinus Torvalds# Common VR41xx 4801da177e4SLinus Torvalds# 4811da177e4SLinus Torvaldscore-$(CONFIG_MACH_VR41XX) += arch/mips/vr41xx/common/ 4821da177e4SLinus Torvaldscflags-$(CONFIG_MACH_VR41XX) += -Iinclude/asm-mips/mach-vr41xx 4831da177e4SLinus Torvalds 4841da177e4SLinus Torvalds# 4851da177e4SLinus Torvalds# NEC VR4133 4861da177e4SLinus Torvalds# 4871da177e4SLinus Torvaldscore-$(CONFIG_NEC_CMBVR4133) += arch/mips/vr41xx/nec-cmbvr4133/ 4881da177e4SLinus Torvaldsload-$(CONFIG_NEC_CMBVR4133) += 0xffffffff80100000 4891da177e4SLinus Torvalds 4901da177e4SLinus Torvalds# 4911da177e4SLinus Torvalds# ZAO Networks Capcella (VR4131) 4921da177e4SLinus Torvalds# 4931da177e4SLinus Torvaldscore-$(CONFIG_ZAO_CAPCELLA) += arch/mips/vr41xx/zao-capcella/ 4941da177e4SLinus Torvaldsload-$(CONFIG_ZAO_CAPCELLA) += 0xffffffff80000000 4951da177e4SLinus Torvalds 4961da177e4SLinus Torvalds# 4971da177e4SLinus Torvalds# Victor MP-C303/304 (VR4122) 4981da177e4SLinus Torvalds# 4991da177e4SLinus Torvaldscore-$(CONFIG_VICTOR_MPC30X) += arch/mips/vr41xx/victor-mpc30x/ 5001da177e4SLinus Torvaldsload-$(CONFIG_VICTOR_MPC30X) += 0xffffffff80001000 5011da177e4SLinus Torvalds 5021da177e4SLinus Torvalds# 5031da177e4SLinus Torvalds# IBM WorkPad z50 (VR4121) 5041da177e4SLinus Torvalds# 5051da177e4SLinus Torvaldscore-$(CONFIG_IBM_WORKPAD) += arch/mips/vr41xx/ibm-workpad/ 5061da177e4SLinus Torvaldsload-$(CONFIG_IBM_WORKPAD) += 0xffffffff80004000 5071da177e4SLinus Torvalds 5081da177e4SLinus Torvalds# 5091da177e4SLinus Torvalds# CASIO CASSIPEIA E-55/65 (VR4111) 5101da177e4SLinus Torvalds# 5111da177e4SLinus Torvaldscore-$(CONFIG_CASIO_E55) += arch/mips/vr41xx/casio-e55/ 5121da177e4SLinus Torvaldsload-$(CONFIG_CASIO_E55) += 0xffffffff80004000 5131da177e4SLinus Torvalds 5141da177e4SLinus Torvalds# 5151da177e4SLinus Torvalds# TANBAC TB0226 Mbase (VR4131) 5161da177e4SLinus Torvalds# 5171da177e4SLinus Torvaldscore-$(CONFIG_TANBAC_TB0226) += arch/mips/vr41xx/tanbac-tb0226/ 5181da177e4SLinus Torvaldsload-$(CONFIG_TANBAC_TB0226) += 0xffffffff80000000 5191da177e4SLinus Torvalds 5201da177e4SLinus Torvalds# 5211da177e4SLinus Torvalds# TANBAC TB0229 VR4131DIMM (VR4131) 5221da177e4SLinus Torvalds# 5231da177e4SLinus Torvaldscore-$(CONFIG_TANBAC_TB0229) += arch/mips/vr41xx/tanbac-tb0229/ 5241da177e4SLinus Torvaldsload-$(CONFIG_TANBAC_TB0229) += 0xffffffff80000000 5251da177e4SLinus Torvalds 5261da177e4SLinus Torvalds# 5271da177e4SLinus Torvalds# SGI IP22 (Indy/Indigo2) 5281da177e4SLinus Torvalds# 5291da177e4SLinus Torvalds# Set the load address to >= 0xffffffff88069000 if you want to leave space for 5301da177e4SLinus Torvalds# symmon, 0xffffffff80002000 for production kernels. Note that the value must 5311da177e4SLinus Torvalds# be aligned to a multiple of the kernel stack size or the handling of the 5321da177e4SLinus Torvalds# current variable will break so for 64-bit kernels we have to raise the start 5331da177e4SLinus Torvalds# address by 8kb. 5341da177e4SLinus Torvalds# 5351da177e4SLinus Torvaldscore-$(CONFIG_SGI_IP22) += arch/mips/sgi-ip22/ 5361da177e4SLinus Torvaldscflags-$(CONFIG_SGI_IP22) += -Iinclude/asm-mips/mach-ip22 5371da177e4SLinus Torvaldsifdef CONFIG_MIPS32 5381da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP22) += 0xffffffff88002000 5391da177e4SLinus Torvaldsendif 5401da177e4SLinus Torvaldsifdef CONFIG_MIPS64 5411da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP22) += 0xffffffff88004000 5421da177e4SLinus Torvaldsendif 5431da177e4SLinus Torvalds 5441da177e4SLinus Torvalds# 5451da177e4SLinus Torvalds# SGI-IP27 (Origin200/2000) 5461da177e4SLinus Torvalds# 5471da177e4SLinus Torvalds# Set the load address to >= 0xc000000000300000 if you want to leave space for 5481da177e4SLinus Torvalds# symmon, 0xc00000000001c000 for production kernels. Note that the value must 5491da177e4SLinus Torvalds# be 16kb aligned or the handling of the current variable will break. 5501da177e4SLinus Torvalds# 5511da177e4SLinus Torvaldsifdef CONFIG_SGI_IP27 5521da177e4SLinus Torvaldscore-$(CONFIG_SGI_IP27) += arch/mips/sgi-ip27/ 5531da177e4SLinus Torvaldscflags-$(CONFIG_SGI_IP27) += -Iinclude/asm-mips/mach-ip27 5541da177e4SLinus Torvaldsifdef CONFIG_BUILD_ELF64 5551da177e4SLinus Torvaldsifdef CONFIG_MAPPED_KERNEL 5561da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP27) += 0xc00000004001c000 5571da177e4SLinus TorvaldsOBJCOPYFLAGS := --change-addresses=0x3fffffff80000000 5581da177e4SLinus Torvaldsdataoffset-$(CONFIG_SGI_IP27) += 0x01000000 5591da177e4SLinus Torvaldselse 5601da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP27) += 0xa80000000001c000 5611da177e4SLinus TorvaldsOBJCOPYFLAGS := --change-addresses=0x57ffffff80000000 5621da177e4SLinus Torvaldsendif 5631da177e4SLinus Torvaldselse 5641da177e4SLinus Torvaldsifdef CONFIG_MAPPED_KERNEL 5651da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP27) += 0xffffffffc001c000 5661da177e4SLinus TorvaldsOBJCOPYFLAGS := --change-addresses=0xc000000080000000 5671da177e4SLinus Torvaldsdataoffset-$(CONFIG_SGI_IP27) += 0x01000000 5681da177e4SLinus Torvaldselse 5691da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP27) += 0xffffffff8001c000 5701da177e4SLinus TorvaldsOBJCOPYFLAGS := --change-addresses=0xa800000080000000 5711da177e4SLinus Torvaldsendif 5721da177e4SLinus Torvaldsendif 5731da177e4SLinus Torvaldsendif 5741da177e4SLinus Torvalds 5751da177e4SLinus Torvalds# 5761da177e4SLinus Torvalds# SGI-IP32 (O2) 5771da177e4SLinus Torvalds# 5781da177e4SLinus Torvalds# Set the load address to >= 80069000 if you want to leave space for symmon, 5791da177e4SLinus Torvalds# 0xffffffff80004000 for production kernels. Note that the value must be aligned to 5801da177e4SLinus Torvalds# a multiple of the kernel stack size or the handling of the current variable 5811da177e4SLinus Torvalds# will break. 5821da177e4SLinus Torvalds# 5831da177e4SLinus Torvaldscore-$(CONFIG_SGI_IP32) += arch/mips/sgi-ip32/ 5841da177e4SLinus Torvaldscflags-$(CONFIG_SGI_IP32) += -Iinclude/asm-mips/mach-ip32 5851da177e4SLinus Torvaldsload-$(CONFIG_SGI_IP32) += 0xffffffff80004000 5861da177e4SLinus Torvalds 5871da177e4SLinus Torvalds# 5881da177e4SLinus Torvalds# Sibyte SB1250 SOC 5891da177e4SLinus Torvalds# 5901da177e4SLinus Torvalds# This is a LIB so that it links at the end, and initcalls are later 5911da177e4SLinus Torvalds# the sequence; but it is built as an object so that modules don't get 5921da177e4SLinus Torvalds# removed (as happens, even if they have __initcall/module_init) 5931da177e4SLinus Torvalds# 5941da177e4SLinus Torvaldscore-$(CONFIG_SIBYTE_BCM112X) += arch/mips/sibyte/sb1250/ 5951da177e4SLinus Torvaldscflags-$(CONFIG_SIBYTE_BCM112X) += -Iinclude/asm-mips/mach-sibyte 5961da177e4SLinus Torvalds 5971da177e4SLinus Torvaldscore-$(CONFIG_SIBYTE_SB1250) += arch/mips/sibyte/sb1250/ 5981da177e4SLinus Torvaldscflags-$(CONFIG_SIBYTE_SB1250) += -Iinclude/asm-mips/mach-sibyte 5991da177e4SLinus Torvalds 6001da177e4SLinus Torvalds# 6011da177e4SLinus Torvalds# Sibyte BCM91120x (Carmel) board 6021da177e4SLinus Torvalds# Sibyte BCM91120C (CRhine) board 6031da177e4SLinus Torvalds# Sibyte BCM91125C (CRhone) board 6041da177e4SLinus Torvalds# Sibyte BCM91125E (Rhone) board 6051da177e4SLinus Torvalds# Sibyte SWARM board 6061da177e4SLinus Torvalds# 6071da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_CARMEL) += arch/mips/sibyte/swarm/ 6081da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_CARMEL) := 0xffffffff80100000 6091da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_CRHINE) += arch/mips/sibyte/swarm/ 6101da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_CRHINE) := 0xffffffff80100000 6111da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_CRHONE) += arch/mips/sibyte/swarm/ 6121da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_CRHONE) := 0xffffffff80100000 6131da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_RHONE) += arch/mips/sibyte/swarm/ 6141da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_RHONE) := 0xffffffff80100000 6151da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_SENTOSA) += arch/mips/sibyte/swarm/ 6161da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_SENTOSA) := 0xffffffff80100000 6171da177e4SLinus Torvaldslibs-$(CONFIG_SIBYTE_SWARM) += arch/mips/sibyte/swarm/ 6181da177e4SLinus Torvaldsload-$(CONFIG_SIBYTE_SWARM) := 0xffffffff80100000 6191da177e4SLinus Torvalds 6201da177e4SLinus Torvalds# 6211da177e4SLinus Torvalds# SNI RM200 PCI 6221da177e4SLinus Torvalds# 6231da177e4SLinus Torvaldscore-$(CONFIG_SNI_RM200_PCI) += arch/mips/sni/ 6241da177e4SLinus Torvaldscflags-$(CONFIG_SNI_RM200_PCI) += -Iinclude/asm-mips/mach-rm200 6251da177e4SLinus Torvaldsload-$(CONFIG_SNI_RM200_PCI) += 0xffffffff80600000 6261da177e4SLinus Torvalds 6271da177e4SLinus Torvalds# 6281da177e4SLinus Torvalds# Toshiba JMR-TX3927 board 6291da177e4SLinus Torvalds# 6301da177e4SLinus Torvaldscore-$(CONFIG_TOSHIBA_JMR3927) += arch/mips/jmr3927/rbhma3100/ \ 6311da177e4SLinus Torvalds arch/mips/jmr3927/common/ 6321da177e4SLinus Torvaldsload-$(CONFIG_TOSHIBA_JMR3927) += 0xffffffff80050000 6331da177e4SLinus Torvalds 6341da177e4SLinus Torvalds# 6351da177e4SLinus Torvalds# Toshiba RBTX4927 board or 6361da177e4SLinus Torvalds# Toshiba RBTX4937 board 6371da177e4SLinus Torvalds# 6381da177e4SLinus Torvaldscore-$(CONFIG_TOSHIBA_RBTX4927) += arch/mips/tx4927/toshiba_rbtx4927/ 6391da177e4SLinus Torvaldscore-$(CONFIG_TOSHIBA_RBTX4927) += arch/mips/tx4927/common/ 6401da177e4SLinus Torvaldsload-$(CONFIG_TOSHIBA_RBTX4927) += 0xffffffff80020000 6411da177e4SLinus Torvalds 6421da177e4SLinus Torvaldscflags-y += -Iinclude/asm-mips/mach-generic 6431da177e4SLinus Torvaldsdrivers-$(CONFIG_PCI) += arch/mips/pci/ 6441da177e4SLinus Torvalds 6451da177e4SLinus Torvaldsifdef CONFIG_MIPS32 6461da177e4SLinus Torvaldsifdef CONFIG_CPU_LITTLE_ENDIAN 6471da177e4SLinus TorvaldsJIFFIES = jiffies_64 6481da177e4SLinus Torvaldselse 6491da177e4SLinus TorvaldsJIFFIES = jiffies_64 + 4 6501da177e4SLinus Torvaldsendif 6511da177e4SLinus Torvaldselse 6521da177e4SLinus TorvaldsJIFFIES = jiffies_64 6531da177e4SLinus Torvaldsendif 6541da177e4SLinus Torvalds 6551da177e4SLinus TorvaldsAFLAGS += $(cflags-y) 6561da177e4SLinus TorvaldsCFLAGS += $(cflags-y) 6571da177e4SLinus Torvalds 6581da177e4SLinus TorvaldsLDFLAGS += -m $(ld-emul) 6591da177e4SLinus Torvalds 6601da177e4SLinus TorvaldsOBJCOPYFLAGS += --remove-section=.reginfo 6611da177e4SLinus Torvalds 6621da177e4SLinus Torvalds# 6631da177e4SLinus Torvalds# Choosing incompatible machines durings configuration will result in 6641da177e4SLinus Torvalds# error messages during linking. Select a default linkscript if 6651da177e4SLinus Torvalds# none has been choosen above. 6661da177e4SLinus Torvalds# 6671da177e4SLinus Torvalds 6681da177e4SLinus TorvaldsCPPFLAGS_vmlinux.lds := \ 6691da177e4SLinus Torvalds $(CFLAGS) \ 6701da177e4SLinus Torvalds -D"LOADADDR=$(load-y)" \ 6711da177e4SLinus Torvalds -D"JIFFIES=$(JIFFIES)" \ 6721da177e4SLinus Torvalds -D"DATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)" 6731da177e4SLinus Torvalds 6741da177e4SLinus Torvaldshead-y := arch/mips/kernel/head.o arch/mips/kernel/init_task.o 6751da177e4SLinus Torvalds 6761da177e4SLinus Torvaldslibs-y += arch/mips/lib/ 6771da177e4SLinus Torvaldslibs-$(CONFIG_MIPS32) += arch/mips/lib-32/ 6781da177e4SLinus Torvaldslibs-$(CONFIG_MIPS64) += arch/mips/lib-64/ 6791da177e4SLinus Torvalds 6801da177e4SLinus Torvaldscore-y += arch/mips/kernel/ arch/mips/mm/ arch/mips/math-emu/ 6811da177e4SLinus Torvalds 6821da177e4SLinus Torvaldsdrivers-$(CONFIG_OPROFILE) += arch/mips/oprofile/ 6831da177e4SLinus Torvalds 6841da177e4SLinus Torvaldsifdef CONFIG_LASAT 6851da177e4SLinus Torvaldsrom.bin rom.sw: vmlinux 6867c6b155fSSam Ravnborg $(Q)$(MAKE) $(build)=arch/mips/lasat/image $@ 6871da177e4SLinus Torvaldsendif 6881da177e4SLinus Torvalds 6891da177e4SLinus Torvalds# 6901da177e4SLinus Torvalds# Some machines like the Indy need 32-bit ELF binaries for booting purposes. 6911da177e4SLinus Torvalds# Other need ECOFF, so we build a 32-bit ELF binary for them which we then 6921da177e4SLinus Torvalds# convert to ECOFF using elf2ecoff. 6931da177e4SLinus Torvalds# 6941da177e4SLinus Torvaldsvmlinux.32: vmlinux 6951da177e4SLinus Torvalds $(OBJCOPY) -O $(32bit-bfd) $(OBJCOPYFLAGS) $< $@ 6961da177e4SLinus Torvalds 6971da177e4SLinus Torvalds# 6981da177e4SLinus Torvalds# The 64-bit ELF tools are pretty broken so at this time we generate 64-bit 6991da177e4SLinus Torvalds# ELF files from 32-bit files by conversion. 7001da177e4SLinus Torvalds# 7011da177e4SLinus Torvaldsvmlinux.64: vmlinux 7021da177e4SLinus Torvalds $(OBJCOPY) -O $(64bit-bfd) $(OBJCOPYFLAGS) $< $@ 7031da177e4SLinus Torvalds 7041da177e4SLinus Torvaldsmakeboot =$(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) $(1) 7051da177e4SLinus Torvalds 7061da177e4SLinus Torvaldsifdef CONFIG_BOOT_ELF32 7071da177e4SLinus Torvaldsall: $(vmlinux-32) 7081da177e4SLinus Torvaldsendif 7091da177e4SLinus Torvalds 7101da177e4SLinus Torvaldsifdef CONFIG_BOOT_ELF64 7111da177e4SLinus Torvaldsall: $(vmlinux-64) 7121da177e4SLinus Torvaldsendif 7131da177e4SLinus Torvalds 7141da177e4SLinus Torvaldsifdef CONFIG_SNI_RM200_PCI 7151da177e4SLinus Torvaldsall: vmlinux.ecoff 7161da177e4SLinus Torvaldsendif 7171da177e4SLinus Torvalds 7181da177e4SLinus Torvaldsvmlinux.ecoff vmlinux.rm200: $(vmlinux-32) 7191da177e4SLinus Torvalds +@$(call makeboot,$@) 7201da177e4SLinus Torvalds 7211da177e4SLinus Torvaldsvmlinux.srec: $(vmlinux-32) 7221da177e4SLinus Torvalds +@$(call makeboot,$@) 7231da177e4SLinus Torvalds 7241da177e4SLinus TorvaldsCLEAN_FILES += vmlinux.ecoff \ 7251da177e4SLinus Torvalds vmlinux.srec \ 7261da177e4SLinus Torvalds vmlinux.rm200.tmp \ 7271da177e4SLinus Torvalds vmlinux.rm200 7281da177e4SLinus Torvalds 7291da177e4SLinus Torvaldsarchclean: 7301da177e4SLinus Torvalds @$(MAKE) $(clean)=arch/mips/boot 7311da177e4SLinus Torvalds @$(MAKE) $(clean)=arch/mips/lasat 7321da177e4SLinus Torvalds 7331da177e4SLinus Torvalds# Generate <asm/offset.h 7341da177e4SLinus Torvalds# 7351da177e4SLinus Torvalds# The default rule is suffering from funny problems on MIPS so we using our 7361da177e4SLinus Torvalds# own ... 7371da177e4SLinus Torvalds# 7381da177e4SLinus Torvalds# --------------------------------------------------------------------------- 7391da177e4SLinus Torvalds 7401da177e4SLinus Torvaldsdefine filechk_gen-asm-offset.h 7411da177e4SLinus Torvalds (set -e; \ 7421da177e4SLinus Torvalds echo "#ifndef _ASM_OFFSET_H"; \ 7431da177e4SLinus Torvalds echo "#define _ASM_OFFSET_H"; \ 7441da177e4SLinus Torvalds echo "/*"; \ 7451da177e4SLinus Torvalds echo " * DO NOT MODIFY."; \ 7461da177e4SLinus Torvalds echo " *"; \ 7471da177e4SLinus Torvalds echo " * This file was generated by arch/$(ARCH)/Makefile"; \ 7481da177e4SLinus Torvalds echo " *"; \ 7491da177e4SLinus Torvalds echo " */"; \ 7501da177e4SLinus Torvalds echo ""; \ 7511da177e4SLinus Torvalds sed -ne "/^@@@/s///p"; \ 7521da177e4SLinus Torvalds echo "#endif /* _ASM_OFFSET_H */" ) 7531da177e4SLinus Torvaldsendef 7541da177e4SLinus Torvalds 7551da177e4SLinus Torvaldsprepare: include/asm-$(ARCH)/offset.h 7561da177e4SLinus Torvalds 7571da177e4SLinus Torvaldsarch/$(ARCH)/kernel/offset.s: include/asm include/linux/version.h \ 7581da177e4SLinus Torvalds include/config/MARKER 7591da177e4SLinus Torvalds 7601da177e4SLinus Torvaldsinclude/asm-$(ARCH)/offset.h: arch/$(ARCH)/kernel/offset.s 7611da177e4SLinus Torvalds $(call filechk,gen-asm-offset.h) 7621da177e4SLinus Torvalds 7631da177e4SLinus TorvaldsCLEAN_FILES += include/asm-$(ARCH)/offset.h.tmp \ 7641da177e4SLinus Torvalds include/asm-$(ARCH)/offset.h \ 7651da177e4SLinus Torvalds vmlinux.32 \ 7661da177e4SLinus Torvalds vmlinux.64 \ 7671da177e4SLinus Torvalds vmlinux.ecoff 768