xref: /linux/arch/riscv/kernel/Makefile (revision 22e2100b1b07d6f5acc71cc1acb53f680c677d77)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2fbe934d6SPalmer Dabbelt#
3fbe934d6SPalmer Dabbelt# Makefile for the RISC-V Linux kernel
4fbe934d6SPalmer Dabbelt#
5fbe934d6SPalmer Dabbelt
610626c32SAlan Kaoifdef CONFIG_FTRACE
767d94577SGuo RenCFLAGS_REMOVE_ftrace.o	= $(CC_FLAGS_FTRACE)
867d94577SGuo RenCFLAGS_REMOVE_patch.o	= $(CC_FLAGS_FTRACE)
95ad84adfSGuo RenCFLAGS_REMOVE_sbi.o	= $(CC_FLAGS_FTRACE)
1010626c32SAlan Kaoendif
11a6a58ecfSNanyong SunCFLAGS_syscall_table.o	+= $(call cc-option,-Wno-override-init,)
1210626c32SAlan Kao
13fba8a867SNick Kossifidisifdef CONFIG_KEXEC
14030d6dbfSChangbin DuAFLAGS_kexec_relocate.o := -mcmodel=medany $(call cc-option,-mno-relax)
15fba8a867SNick Kossifidisendif
16fba8a867SNick Kossifidis
17fbe934d6SPalmer Dabbeltextra-y += head.o
18fbe934d6SPalmer Dabbeltextra-y += vmlinux.lds
19fbe934d6SPalmer Dabbelt
20335b1390SDamien Le Moalobj-y	+= soc.o
21fbe934d6SPalmer Dabbeltobj-y	+= cpu.o
22fbe934d6SPalmer Dabbeltobj-y	+= cpufeature.o
23fbe934d6SPalmer Dabbeltobj-y	+= entry.o
24fbe934d6SPalmer Dabbeltobj-y	+= irq.o
25fbe934d6SPalmer Dabbeltobj-y	+= process.o
26fbe934d6SPalmer Dabbeltobj-y	+= ptrace.o
27fbe934d6SPalmer Dabbeltobj-y	+= reset.o
28fbe934d6SPalmer Dabbeltobj-y	+= setup.o
29fbe934d6SPalmer Dabbeltobj-y	+= signal.o
30fbe934d6SPalmer Dabbeltobj-y	+= syscall_table.o
31fbe934d6SPalmer Dabbeltobj-y	+= sys_riscv.o
32fbe934d6SPalmer Dabbeltobj-y	+= time.o
33fbe934d6SPalmer Dabbeltobj-y	+= traps.o
34fbe934d6SPalmer Dabbeltobj-y	+= riscv_ksyms.o
35fbe934d6SPalmer Dabbeltobj-y	+= stacktrace.o
36fbe934d6SPalmer Dabbeltobj-y	+= cacheinfo.o
37043cb41aSZong Liobj-y	+= patch.o
38c22b0bcbSGuo Renobj-y	+= probes/
396bd33e1eSChristoph Hellwigobj-$(CONFIG_MMU) += vdso.o vdso/
40fbe934d6SPalmer Dabbelt
412bc3fc87SAnup Patelobj-$(CONFIG_RISCV_M_MODE)	+= traps_misaligned.o
429671f706SAlan Kaoobj-$(CONFIG_FPU)		+= fpu.o
43fbe934d6SPalmer Dabbeltobj-$(CONFIG_SMP)		+= smpboot.o
44fbe934d6SPalmer Dabbeltobj-$(CONFIG_SMP)		+= smp.o
452875fe05SAtish Patraobj-$(CONFIG_SMP)		+= cpu_ops.o
462ffc48fcSAtish Patra
472ffc48fcSAtish Patraobj-$(CONFIG_RISCV_BOOT_SPINWAIT) += cpu_ops_spinwait.o
48fbe934d6SPalmer Dabbeltobj-$(CONFIG_MODULES)		+= module.o
49ab1ef68eSZong Liobj-$(CONFIG_MODULE_SECTIONS)	+= module-sections.o
50c15ac4fdSAlan Kao
51c15ac4fdSAlan Kaoobj-$(CONFIG_FUNCTION_TRACER)	+= mcount.o ftrace.o
52c15ac4fdSAlan Kaoobj-$(CONFIG_DYNAMIC_FTRACE)	+= mcount-dyn.o
53fbe934d6SPalmer Dabbelt
54*22e2100bSChangbin Duobj-$(CONFIG_TRACE_IRQFLAGS)	+= trace_irq.o
55*22e2100bSChangbin Du
5648084c35SKefeng Wangobj-$(CONFIG_RISCV_BASE_PMU)	+= perf_event.o
57dbeb90b0SMao Hanobj-$(CONFIG_PERF_EVENTS)	+= perf_callchain.o
5898a93b0bSMao Hanobj-$(CONFIG_HAVE_PERF_REGS)	+= perf_regs.o
593320648eSChristoph Hellwigobj-$(CONFIG_RISCV_SBI)		+= sbi.o
60cfafe260SAtish Patraifeq ($(CONFIG_RISCV_SBI), y)
61cfafe260SAtish Patraobj-$(CONFIG_SMP) += cpu_ops_sbi.o
62cfafe260SAtish Patraendif
63f1e58583SAtish Patraobj-$(CONFIG_HOTPLUG_CPU)	+= cpu-hotplug.o
64fe89bd2bSVincent Chenobj-$(CONFIG_KGDB)		+= kgdb.o
65e53d2818SNick Kossifidisobj-$(CONFIG_KEXEC)		+= kexec_relocate.o crash_save_regs.o machine_kexec.o
6656409750SNick Kossifidisobj-$(CONFIG_CRASH_DUMP)	+= crash_dump.o
67178e9fc4SAlan Kao
68ebc00ddeSEmil Renner Berthingobj-$(CONFIG_JUMP_LABEL)	+= jump_label.o
69ebc00ddeSEmil Renner Berthing
70b91540d5SAtish Patraobj-$(CONFIG_EFI)		+= efi.o
71