blob: 6c17e1f3d0eccf2e3df55740867a0c9c1cbbe10b [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# Makefile for the Linux/MIPS kernel.
3#
4
Thomas Gleixner957b3692012-05-03 09:02:55 +00005extra-y := head.o vmlinux.lds
Linus Torvalds1da177e2005-04-16 15:20:36 -07006
7obj-y += cpu-probe.o branch.o entry.o genex.o irq.o process.o \
Matthew Wilcox64ac24e2008-03-07 21:55:58 -05008 ptrace.o reset.o setup.o signal.o syscall.o \
David Daneyc52d0d32010-02-18 16:13:04 -08009 time.o topology.o traps.o unaligned.o watch.o vdso.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
Wu Zhangjind2bb0762009-11-20 20:34:29 +080011ifdef CONFIG_FUNCTION_TRACER
Wu Zhangjin538f1952009-11-20 20:34:32 +080012CFLAGS_REMOVE_ftrace.o = -pg
Wu Zhangjind2bb0762009-11-20 20:34:29 +080013CFLAGS_REMOVE_early_printk.o = -pg
David Daneye5dcb582011-09-24 02:29:55 +020014CFLAGS_REMOVE_perf_event.o = -pg
15CFLAGS_REMOVE_perf_event_mipsxx.o = -pg
Wu Zhangjind2bb0762009-11-20 20:34:29 +080016endif
17
Ralf Baechle217dd112007-11-01 01:57:55 +000018obj-$(CONFIG_CEVT_BCM1480) += cevt-bcm1480.o
Ralf Baechlef772cdb2012-11-30 17:27:27 +010019obj-$(CONFIG_CEVT_R4K) += cevt-r4k.o
Kevin D. Kissell8531a352008-09-09 21:48:52 +020020obj-$(CONFIG_MIPS_MT_SMTC) += cevt-smtc.o
Yoichi Yuasa6457d9f2008-04-25 12:11:44 +090021obj-$(CONFIG_CEVT_DS1287) += cevt-ds1287.o
Yoichi Yuasa1097c6a2007-10-22 19:43:15 +090022obj-$(CONFIG_CEVT_GT641XX) += cevt-gt641xx.o
Ralf Baechle217dd112007-11-01 01:57:55 +000023obj-$(CONFIG_CEVT_SB1250) += cevt-sb1250.o
Atsushi Nemoto229f7732007-10-25 01:34:09 +090024obj-$(CONFIG_CEVT_TXX9) += cevt-txx9.o
Ralf Baechle217dd112007-11-01 01:57:55 +000025obj-$(CONFIG_CSRC_BCM1480) += csrc-bcm1480.o
Yoichi Yuasa42474172008-04-24 09:48:40 +090026obj-$(CONFIG_CSRC_IOASIC) += csrc-ioasic.o
David VomLehna3a0f8c2009-08-30 17:15:11 -070027obj-$(CONFIG_CSRC_POWERTV) += csrc-powertv.o
Steven J. Hilld7ea3352012-11-14 23:34:17 -060028obj-$(CONFIG_CSRC_R4K) += csrc-r4k.o
Ralf Baechle217dd112007-11-01 01:57:55 +000029obj-$(CONFIG_CSRC_SB1250) += csrc-sb1250.o
Ralf Baechle39b8d522008-04-28 17:14:26 +010030obj-$(CONFIG_SYNC_R4K) += sync-r4k.o
Ralf Baechle42f77542007-10-18 17:48:11 +010031
Atsushi Nemoto1df0f0f2006-09-26 23:44:01 +090032obj-$(CONFIG_STACKTRACE) += stacktrace.o
Thiemo Seufer4e6a05f2005-02-21 10:45:09 +000033obj-$(CONFIG_MODULES) += mips_ksyms.o module.o
David Howells786d35d2012-09-28 14:31:03 +093034obj-$(CONFIG_MODULES_USE_ELF_RELA) += module-rela.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
Wu Zhangjin538f1952009-11-20 20:34:32 +080036obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ftrace.o
Wu Zhangjind2bb0762009-11-20 20:34:29 +080037
Florian Fainelli91405eb2012-01-31 18:18:44 +010038obj-$(CONFIG_CPU_R4K_FPU) += r4k_fpu.o r4k_switch.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070039obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o
Fuxin Zhang2a21c732007-06-06 14:52:43 +080040obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o
Fuxin Zhang2a21c732007-06-06 14:52:43 +080041obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o
David Daney7e69deb2008-12-11 15:33:28 -080042obj-$(CONFIG_CPU_CAVIUM_OCTEON) += octeon_switch.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070043
44obj-$(CONFIG_SMP) += smp.o
Ralf Baechle940f6b42007-11-24 22:33:28 +000045obj-$(CONFIG_SMP_UP) += smp-up.o
Kevin Cernekeedf0ac8a2011-11-16 01:25:45 +000046obj-$(CONFIG_CPU_BMIPS) += smp-bmips.o bmips_vec.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070047
Ralf Baechle41c594a2006-04-05 09:45:45 +010048obj-$(CONFIG_MIPS_MT) += mips-mt.o
Ralf Baechle295cbf62007-07-03 14:37:43 +010049obj-$(CONFIG_MIPS_MT_FPAFF) += mips-mt-fpaff.o
Ralf Baechle41c594a2006-04-05 09:45:45 +010050obj-$(CONFIG_MIPS_MT_SMTC) += smtc.o smtc-asm.o smtc-proc.o
51obj-$(CONFIG_MIPS_MT_SMP) += smp-mt.o
Ralf Baechle39b8d522008-04-28 17:14:26 +010052obj-$(CONFIG_MIPS_CMP) += smp-cmp.o
Chris Dearman0b6d4972007-09-13 12:32:02 +010053obj-$(CONFIG_CPU_MIPSR2) += spram.o
Ralf Baechle340ee4b2005-08-17 17:44:08 +000054
Ralf Baechlee01402b2005-07-14 15:57:16 +000055obj-$(CONFIG_MIPS_VPE_LOADER) += vpe.o
56obj-$(CONFIG_MIPS_VPE_APSP_API) += rtlx.o
57
Linus Torvalds1da177e2005-04-16 15:20:36 -070058obj-$(CONFIG_I8259) += i8259.o
59obj-$(CONFIG_IRQ_CPU) += irq_cpu.o
60obj-$(CONFIG_IRQ_CPU_RM7K) += irq-rm7000.o
Ralf Baechled5deda62008-07-15 18:44:34 +010061obj-$(CONFIG_MIPS_MSC) += irq-msc01.o
Atsushi Nemoto8420fd02007-08-02 23:35:53 +090062obj-$(CONFIG_IRQ_TXX9) += irq_txx9.o
Yoichi Yuasad5ab1a62007-09-13 23:51:26 +090063obj-$(CONFIG_IRQ_GT641XX) += irq-gt641xx.o
Ralf Baechle39b8d522008-04-28 17:14:26 +010064obj-$(CONFIG_IRQ_GIC) += irq-gic.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070065
David Daneyc1bf2072010-08-03 11:22:20 -070066obj-$(CONFIG_KPROBES) += kprobes.o
Ralf Baechle875d43e2005-09-03 15:56:16 -070067obj-$(CONFIG_32BIT) += scall32-o32.o
68obj-$(CONFIG_64BIT) += scall64-64.o
Ralf Baechle38201fb2007-02-15 01:53:00 +000069obj-$(CONFIG_MIPS32_COMPAT) += linux32.o ptrace32.o signal32.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070070obj-$(CONFIG_MIPS32_N32) += binfmt_elfn32.o scall64-n32.o signal_n32.o
Ralf Baechle38201fb2007-02-15 01:53:00 +000071obj-$(CONFIG_MIPS32_O32) += binfmt_elfo32.o scall64-o32.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070072
Jason Wessel88547002008-07-29 15:58:53 -050073obj-$(CONFIG_KGDB) += kgdb.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070074obj-$(CONFIG_PROC_FS) += proc.o
75
Ralf Baechle875d43e2005-09-03 15:56:16 -070076obj-$(CONFIG_64BIT) += cpu-bugs64.o
Linus Torvalds1da177e2005-04-16 15:20:36 -070077
Ralf Baechled865bea2007-10-11 23:46:10 +010078obj-$(CONFIG_I8253) += i8253.o
Michael Neulinge5c6c8e2006-03-14 00:11:50 -050079
Atsushi Nemotoa9aec7f2008-04-05 00:55:41 +090080obj-$(CONFIG_GPIO_TXX9) += gpio_txx9.o
81
Ralf Baechle7aa1c8f2012-10-11 18:14:58 +020082obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o crash.o
83obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
Ralf Baechle36a88532007-03-01 11:56:43 +000084obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
David Daneybba90762010-02-16 15:26:35 -080085obj-$(CONFIG_SPINLOCK_TEST) += spinlock_test.o
Gabor Juhos487d70d2010-11-23 16:06:25 +010086obj-$(CONFIG_MIPS_MACHINE) += mips_machine.o
Nicolas Schichan583bb862006-10-18 15:14:55 +020087
Dezhong Diaof2ffa5a2010-10-13 00:52:46 -060088obj-$(CONFIG_OF) += prom.o
89
Jean Delvareb1e0d8b2012-10-02 16:42:36 +020090CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/null -x c /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi)
Ralf Baechlee7c47822007-07-10 17:33:01 +010091
92obj-$(CONFIG_HAVE_STD_PC_SERIAL_PORT) += 8250-platform.o
Ralf Baechledde96ca2007-07-30 11:48:58 +010093
Wu Zhangjinf8ede0f2009-11-17 01:32:59 +080094obj-$(CONFIG_MIPS_CPUFREQ) += cpufreq/
95
David Daneye5dcb582011-09-24 02:29:55 +020096obj-$(CONFIG_PERF_EVENTS) += perf_event.o
97obj-$(CONFIG_HW_PERF_EVENTS) += perf_event_mipsxx.o
Deng-Cheng Zhu14f70012010-10-12 19:37:22 +080098
David Daney94bb0c12010-12-28 13:26:23 -080099obj-$(CONFIG_JUMP_LABEL) += jump_label.o
100
Steven J. Hill32a7ede2013-01-03 19:01:52 +0000101#
102# DSP ASE supported for MIPS32 or MIPS64 Release 2 cores only. It is safe
103# to enable DSP assembler support here even if the MIPS Release 2 CPU we
104# are targetting does not support DSP because all code-paths making use of
105# it properly check that the running CPU *actually does* support these
106# instructions.
107#
108ifeq ($(CONFIG_CPU_MIPSR2), y)
109CFLAGS_DSP = -DHAVE_AS_DSP
110
111#
112# Check if assembler supports DSP ASE
113#
114ifeq ($(call cc-option-yn,-mdsp), y)
115CFLAGS_DSP += -mdsp
116endif
117
118#
119# Check if assembler supports DSP ASE Rev2
120#
121ifeq ($(call cc-option-yn,-mdspr2), y)
122CFLAGS_DSP += -mdspr2
123endif
124
125CFLAGS_signal.o = $(CFLAGS_DSP)
126CFLAGS_signal32.o = $(CFLAGS_DSP)
127CFLAGS_process.o = $(CFLAGS_DSP)
128CFLAGS_branch.o = $(CFLAGS_DSP)
129CFLAGS_ptrace.o = $(CFLAGS_DSP)
130endif
131
Ralf Baechlecf72e942009-12-17 01:57:36 +0000132CPPFLAGS_vmlinux.lds := $(KBUILD_CFLAGS)