1 # This file is included by the global makefile << 2 # architecture-specific flags and dependencies << 3 # 1 # 4 # This file is subject to the terms and condit 2 # This file is subject to the terms and conditions of the GNU General Public 5 # License. See the file "COPYING" in the main 3 # License. See the file "COPYING" in the main directory of this archive 6 # for more details. 4 # for more details. 7 # 5 # 8 # Copyright (C) 1994 by Linus Torvalds !! 6 # Copyright (C) 1994, 1995, 1996 by Ralf Baechle 9 # Changes for PPC by Gary Thomas !! 7 # DECStation modifications by Paul M. Antoine, 1996 10 # Rewritten by Cort Dougan and Paul Mackerras !! 8 # Copyright (C) 2002, 2003, 2004 Maciej W. Rozycki >> 9 # >> 10 # This file is included by the global makefile so that you can add your own >> 11 # architecture-specific flags and dependencies. Remember to do have actions >> 12 # for "archclean" and "archdep" for cleaning up and making dependencies for >> 13 # this architecture 11 # 14 # 12 15 13 ifdef cross_compiling !! 16 # 14 ifeq ($(CROSS_COMPILE),) !! 17 # Select the object file format to substitute into the linker script. 15 # Auto detect cross compiler prefix. !! 18 # 16 # Look for: (powerpc(64(le)?)?)(-unknown)? !! 19 ifdef CONFIG_CPU_LITTLE_ENDIAN 17 CC_ARCHES := powerpc powerpc64 powerpc64le !! 20 tool-prefix = mipsel-linux- 18 CC_SUFFIXES := linux linux-gnu unknown-lin !! 21 ld-emul = elf32ltsmip 19 CROSS_COMPILE := $(call cc-cross-prefix, $ !! 22 else 20 $(foreach s,$(CC_SUFFIX !! 23 tool-prefix = mips-linux- 21 endif !! 24 ld-emul = elf32btsmip 22 endif 25 endif 23 26 24 HAS_BIARCH := $(call cc-option-yn, -m32) !! 27 ifdef CONFIG_CROSSCOMPILE >> 28 CROSS_COMPILE = $(tool-prefix) >> 29 endif 25 30 26 # Set default 32 bits cross compilers for vdso !! 31 MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot 27 CROSS32_COMPILE ?= << 28 32 29 # If we're on a ppc/ppc64/ppc64le machine use !! 33 # 30 # ppc64le_defconfig because we have nothing be !! 34 # 31 uname := $(shell uname -m) !! 35 # GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel 32 KBUILD_DEFCONFIG := $(if $(filter ppc%,$(uname !! 36 # code since it only slows down the whole thing. At some point we might make >> 37 # use of global pointer optimizations but their use of $28 conflicts with >> 38 # the current pointer optimization. >> 39 # >> 40 # The DECStation requires an ECOFF kernel for remote booting, other MIPS >> 41 # machines may also. Since BFD is incredibly buggy with respect to >> 42 # crossformat linking we rely on the elf2ecoff tool for format conversion. >> 43 # >> 44 GCCFLAGS := -I $(TOPDIR)/include/asm/gcc >> 45 GCCFLAGS += -G 0 -mno-abicalls -fno-pic -pipe >> 46 GCCFLAGS += $(call check_gcc, -finline-limit=100000,) >> 47 LINKFLAGS += -G 0 -static -n >> 48 MODFLAGS += -mlong-calls >> 49 >> 50 ifdef CONFIG_DEBUG_INFO >> 51 GCCFLAGS += -g >> 52 ifdef CONFIG_SB1XXX_CORELIS >> 53 GCCFLAGS += -mno-sched-prolog -fno-omit-frame-pointer >> 54 endif >> 55 endif 33 56 34 new_nm := $(shell if $(NM) --help 2>&1 | grep !! 57 # >> 58 # Use: $(call set_gccflags,<cpu0>,<isa0>,<cpu1>,<isa1>,<isa2>) >> 59 # >> 60 # <cpu0>,<isa0> -- preferred CPU and ISA designations (may require >> 61 # recent tools) >> 62 # <cpu1>,<isa1> -- fallback CPU and ISA designations (have to work >> 63 # with up to the oldest supported tools) >> 64 # <isa2> -- an ISA designation used as an ABI selector for >> 65 # gcc versions that do not support "-mabi=32" >> 66 # (depending on the CPU type, either "mips1" or >> 67 # "mips2") >> 68 # >> 69 set_gccflags = $(shell \ >> 70 while :; do \ >> 71 cpu=$(1); isa=-$(2); \ >> 72 for gcc_opt in -march= -mcpu=; do \ >> 73 $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \ >> 74 -xc /dev/null > /dev/null 2>&1 && \ >> 75 break 2; \ >> 76 done; \ >> 77 cpu=$(3); isa=-$(4); \ >> 78 for gcc_opt in -march= -mcpu=; do \ >> 79 $(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \ >> 80 -xc /dev/null > /dev/null 2>&1 && \ >> 81 break 2; \ >> 82 done; \ >> 83 break; \ >> 84 done; \ >> 85 gcc_abi=-mabi=32; gcc_cpu=$$cpu; \ >> 86 if $(CC) $$gcc_abi -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then \ >> 87 gcc_isa=$$isa; \ >> 88 else \ >> 89 gcc_abi=; gcc_isa=-$(5); \ >> 90 fi; \ >> 91 gas_abi=-Wa,-32; gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \ >> 92 while :; do \ >> 93 for gas_opt in -Wa,-march= -Wa,-mcpu=; do \ >> 94 $(CC) $$gas_abi $$gas_opt$$cpu $$gas_isa -Wa,-Z -c \ >> 95 -o /dev/null -xassembler /dev/null > /dev/null 2>&1 && \ >> 96 break 2; \ >> 97 done; \ >> 98 gas_abi=; gas_opt=; gas_cpu=; gas_isa=; \ >> 99 break; \ >> 100 done; \ >> 101 if test "$$gcc_opt" = -march= && test -n "$$gcc_abi"; then \ >> 102 $(CC) $$gcc_abi $$gcc_opt$$gcc_cpu -S -o /dev/null \ >> 103 -xc /dev/null > /dev/null 2>&1 && \ >> 104 gcc_isa=; \ >> 105 fi; \ >> 106 echo $$gcc_abi $$gcc_opt$$gcc_cpu $$gcc_isa $$gas_abi $$gas_opt$$gas_cpu $$gas_isa) 35 107 36 ifeq ($(new_nm),y) !! 108 # 37 NM := $(NM) --synthetic !! 109 # CPU-dependent compiler/assembler options for optimization. >> 110 # >> 111 ifdef CONFIG_CPU_R3000 >> 112 GCCFLAGS += $(call set_gccflags,r3000,mips1,r3000,mips1,mips1) >> 113 endif >> 114 ifdef CONFIG_CPU_TX39XX >> 115 GCCFLAGS += $(call set_gccflags,r3900,mips1,r3000,mips1,mips1) >> 116 endif >> 117 ifdef CONFIG_CPU_R6000 >> 118 GCCFLAGS += $(call set_gccflags,r6000,mips2,r6000,mips2,mips2) \ >> 119 -Wa,--trap >> 120 endif >> 121 ifdef CONFIG_CPU_R4300 >> 122 GCCFLAGS += $(call set_gccflags,r4300,mips3,r4300,mips3,mips2) \ >> 123 -Wa,--trap >> 124 endif >> 125 ifdef CONFIG_CPU_VR41XX >> 126 GCCFLAGS += $(call set_gccflags,r4100,mips3,r4600,mips3,mips2) \ >> 127 -Wa,--trap >> 128 endif >> 129 ifdef CONFIG_CPU_R4X00 >> 130 GCCFLAGS += $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \ >> 131 -Wa,--trap >> 132 endif >> 133 ifdef CONFIG_CPU_TX49XX >> 134 GCCFLAGS += $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \ >> 135 -Wa,--trap >> 136 endif >> 137 ifdef CONFIG_CPU_MIPS32 >> 138 GCCFLAGS += $(call set_gccflags,mips32,mips32,r4600,mips3,mips2) \ >> 139 -Wa,--trap >> 140 endif >> 141 ifdef CONFIG_CPU_MIPS64 >> 142 GCCFLAGS += $(call set_gccflags,mips64,mips64,r4600,mips3,mips2) \ >> 143 -Wa,--trap >> 144 endif >> 145 ifdef CONFIG_CPU_R5000 >> 146 GCCFLAGS += $(call set_gccflags,r5000,mips4,r5000,mips4,mips2) \ >> 147 -Wa,--trap >> 148 endif >> 149 ifdef CONFIG_CPU_R5432 >> 150 GCCFLAGS += $(call set_gccflags,r5400,mips4,r5000,mips4,mips2) \ >> 151 -Wa,--trap >> 152 endif >> 153 ifdef CONFIG_CPU_NEVADA >> 154 GCCFLAGS += $(call set_gccflags,rm5200,mips4,r5000,mips4,mips2) \ >> 155 -Wa,--trap >> 156 #GCCFLAGS += $(call check_gcc,-mmad,) >> 157 endif >> 158 ifdef CONFIG_CPU_RM7000 >> 159 GCCFLAGS += $(call set_gccflags,rm7000,mips4,r5000,mips4,mips2) \ >> 160 -Wa,--trap >> 161 endif >> 162 ifdef CONFIG_CPU_RM9000 >> 163 GCCFLAGS += $(call set_gccflags,rm9000,mips4,r5000,mips4,mips2) \ >> 164 -Wa,--trap >> 165 endif >> 166 ifdef CONFIG_CPU_SB1 >> 167 GCCFLAGS += $(call set_gccflags,sb1,mips64,r5000,mips4,mips2) \ >> 168 -Wa,--trap >> 169 ifdef CONFIG_SB1_PASS_1_WORKAROUNDS >> 170 MODFLAGS += -msb1-pass1-workarounds >> 171 endif 38 endif 172 endif 39 173 40 # BITS is used as extension for files which ar !! 174 AFLAGS += $(GCCFLAGS) 41 # and a 64 bit version to simplify shared Make !! 175 CFLAGS += $(GCCFLAGS) 42 # e.g.: obj-y += foo_$(BITS).o << 43 export BITS << 44 176 45 ifdef CONFIG_PPC64 !! 177 LD += -m $(ld-emul) 46 BITS := 64 !! 178 47 else !! 179 48 BITS := 32 !! 180 # >> 181 # We unconditionally build the math emulator >> 182 # >> 183 CORE_FILES += arch/mips/math-emu/fpu_emulator.o >> 184 SUBDIRS += arch/mips/math-emu >> 185 >> 186 # >> 187 # ramdisk/initrd support >> 188 # You need a compressed ramdisk image, named ramdisk.gz in >> 189 # arch/mips/ramdisk >> 190 # >> 191 ifdef CONFIG_EMBEDDED_RAMDISK >> 192 CORE_FILES += arch/mips/ramdisk/ramdisk.o >> 193 SUBDIRS += arch/mips/ramdisk 49 endif 194 endif 50 195 51 machine-y = ppc !! 196 52 machine-$(CONFIG_PPC64) += 64 !! 197 # 53 machine-$(CONFIG_CPU_LITTLE_ENDIAN) += le !! 198 # Board-dependent options and extra files 54 UTS_MACHINE := $(subst $(space),,$(machine-y)) !! 199 # 55 !! 200 56 ifeq ($(CONFIG_PPC64)$(CONFIG_LD_IS_BFD),yy) !! 201 # 57 # Have the linker provide sfpr if possible. !! 202 # Acer PICA 61, Mips Magnum 4000 and Olivetti M700. 58 # There is a corresponding test in arch/powerp !! 203 # 59 KBUILD_LDFLAGS_MODULE += --save-restore-funcs !! 204 ifdef CONFIG_MIPS_JAZZ 60 else !! 205 CORE_FILES += arch/mips/jazz/jazz.o 61 KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crts !! 206 SUBDIRS += arch/mips/jazz arch/mips/arc >> 207 LIBS += arch/mips/arc/arclib.a >> 208 LOADADDR := 0x80080000 62 endif 209 endif 63 210 64 ifdef CONFIG_CPU_LITTLE_ENDIAN !! 211 # 65 KBUILD_CFLAGS += -mlittle-endian !! 212 # Au1000 (Alchemy Semi PB1000) eval board 66 KBUILD_LDFLAGS += -EL !! 213 # 67 LDEMULATION := lppc !! 214 ifdef CONFIG_MIPS_PB1000 68 GNUTARGET := powerpcle !! 215 LIBS += arch/mips/au1000/pb1000/pb1000.o \ 69 MULTIPLEWORD := -mno-multiple !! 216 arch/mips/au1000/common/au1000.o 70 KBUILD_CFLAGS_MODULE += $(call cc-option,-mno- !! 217 SUBDIRS += arch/mips/au1000/pb1000 arch/mips/au1000/common 71 else !! 218 LOADADDR := 0x80100000 72 KBUILD_CFLAGS += $(call cc-option,-mbig-endian !! 219 endif 73 KBUILD_LDFLAGS += -EB !! 220 74 LDEMULATION := ppc !! 221 # 75 GNUTARGET := powerpc !! 222 # Au1100 (Alchemy Semi PB1100) eval board 76 MULTIPLEWORD := -mmultiple !! 223 # >> 224 ifdef CONFIG_MIPS_PB1100 >> 225 LIBS += arch/mips/au1000/pb1100/pb1100.o \ >> 226 arch/mips/au1000/common/au1000.o >> 227 SUBDIRS += arch/mips/au1000/pb1100 arch/mips/au1000/common >> 228 LOADADDR += 0x80100000 77 endif 229 endif 78 230 79 ifdef CONFIG_PPC64 !! 231 # 80 ifndef CONFIG_CC_IS_CLANG !! 232 # Au1500 (Alchemy Semi PB1500) eval board 81 cflags-$(CONFIG_PPC64_ELF_ABI_V1) += $(c !! 233 # 82 cflags-$(CONFIG_PPC64_ELF_ABI_V1) += $(c !! 234 ifdef CONFIG_MIPS_PB1500 83 aflags-$(CONFIG_PPC64_ELF_ABI_V1) += $(c !! 235 LIBS += arch/mips/au1000/pb1500/pb1500.o \ 84 aflags-$(CONFIG_PPC64_ELF_ABI_V2) += -ma !! 236 arch/mips/au1000/common/au1000.o >> 237 SUBDIRS += arch/mips/au1000/pb1500 arch/mips/au1000/common >> 238 LOADADDR := 0x80100000 85 endif 239 endif >> 240 >> 241 # >> 242 # Au1x00 (AMD/Alchemy) eval boards >> 243 # >> 244 ifdef CONFIG_MIPS_DB1000 >> 245 LIBS += arch/mips/au1000/db1x00/db1x00.o \ >> 246 arch/mips/au1000/common/au1000.o >> 247 SUBDIRS += arch/mips/au1000/db1x00 arch/mips/au1000/common >> 248 LOADADDR += 0x80100000 86 endif 249 endif 87 250 88 ifndef CONFIG_CC_IS_CLANG !! 251 ifdef CONFIG_MIPS_DB1500 89 cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -mn !! 252 LIBS += arch/mips/au1000/db1x00/db1x00.o \ >> 253 arch/mips/au1000/common/au1000.o >> 254 SUBDIRS += arch/mips/au1000/db1x00 arch/mips/au1000/common >> 255 LOADADDR += 0x80100000 90 endif 256 endif 91 257 92 cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(c !! 258 ifdef CONFIG_MIPS_DB1550 93 cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml !! 259 LIBS += arch/mips/au1000/db1x00/db1x00.o \ 94 aflags-$(CONFIG_CPU_BIG_ENDIAN) += $(c !! 260 arch/mips/au1000/common/au1000.o 95 aflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml !! 261 SUBDIRS += arch/mips/au1000/db1x00 arch/mips/au1000/common >> 262 LOADADDR += 0x80100000 >> 263 endif 96 264 97 ifeq ($(HAS_BIARCH),y) !! 265 ifdef CONFIG_MIPS_DB1100 98 KBUILD_CFLAGS += -m$(BITS) !! 266 LIBS += arch/mips/au1000/db1x00/db1x00.o \ 99 KBUILD_AFLAGS += -m$(BITS) !! 267 arch/mips/au1000/common/au1000.o 100 KBUILD_LDFLAGS += -m elf$(BITS)$(LDEMULATION) !! 268 SUBDIRS += arch/mips/au1000/db1x00 arch/mips/au1000/common >> 269 LOADADDR += 0x80100000 101 endif 270 endif 102 271 103 cflags-$(CONFIG_STACKPROTECTOR) += -mstack-pro !! 272 ifdef CONFIG_MIPS_HYDROGEN3 104 ifdef CONFIG_PPC64 !! 273 LIBS += arch/mips/au1000/hydrogen3/hydrogen3.o \ 105 cflags-$(CONFIG_STACKPROTECTOR) += -mstack-pro !! 274 arch/mips/au1000/common/au1000.o 106 else !! 275 SUBDIRS += arch/mips/au1000/hydrogen3 arch/mips/au1000/common 107 cflags-$(CONFIG_STACKPROTECTOR) += -mstack-pro !! 276 LOADADDR += 0x80100000 108 endif 277 endif 109 278 110 LDFLAGS_vmlinux-y := -Bstatic !! 279 ifdef CONFIG_MIPS_BOSPORUS 111 LDFLAGS_vmlinux-$(CONFIG_RELOCATABLE) := -pie !! 280 LIBS += arch/mips/au1000/db1x00/db1x00.o \ 112 LDFLAGS_vmlinux-$(CONFIG_RELOCATABLE) += -z no !! 281 arch/mips/au1000/common/au1000.o 113 LDFLAGS_vmlinux := $(LDFLAGS_vmlinux-y) !! 282 SUBDIRS += arch/mips/au1000/db1x00 arch/mips/au1000/common 114 !! 283 LOADADDR += 0x80100000 115 ifdef CONFIG_PPC64 << 116 ifndef CONFIG_PPC_KERNEL_PCREL << 117 # -mcmodel=medium breaks modules becau << 118 # the TOC pointer to create pointers w << 119 # percpu data area are created by this << 120 # << 121 # The kernel module loader relocates t << 122 # original location (starting with 0xd << 123 # kernel percpu data space (starting w << 124 # 64bit relocation for this to work, h << 125 KBUILD_CFLAGS_MODULE += -mcmodel=large << 126 endif 284 endif >> 285 >> 286 ifdef CONFIG_MIPS_MIRAGE >> 287 LIBS += arch/mips/au1000/db1x00/db1x00.o \ >> 288 arch/mips/au1000/common/au1000.o >> 289 SUBDIRS += arch/mips/au1000/db1x00 arch/mips/au1000/common >> 290 LOADADDR += 0x80100000 127 endif 291 endif 128 292 129 CFLAGS-$(CONFIG_PPC64) := $(call cc-option,-m !! 293 ifdef CONFIG_MIPS_XXS1500 130 ifdef CONFIG_PPC64_ELF_ABI_V2 !! 294 LIBS += arch/mips/au1000/xxs1500/xxs1500.o \ 131 CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-m !! 295 arch/mips/au1000/common/au1000.o 132 else !! 296 SUBDIRS += arch/mips/au1000/xxs1500 arch/mips/au1000/common 133 ifndef CONFIG_CC_IS_CLANG !! 297 LOADADDR += 0x80100000 134 CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-m << 135 CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-m << 136 endif 298 endif >> 299 >> 300 ifdef CONFIG_MIPS_MTX1 >> 301 LIBS += arch/mips/au1000/mtx-1/mtx-1.o \ >> 302 arch/mips/au1000/common/au1000.o >> 303 SUBDIRS += arch/mips/au1000/mtx-1 arch/mips/au1000/common >> 304 LOADADDR += 0x80100000 137 endif 305 endif 138 CFLAGS-$(CONFIG_PPC64) += -mcmodel=medium << 139 CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-m << 140 CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-m << 141 306 142 # Clang unconditionally reserves r2 on ppc32 a !! 307 ifdef CONFIG_MIPS_PB1550 143 # https://llvm.org/pr39555 !! 308 LIBS += arch/mips/au1000/pb1550/pb1550.o \ 144 CFLAGS-$(CONFIG_PPC32) := $(call cc-option, - !! 309 arch/mips/au1000/common/au1000.o >> 310 SUBDIRS += arch/mips/au1000/pb1550 arch/mips/au1000/common >> 311 LOADADDR += 0x80100000 >> 312 endif 145 313 146 # Clang doesn't support -mmultiple / -mno-mult << 147 # https://llvm.org/pr39556 << 148 CFLAGS-$(CONFIG_PPC32) += $(call cc-option, $ << 149 314 150 CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-m !! 315 # >> 316 # Cogent CSB250 >> 317 # >> 318 ifdef CONFIG_COGENT_CSB250 >> 319 LIBS += arch/mips/au1000/csb250/csb250.o \ >> 320 arch/mips/au1000/common/au1000.o >> 321 SUBDIRS += arch/mips/au1000/csb250 arch/mips/au1000/common >> 322 LOADADDR := 0x80100000 >> 323 endif 151 324 152 CC_FLAGS_FPU := $(call cc-option,-m !! 325 ifdef CONFIG_PCI 153 CC_FLAGS_NO_FPU := $(call cc-option,-m !! 326 CORE_FILES += arch/mips/pci/pci-core.o >> 327 SUBDIRS += arch/mips/pci >> 328 endif 154 329 155 ifdef CONFIG_FUNCTION_TRACER !! 330 # 156 ifdef CONFIG_ARCH_USING_PATCHABLE_FUNCTION_ENT !! 331 # Algorithmics P4032 157 KBUILD_CPPFLAGS += -DCC_USING_PATCHABLE_FUNCTI !! 332 # 158 CC_FLAGS_FTRACE := -fpatchable-function-entry= !! 333 ifdef CONFIG_ALGOR_P4032 159 else !! 334 CORE_FILES += arch/mips/algor/algor.o 160 CC_FLAGS_FTRACE := -pg !! 335 SUBDIRS += arch/mips/algor 161 ifdef CONFIG_MPROFILE_KERNEL !! 336 LOADADDR := 0x80000000 162 CC_FLAGS_FTRACE += -mprofile-kernel << 163 endif 337 endif >> 338 >> 339 # >> 340 # Baget/MIPS >> 341 # >> 342 ifdef CONFIG_BAGET_MIPS >> 343 SUBDIRS += arch/mips/baget arch/mips/baget/prom >> 344 LIBS += arch/mips/baget/baget.a arch/mips/baget/prom/bagetlib.a >> 345 LOADADDR := 0x80001000 164 endif 346 endif >> 347 >> 348 # >> 349 # Cobalt Server >> 350 # >> 351 ifdef CONFIG_MIPS_COBALT >> 352 SUBDIRS += arch/mips/cobalt >> 353 CORE_FILES += arch/mips/cobalt/cobalt.o >> 354 LOADADDR := 0x80080000 165 endif 355 endif 166 356 167 CFLAGS-$(CONFIG_TARGET_CPU_BOOL) += -mcpu=$(CO !! 357 # 168 AFLAGS-$(CONFIG_TARGET_CPU_BOOL) += -mcpu=$(CO !! 358 # DECstation family >> 359 # >> 360 ifdef CONFIG_DECSTATION >> 361 CORE_FILES += arch/mips/dec/dec.o >> 362 SUBDIRS += arch/mips/dec arch/mips/dec/prom >> 363 LIBS += arch/mips/dec/prom/rexlib.a >> 364 LOADADDR := 0x80040000 >> 365 endif 169 366 170 CFLAGS-y += $(CONFIG_TUNE_CPU) !! 367 # >> 368 # Galileo EV64120 Board >> 369 # >> 370 ifdef CONFIG_MIPS_EV64120 >> 371 LIBS += arch/mips/gt64120/common/gt64120.o \ >> 372 arch/mips/gt64120/ev64120/ev64120.o >> 373 SUBDIRS += arch/mips/gt64120/common arch/mips/gt64120/ev64120 >> 374 LOADADDR := 0x80100000 >> 375 endif 171 376 172 asinstr := $(call as-instr,lis 9$(comma)foo@hi !! 377 # >> 378 # Galileo EV96100 Board >> 379 # >> 380 ifdef CONFIG_MIPS_EV96100 >> 381 LIBS += arch/mips/galileo-boards/ev96100/ev96100.o >> 382 SUBDIRS += arch/mips/galileo-boards/ev96100 >> 383 LOADADDR := 0x80100000 >> 384 endif 173 385 174 KBUILD_CPPFLAGS += -I $(srctree)/arch/powerpc !! 386 # 175 KBUILD_AFLAGS += $(AFLAGS-y) !! 387 # Globespan IVR eval board with QED 5231 CPU 176 KBUILD_CFLAGS += $(CC_FLAGS_NO_FPU) !! 388 # 177 KBUILD_CFLAGS += $(CFLAGS-y) !! 389 ifdef CONFIG_MIPS_IVR 178 CPP = $(CC) -E $(KBUILD_CFLAGS) !! 390 LIBS += arch/mips/ite-boards/ivr/ivr.o \ >> 391 arch/mips/ite-boards/generic/it8172.o >> 392 SUBDIRS += arch/mips/ite-boards/generic arch/mips/ite-boards/ivr >> 393 LOADADDR := 0x80100000 >> 394 endif 179 395 180 CHECKFLAGS += -m$(BITS) -D__powerpc__ -D_ !! 396 # 181 ifdef CONFIG_CPU_BIG_ENDIAN !! 397 # HP LaserJet 182 CHECKFLAGS += -D__BIG_ENDIAN__ !! 398 # 183 else !! 399 ifdef CONFIG_HP_LASERJET 184 CHECKFLAGS += -D__LITTLE_ENDIAN__ !! 400 SUBDIRS += arch/mips/hp-lj >> 401 LIBS += arch/mips/hp-lj/hp-lj.o >> 402 LOADADDR := 0x80030000 185 endif 403 endif 186 404 187 ifdef CONFIG_476FPE_ERR46 !! 405 # 188 KBUILD_LDFLAGS_MODULE += --ppc476-work !! 406 # ITE 8172 eval board with QED 5231 CPU 189 -T $(srctree)/arch/powerpc/pla !! 407 # >> 408 ifdef CONFIG_MIPS_ITE8172 >> 409 LIBS += arch/mips/ite-boards/qed-4n-s01b/ite.o \ >> 410 arch/mips/ite-boards/generic/it8172.o >> 411 SUBDIRS += arch/mips/ite-boards/generic arch/mips/ite-boards/qed-4n-s01b >> 412 LOADADDR := 0x80100000 190 endif 413 endif 191 414 192 # No prefix or pcrel !! 415 # 193 ifdef CONFIG_PPC_KERNEL_PREFIXED !! 416 # MIPS Atlas board 194 KBUILD_CFLAGS += $(call cc-option,-mprefixed) !! 417 # 195 else !! 418 ifdef CONFIG_MIPS_ATLAS 196 KBUILD_CFLAGS += $(call cc-option,-mno-prefixe !! 419 LIBS += arch/mips/mips-boards/atlas/atlas.o \ >> 420 arch/mips/mips-boards/generic/mipsboards.o >> 421 SUBDIRS += arch/mips/mips-boards/generic arch/mips/mips-boards/atlas >> 422 LOADADDR := 0x80100000 197 endif 423 endif 198 ifdef CONFIG_PPC_KERNEL_PCREL !! 424 199 KBUILD_CFLAGS += $(call cc-option,-mpcrel) !! 425 # 200 else !! 426 # MIPS Malta board 201 KBUILD_CFLAGS += $(call cc-option,-mno-pcrel) !! 427 # >> 428 ifdef CONFIG_MIPS_MALTA >> 429 LIBS += arch/mips/mips-boards/malta/malta.o \ >> 430 arch/mips/mips-boards/generic/mipsboards.o >> 431 SUBDIRS += arch/mips/mips-boards/malta arch/mips/mips-boards/generic >> 432 LOADADDR := 0x80100000 >> 433 endif >> 434 >> 435 # >> 436 # MIPS SEAD board >> 437 # >> 438 ifdef CONFIG_MIPS_SEAD >> 439 LIBS += arch/mips/mips-boards/sead/sead.o \ >> 440 arch/mips/mips-boards/generic/mipsboards.o >> 441 SUBDIRS += arch/mips/mips-boards/generic arch/mips/mips-boards/sead >> 442 LOADADDR := 0x80100000 >> 443 endif >> 444 >> 445 # >> 446 # Momentum Ocelot board >> 447 # >> 448 ifdef CONFIG_MOMENCO_OCELOT >> 449 # The Ocelot setup.o must be linked early - it does the ioremap() for the >> 450 # mips_io_port_base. >> 451 CORE_FILES += arch/mips/gt64120/common/gt64120.o \ >> 452 arch/mips/gt64120/momenco_ocelot/momenco_ocelot.o >> 453 SUBDIRS += arch/mips/gt64120/common arch/mips/gt64120/momenco_ocelot >> 454 LOADADDR := 0x80100000 >> 455 endif >> 456 >> 457 # >> 458 # Momentum Ocelot-G board >> 459 # >> 460 ifdef CONFIG_MOMENCO_OCELOT_G >> 461 # The Ocelot-G setup.o must be linked early - it does the ioremap() for the >> 462 # mips_io_port_base. >> 463 CORE_FILES += arch/mips/momentum/ocelot_g/ocelot_g.o >> 464 SUBDIRS += arch/mips/momentum/ocelot_g >> 465 LOADADDR := 0x80100000 202 endif 466 endif 203 467 204 # No AltiVec or VSX or MMA instructions when b !! 468 # 205 KBUILD_CFLAGS += $(call cc-option,-mno-altivec !! 469 # Momentum Ocelot-C and -CS boards 206 KBUILD_CFLAGS += $(call cc-option,-mno-vsx) !! 470 # 207 KBUILD_CFLAGS += $(call cc-option,-mno-mma) !! 471 ifdef CONFIG_MOMENCO_OCELOT_C 208 !! 472 # The Ocelot-C[S] setup.o must be linked early - it does the ioremap() for the 209 # No SPE instruction when building kernel !! 473 # mips_io_port_base. 210 # (We use all available options to help semi-b !! 474 CORE_FILES += arch/mips/momentum/ocelot_c/ocelot_c.o 211 KBUILD_CFLAGS += $(call cc-option,-mno-spe) !! 475 SUBDIRS += arch/mips/momentum/ocelot_c 212 KBUILD_CFLAGS += $(call cc-option,-mspe=no) !! 476 LOADADDR := 0x80100000 213 !! 477 endif 214 # Don't emit .eh_frame since we have no use fo !! 478 215 KBUILD_CFLAGS += -fno-asynchronous-unwind-tabl !! 479 ifdef CONFIG_PMC_BIG_SUR 216 !! 480 CORE_FILES += arch/mips/pmc-sierra/big_sur/big_sur.o 217 # Never use string load/store instructions as !! 481 SUBDIRS += arch/mips/pmc-sierra/big_sur 218 # often slow when they are implemented at all !! 482 LOADADDR := 0x80100000 219 KBUILD_CFLAGS += $(call cc-option,-m !! 483 endif 220 !! 484 221 KBUILD_AFLAGS += $(aflags-y) !! 485 ifdef CONFIG_PMC_STRETCH 222 KBUILD_CFLAGS += $(cflags-y) !! 486 CORE_FILES += arch/mips/pmc-sierra/stretch/stretch.o 223 !! 487 SUBDIRS += arch/mips/pmc-sierra/stretch 224 # Default to zImage, override when needed !! 488 LOADADDR := 0x80200000 225 all: zImage !! 489 endif 226 !! 490 227 # With make 3.82 we cannot mix normal and wild !! 491 ifdef CONFIG_MOMENCO_JAGUAR_ATX 228 BOOT_TARGETS1 := zImage zImage.initrd uImage !! 492 LIBS += arch/mips/momentum/jaguar_atx/jaguar_atx.o 229 BOOT_TARGETS2 := zImage% dtbImage% treeImage.% !! 493 SUBDIRS += arch/mips/momentum/jaguar_atx 230 !! 494 ifdef CONFIG_JAGUAR_DMALOW 231 PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2) !! 495 LOADADDR := 0x88000000 232 << 233 boot := arch/powerpc/boot << 234 << 235 $(BOOT_TARGETS1): vmlinux << 236 $(Q)$(MAKE) $(build)=$(boot) $(patsubs << 237 $(BOOT_TARGETS2): vmlinux << 238 $(Q)$(MAKE) $(build)=$(boot) $(patsubs << 239 << 240 << 241 PHONY += bootwrapper_install << 242 bootwrapper_install: << 243 $(Q)$(MAKE) $(build)=$(boot) $(patsubs << 244 << 245 include $(srctree)/scripts/Makefile.defconf << 246 << 247 generated_configs += ppc64le_defconfig << 248 ppc64le_defconfig: << 249 $(call merge_into_defconfig,ppc64_defc << 250 << 251 generated_configs += ppc64le_guest_defconfig << 252 ppc64le_guest_defconfig: << 253 $(call merge_into_defconfig,ppc64_defc << 254 << 255 generated_configs += ppc64_guest_defconfig << 256 ppc64_guest_defconfig: << 257 $(call merge_into_defconfig,ppc64_defc << 258 << 259 generated_configs += pseries_le_defconfig << 260 pseries_le_defconfig: ppc64le_guest_defconfig << 261 << 262 generated_configs += pseries_defconfig << 263 pseries_defconfig: ppc64le_guest_defconfig << 264 << 265 generated_configs += powernv_be_defconfig << 266 powernv_be_defconfig: << 267 $(call merge_into_defconfig,powernv_de << 268 << 269 generated_configs += mpc85xx_defconfig << 270 mpc85xx_defconfig: << 271 $(call merge_into_defconfig,mpc85xx_ba << 272 85xx-32bit 85xx-hw fsl-emb-non << 273 << 274 generated_configs += mpc85xx_smp_defconfig << 275 mpc85xx_smp_defconfig: << 276 $(call merge_into_defconfig,mpc85xx_ba << 277 85xx-32bit 85xx-smp 85xx-hw fs << 278 << 279 generated_configs += corenet32_smp_defconfig << 280 corenet32_smp_defconfig: << 281 $(call merge_into_defconfig,corenet_ba << 282 85xx-32bit 85xx-smp 85xx-hw fs << 283 << 284 generated_configs += corenet64_smp_defconfig << 285 corenet64_smp_defconfig: << 286 $(call merge_into_defconfig,corenet_ba << 287 85xx-64bit 85xx-smp altivec 85 << 288 << 289 generated_configs += mpc86xx_defconfig << 290 mpc86xx_defconfig: << 291 $(call merge_into_defconfig,mpc86xx_ba << 292 86xx-hw fsl-emb-nonhw) << 293 << 294 generated_configs += mpc86xx_smp_defconfig << 295 mpc86xx_smp_defconfig: << 296 $(call merge_into_defconfig,mpc86xx_ba << 297 86xx-smp 86xx-hw fsl-emb-nonhw << 298 << 299 generated_configs += ppc32_allmodconfig << 300 ppc32_allmodconfig: << 301 $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctre << 302 -f $(srctree)/Makefile allmodc << 303 << 304 generated_configs += ppc44x_allmodconfig << 305 ppc44x_allmodconfig: << 306 $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctre << 307 -f $(srctree)/Makefile allmodc << 308 << 309 generated_configs += ppc8xx_allmodconfig << 310 ppc8xx_allmodconfig: << 311 $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctre << 312 -f $(srctree)/Makefile allmodc << 313 << 314 generated_configs += ppc85xx_allmodconfig << 315 ppc85xx_allmodconfig: << 316 $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctre << 317 -f $(srctree)/Makefile allmodc << 318 << 319 generated_configs += ppc_defconfig << 320 ppc_defconfig: << 321 $(call merge_into_defconfig,book3s_32. << 322 << 323 generated_configs += ppc64le_allmodconfig << 324 ppc64le_allmodconfig: << 325 $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctre << 326 -f $(srctree)/Makefile allmodc << 327 << 328 generated_configs += ppc64le_allnoconfig << 329 ppc64le_allnoconfig: << 330 $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctre << 331 -f $(srctree)/Makefile allnoco << 332 << 333 generated_configs += ppc64_book3e_allmodconfig << 334 ppc64_book3e_allmodconfig: << 335 $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctre << 336 -f $(srctree)/Makefile allmodc << 337 << 338 generated_configs += ppc32_randconfig << 339 ppc32_randconfig: << 340 $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctre << 341 -f $(srctree)/Makefile randcon << 342 << 343 generated_configs += ppc64_randconfig << 344 ppc64_randconfig: << 345 $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctre << 346 -f $(srctree)/Makefile randcon << 347 << 348 PHONY += $(generated_configs) << 349 << 350 define archhelp << 351 echo '* zImage - Build default imag << 352 echo ' zImage.* - Compressed kernel << 353 echo ' uImage - U-Boot native imag << 354 echo ' cuImage.<dt> - Backwards compatib << 355 echo ' versions which do << 356 echo ' dtbImage.<dt> - zImage with an emb << 357 echo ' simpleImage.<dt> - Firmware independ << 358 echo ' treeImage.<dt> - Support for older << 359 echo ' install - Install kernel usi << 360 echo ' (your) ~/bin/$(INS << 361 echo ' (distribution) /sb << 362 echo ' install to $$(INST << 363 echo ' *_defconfig - Select default con << 364 echo '' << 365 echo ' Targets with <dt> embed a device tre << 366 echo ' These targets support board with fir << 367 echo ' support passing a device tree direct << 368 echo ' name of a dts file from the arch/pow << 369 echo ' (minus the .dts extension).' << 370 echo << 371 $(foreach cfg,$(generated_configs), << 372 printf " %-27s - Build for %s\\n" $(cfg) << 373 endef << 374 << 375 PHONY += install << 376 install: << 377 $(call cmd,install) << 378 << 379 ifeq ($(KBUILD_EXTMOD),) << 380 # We need to generate vdso-offsets.h before co << 381 # In order to do that, we should use the archp << 382 # asm-offsets.h is included in some files used << 383 # asm-offsets.h is built in prepare0, for whic << 384 # Therefore we need to generate the header aft << 385 # this hack. << 386 prepare: vdso_prepare << 387 vdso_prepare: prepare0 << 388 $(if $(CONFIG_VDSO32),$(Q)$(MAKE) \ << 389 $(build)=arch/powerpc/kernel/v << 390 $(if $(CONFIG_PPC64),$(Q)$(MAKE) \ << 391 $(build)=arch/powerpc/kernel/v << 392 endif << 393 << 394 archprepare: checkbin << 395 << 396 archheaders: << 397 $(Q)$(MAKE) $(build)=arch/powerpc/kern << 398 << 399 ifdef CONFIG_STACKPROTECTOR << 400 prepare: stack_protector_prepare << 401 << 402 PHONY += stack_protector_prepare << 403 stack_protector_prepare: prepare0 << 404 ifdef CONFIG_PPC64 << 405 $(eval KBUILD_CFLAGS += -mstack-protec << 406 else 496 else 407 $(eval KBUILD_CFLAGS += -mstack-protec !! 497 LOADADDR := 0x80100000 >> 498 endif >> 499 endif >> 500 >> 501 # >> 502 # NEC DDB Vrc-5074 >> 503 # >> 504 ifdef CONFIG_DDB5074 >> 505 SUBDIRS += arch/mips/ddb5xxx/common arch/mips/ddb5xxx/ddb5074 >> 506 LIBS += arch/mips/ddb5xxx/common/ddb5xxx.o arch/mips/ddb5xxx/ddb5074/ddb5074.o >> 507 LOADADDR := 0x80080000 >> 508 endif >> 509 >> 510 # >> 511 # NEC DDB Vrc-5476 >> 512 # >> 513 ifdef CONFIG_DDB5476 >> 514 SUBDIRS += arch/mips/ddb5xxx/common arch/mips/ddb5xxx/ddb5476 >> 515 LIBS += arch/mips/ddb5xxx/common/ddb5xxx.o \ >> 516 arch/mips/ddb5xxx/ddb5476/ddb5476.o >> 517 LOADADDR := 0x80080000 >> 518 endif >> 519 >> 520 # >> 521 # NEC DDB Vrc-5477 >> 522 # >> 523 ifdef CONFIG_DDB5477 >> 524 SUBDIRS += arch/mips/ddb5xxx/common arch/mips/ddb5xxx/ddb5477 >> 525 LIBS += arch/mips/ddb5xxx/common/ddb5xxx.o \ >> 526 arch/mips/ddb5xxx/ddb5477/ddb5477.o >> 527 LOADADDR := 0x80100000 >> 528 endif >> 529 >> 530 ifdef CONFIG_LASAT >> 531 LIBS += arch/mips/lasat/lasatkern.o >> 532 SUBDIRS += arch/mips/lasat >> 533 LOADADDR += 0x80000000 >> 534 endif >> 535 # >> 536 # NEC Osprey (vr4181) board >> 537 # >> 538 ifdef CONFIG_NEC_OSPREY >> 539 SUBDIRS += arch/mips/vr4181/common arch/mips/vr4181/osprey >> 540 LIBS += arch/mips/vr4181/common/vr4181.o \ >> 541 arch/mips/vr4181/osprey/osprey.o >> 542 LOADADDR := 0x80002000 >> 543 endif >> 544 >> 545 # >> 546 # NEC Eagle/Hawk (VR4122/VR4131) board >> 547 # >> 548 ifdef CONFIG_NEC_EAGLE >> 549 SUBDIRS += arch/mips/vr41xx/common \ >> 550 arch/mips/vr41xx/nec-eagle >> 551 CORE_FILES += arch/mips/vr41xx/common/vr41xx.o \ >> 552 arch/mips/vr41xx/nec-eagle/eagle.o >> 553 LOADADDR := 0x80000000 >> 554 endif >> 555 >> 556 # >> 557 # ZAO Networks Capcella (VR4131) >> 558 # >> 559 ifdef CONFIG_ZAO_CAPCELLA >> 560 SUBDIRS += arch/mips/vr41xx/common \ >> 561 arch/mips/vr41xx/zao-capcella >> 562 CORE_FILES += arch/mips/vr41xx/common/vr41xx.o \ >> 563 arch/mips/vr41xx/zao-capcella/capcella.o >> 564 LOADADDR := 0x80000000 >> 565 endif >> 566 >> 567 # >> 568 # Victor MP-C303/304 (VR4122) >> 569 # >> 570 ifdef CONFIG_VICTOR_MPC30X >> 571 SUBDIRS += arch/mips/vr41xx/common \ >> 572 arch/mips/vr41xx/victor-mpc30x >> 573 CORE_FILES += arch/mips/vr41xx/common/vr41xx.o \ >> 574 arch/mips/vr41xx/victor-mpc30x/mpc30x.o >> 575 LOADADDR := 0x80001000 >> 576 endif >> 577 >> 578 # >> 579 # IBM WorkPad z50 (VR4121) >> 580 # >> 581 ifdef CONFIG_IBM_WORKPAD >> 582 SUBDIRS += arch/mips/vr41xx/common \ >> 583 arch/mips/vr41xx/ibm-workpad >> 584 CORE_FILES += arch/mips/vr41xx/common/vr41xx.o \ >> 585 arch/mips/vr41xx/ibm-workpad/workpad.o >> 586 LOADADDR += 0x80004000 >> 587 endif >> 588 >> 589 # >> 590 # CASIO CASSIPEIA E-55/65 (VR4111) >> 591 # >> 592 ifdef CONFIG_CASIO_E55 >> 593 SUBDIRS += arch/mips/vr41xx/common \ >> 594 arch/mips/vr41xx/casio-e55 >> 595 CORE_FILES += arch/mips/vr41xx/common/vr41xx.o \ >> 596 arch/mips/vr41xx/casio-e55/e55.o >> 597 LOADADDR += 0x80004000 >> 598 endif >> 599 >> 600 # >> 601 # TANBAC TB0226 Mbase (VR4131) >> 602 # >> 603 ifdef CONFIG_TANBAC_TB0226 >> 604 SUBDIRS += arch/mips/vr41xx/common \ >> 605 arch/mips/vr41xx/tanbac-tb0226 >> 606 CORE_FILES += arch/mips/vr41xx/common/vr41xx.o \ >> 607 arch/mips/vr41xx/tanbac-tb0226/tb0226.o >> 608 LOADADDR := 0x80000000 >> 609 endif >> 610 >> 611 # >> 612 # TANBAC TB0229 (VR4131DIMM) >> 613 # >> 614 ifdef CONFIG_TANBAC_TB0229 >> 615 SUBDIRS += arch/mips/vr41xx/common \ >> 616 arch/mips/vr41xx/tanbac-tb0229 >> 617 CORE_FILES += arch/mips/vr41xx/common/vr41xx.o \ >> 618 arch/mips/vr41xx/tanbac-tb0229/tb0229.o >> 619 LOADADDR := 0x80000000 408 endif 620 endif >> 621 >> 622 # >> 623 # Philips Nino >> 624 # >> 625 ifdef CONFIG_NINO >> 626 CORE_FILES += arch/mips/philips/nino/nino.o >> 627 SUBDIRS += arch/mips/philips/nino >> 628 LOADADDR := 0x80000000 >> 629 endif >> 630 >> 631 # >> 632 # SGI IP22 (Indy/Indigo2) >> 633 # >> 634 ifdef CONFIG_SGI_IP22 >> 635 CORE_FILES += arch/mips/sgi-ip22/ip22-kern.o >> 636 LIBS += arch/mips/arc/arclib.a >> 637 SUBDIRS += arch/mips/sgi-ip22 arch/mips/arc >> 638 # >> 639 # Set LOADADDR to >= 0x88069000 if you want to leave space for symmon, >> 640 # 0x88002000 for production kernels. Note that the value must be >> 641 # 8kb aligned or the handling of the current variable will break. >> 642 # >> 643 LOADADDR := 0x88002000 >> 644 endif >> 645 >> 646 # >> 647 # Sibyte SB1250 SOC and Broadcom (SiByte) BCM112x SOCs >> 648 # >> 649 ifneq ($(CONFIG_SIBYTE_SB1250)$(CONFIG_SIBYTE_BCM112X),) >> 650 # This is a LIB so that it links at the end, and initcalls are later >> 651 # the sequence; but it is built as an object so that modules don't get >> 652 # removed (as happens, even if they have __initcall/module_init) >> 653 LIBS += arch/mips/sibyte/sb1250/sb1250.o >> 654 SUBDIRS += arch/mips/sibyte/sb1250 >> 655 LOADADDR := 0x80100000 >> 656 endif >> 657 >> 658 # >> 659 # Sibyte boards: >> 660 # >> 661 # BCM91250A (SWARM), >> 662 # BCM91250E (Sentosa), >> 663 # BCM91120C (CRhine), >> 664 # BCM91120x (Carmel), >> 665 # BCM91125C (CRhone), >> 666 # BCM91125E (Rhone). >> 667 # >> 668 ifdef CONFIG_SIBYTE_BOARD >> 669 LIBS += arch/mips/sibyte/swarm/sbswarm.a >> 670 SUBDIRS += arch/mips/sibyte/swarm >> 671 endif >> 672 >> 673 # >> 674 # Sibyte CFE firmware >> 675 # >> 676 ifdef CONFIG_SIBYTE_CFE >> 677 LIBS += arch/mips/sibyte/cfe/cfe.a >> 678 SUBDIRS += arch/mips/sibyte/cfe 409 endif 679 endif 410 680 411 PHONY += checkbin !! 681 # 412 checkbin: !! 682 # SNI RM200 PCI 413 @if test "x${CONFIG_FTRACE_MCOUNT_USE_ !! 683 # 414 "x${CONFIG_LD_IS_BFD}" = "xy" !! 684 ifdef CONFIG_SNI_RM200_PCI 415 "${CONFIG_LD_VERSION}" = "2370 !! 685 CORE_FILES += arch/mips/sni/sni.o 416 echo -n '*** binutils 2.37 dro !! 686 SUBDIRS += arch/mips/sni arch/mips/arc 417 echo 'is unable to handle.' ; !! 687 LIBS += arch/mips/arc/arclib.a 418 echo '*** Please use a differe !! 688 LOADADDR := 0x80080000 419 false ; \ !! 689 endif 420 fi !! 690 >> 691 # >> 692 # Toshiba JMR-TX3927 board >> 693 # >> 694 ifdef CONFIG_TOSHIBA_JMR3927 >> 695 CORE_FILES += arch/mips/jmr3927/rbhma3100/jmr3927.o \ >> 696 arch/mips/jmr3927/common/tx3927.o >> 697 SUBDIRS += arch/mips/jmr3927/rbhma3100 arch/mips/jmr3927/common >> 698 LOADADDR := 0x80050000 >> 699 endif >> 700 >> 701 # >> 702 # Toshiba RBTX4927 board or >> 703 # Toshiba RBTX4937 board >> 704 # >> 705 ifdef CONFIG_TOSHIBA_RBTX4927 >> 706 MIPS = arch/mips >> 707 CEC = tx4927 >> 708 COMMON = $(MIPS)/$(CEC)/common >> 709 BOARD = $(MIPS)/$(CEC)/toshiba_rbtx4927 >> 710 LIBS += $(BOARD)/toshiba_rbtx4927.o $(COMMON)/tx4927.o >> 711 SUBDIRS += $(BOARD) $(COMMON) >> 712 LOADADDR += 0x80020000 >> 713 endif >> 714 >> 715 # >> 716 # Choosing incompatible machines durings configuration will result in >> 717 # error messages during linking. Select a default linkscript if >> 718 # none has been choosen above. >> 719 # >> 720 vmlinux: arch/$(ARCH)/ld.script >> 721 >> 722 arch/$(ARCH)/ld.script: arch/$(ARCH)/ld.script.in arch/$(ARCH)/Makefile >> 723 sed -e 's/@@LOADADDR@@/$(LOADADDR)/' <$< >$@ >> 724 LINKFLAGS += -T arch/$(ARCH)/ld.script >> 725 >> 726 HEAD := arch/mips/kernel/head.o arch/mips/kernel/init_task.o >> 727 >> 728 SUBDIRS := $(addprefix arch/mips/, tools) $(SUBDIRS) $(addprefix arch/mips/, kernel mm lib) >> 729 CORE_FILES := arch/mips/kernel/kernel.o arch/mips/mm/mm.o $(CORE_FILES) >> 730 LIBS := arch/mips/lib/lib.a $(LIBS) >> 731 >> 732 ifdef CONFIG_BAGET_MIPS >> 733 >> 734 BAGETBOOT = $(MAKE) -C arch/$(ARCH)/baget >> 735 >> 736 balo: vmlinux >> 737 $(BAGETBOOT) balo >> 738 >> 739 endif >> 740 >> 741 ifdef CONFIG_MIPS_EV64120 >> 742 gboot: vmlinux >> 743 $(MAKE) -C arch/$(ARCH)/galileo-boards/ev64120/compressed >> 744 endif >> 745 >> 746 ifdef CONFIG_LASAT >> 747 rom.bin rom.sw: vmlinux >> 748 $(MAKE) -C arch/$(ARCH)/lasat/image $@ >> 749 endif >> 750 >> 751 boot: mips-boot >> 752 >> 753 mips-boot: vmlinux >> 754 @$(MAKEBOOT) boot >> 755 >> 756 vmlinux.ecoff: vmlinux >> 757 @$(MAKEBOOT) $@ >> 758 >> 759 vmlinux.srec: vmlinux >> 760 @$(MAKEBOOT) $@ >> 761 >> 762 archclean: >> 763 @$(MAKEBOOT) clean >> 764 rm -f arch/$(ARCH)/ld.script >> 765 $(MAKE) -C arch/$(ARCH)/tools clean >> 766 $(MAKE) -C arch/mips/baget clean >> 767 $(MAKE) -C arch/mips/lasat clean >> 768 >> 769 archmrproper: >> 770 @$(MAKEBOOT) mrproper >> 771 $(RM) $(TOPDIR)/include/asm-$(ARCH)/offset.h >> 772 $(MAKE) -C arch/$(ARCH)/tools mrproper >> 773 >> 774 archdep: >> 775 if [ ! -f $(TOPDIR)/include/asm-$(ARCH)/offset.h ]; then \ >> 776 touch $(TOPDIR)/include/asm-$(ARCH)/offset.h; \ >> 777 fi; >> 778 @$(MAKEBOOT) dep
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.