xref: /linux/arch/s390/kernel/Makefile (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
21da177e4SLinus Torvalds#
31da177e4SLinus Torvalds# Makefile for the linux kernel.
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds
6*29a63aa5SHeiko CarstensCONTEXT_ANALYSIS := y
7*29a63aa5SHeiko Carstens
882897edeSHeiko Carstensifdef CONFIG_FUNCTION_TRACER
982897edeSHeiko Carstens
1082897edeSHeiko Carstens# Do not trace tracer code
1182897edeSHeiko CarstensCFLAGS_REMOVE_ftrace.o		= $(CC_FLAGS_FTRACE)
1282897edeSHeiko Carstens
1382897edeSHeiko Carstens# Do not trace early setup code
1482897edeSHeiko CarstensCFLAGS_REMOVE_early.o		= $(CC_FLAGS_FTRACE)
15571a2a50SZe GaoCFLAGS_REMOVE_rethook.o		= $(CC_FLAGS_FTRACE)
16cae74ba8SSven SchnelleCFLAGS_REMOVE_stacktrace.o	= $(CC_FLAGS_FTRACE)
17cae74ba8SSven SchnelleCFLAGS_REMOVE_unwind_bc.o	= $(CC_FLAGS_FTRACE)
1882897edeSHeiko Carstens
1982897edeSHeiko Carstensendif
2082897edeSHeiko Carstens
2182897edeSHeiko CarstensGCOV_PROFILE_early.o		:= n
22907fa061SHeiko CarstensKCOV_INSTRUMENT_early.o		:= n
2382897edeSHeiko CarstensUBSAN_SANITIZE_early.o		:= n
24ac1256f8SVasily GorbikKASAN_SANITIZE_ipl.o		:= n
25ac1256f8SVasily GorbikKASAN_SANITIZE_machine_kexec.o	:= n
260a9b4091SVasily Gorbik
2782897edeSHeiko Carstens#
2898c7b388SHeiko Carstens# Passing null pointers is ok for smp code, since we access the lowcore here.
2998c7b388SHeiko Carstens#
3098c7b388SHeiko CarstensCFLAGS_smp.o		:= -Wno-nonnull
3198c7b388SHeiko Carstens
3263506c41SMartin Schwidefsky#
331bca09f7SHeiko Carstens# Disable tailcall optimizations for stack / callchain walking functions
341bca09f7SHeiko Carstens# since this might generate broken code when accessing register 15 and
351bca09f7SHeiko Carstens# passing its content to other functions.
361bca09f7SHeiko Carstens#
371bca09f7SHeiko CarstensCFLAGS_stacktrace.o	+= -fno-optimize-sibling-calls
381bca09f7SHeiko CarstensCFLAGS_dumpstack.o	+= -fno-optimize-sibling-calls
3978c98f90SMartin SchwidefskyCFLAGS_unwind_bc.o	+= -fno-optimize-sibling-calls
401bca09f7SHeiko Carstens
41b3bdfdf1SHeiko Carstensobj-y	:= head.o traps.o time.o process.o early.o setup.o idle.o vtime.o
4256e62a73SSven Schnelleobj-y	+= processor.o syscall.o ptrace.o signal.o cpcmd.o ebcdic.o nmi.o
43388cf16dSSumanth Korikkarobj-y	+= debug.o irq.o ipl.o dis.o vdso.o cpufeature.o
440c4d01f3SHeiko Carstensobj-y	+= sysinfo.o lgr.o os_info.o ctlreg.o
45b7c92f1aSQingFeng Haoobj-y	+= runtime_instr.o cache.o fpu.o dumpstack.o guarded_storage.o sthyi.o
46ee417a84SHeiko Carstensobj-y	+= entry.o reipl.o kdebugfs.o alternative.o skey.o
4778c98f90SMartin Schwidefskyobj-y	+= nospec-branch.o ipl_vmparm.o machine_kexec_reloc.o unwind_bc.o
48cafeff5aSTobias Huschleobj-y	+= smp.o text_amode31.o stacktrace.o abs_lowcore.o facility.o uv.o wti.o
4990e6f191SSumanth Korikkarobj-y	+= diag/
501da177e4SLinus Torvalds
51e21efe83SMasahiro Yamadaalways-$(KBUILD_BUILTIN)	+= vmlinux.lds
521da177e4SLinus Torvalds
534253b0e0SMartin Schwidefskyobj-$(CONFIG_SYSFS)		+= nospec-sysfs.o
54b2e2f43aSMartin SchwidefskyCFLAGS_REMOVE_nospec-branch.o	+= $(CC_FLAGS_EXPOLINE)
55f19fbd5eSMartin Schwidefsky
569fed8d7cSFinn Calliesobj-$(CONFIG_SYSFS)		+= cpacf.o
57711f5df7SAl Viroobj-$(CONFIG_MODULES)		+= module.o
586843d6d9SMete Durluobj-$(CONFIG_SCHED_TOPOLOGY)	+= topology.o hiperdispatch.o
59b450eeb0SAlexander Gordeevobj-$(CONFIG_NUMA)		+= numa.o
60c0803799SAl Viroobj-$(CONFIG_AUDIT)		+= audit.o
6189175cf7SHeiko Carstensobj-$(CONFIG_EARLY_PRINTK)	+= early_printk.o
624ba069b8SMichael Grundyobj-$(CONFIG_KPROBES)		+= kprobes.o
6363bf38ffSTobias Huschleobj-$(CONFIG_KPROBES)		+= mcount.o
641a280f48SVasily Gorbikobj-$(CONFIG_RETHOOK)		+= rethook.o
6563bf38ffSTobias Huschleobj-$(CONFIG_FUNCTION_TRACER)	+= ftrace.o
6663bf38ffSTobias Huschleobj-$(CONFIG_FUNCTION_TRACER)	+= mcount.o
6729eb8a7bSSven Schnelleobj-$(CONFIG_TRACING)		+= trace_clock.o
6860a0c68dSMichael Holzheuobj-$(CONFIG_CRASH_DUMP)	+= crash_dump.o
69b9b45688SAlexander Gordeevobj-$(CONFIG_KEXEC_CORE)	+= machine_kexec.o relocate_kernel.o
70199da871SBaoquan Heobj-$(CONFIG_VMCORE_INFO)	+= vmcore_info.o
712a0a5b22SJan Willekeobj-$(CONFIG_UPROBES)		+= uprobes.o
72e9666d10SMasahiro Yamadaobj-$(CONFIG_JUMP_LABEL)	+= jump_label.o
73f5730d44SHeiko Carstensobj-$(CONFIG_STACKPROTECTOR)	+= stackprotector.o
74e49bb0a2SPhilipp Rudoobj-$(CONFIG_KEXEC_FILE)	+= machine_kexec_file.o kexec_image.o
758be01882SPhilipp Rudoobj-$(CONFIG_KEXEC_FILE)	+= kexec_elf.o
768cf57d72SAnastasia Eskovaobj-$(CONFIG_CERT_STORE)	+= cert_store.o
773f7c9f9cSIlya Leoshkevichobj-$(CONFIG_KMSAN)		+= irqflags.o
78268a7840SPhilipp Rudo
791e99c242SThomas Richterobj-$(CONFIG_PERF_EVENTS)	+= perf_event.o
807f5ac1a0SHendrik Bruecknerobj-$(CONFIG_PERF_EVENTS)	+= perf_cpum_cf.o perf_cpum_sf.o
81c33eff60SHeiko Carstensobj-$(CONFIG_PERF_EVENTS)	+= perf_cpum_cf_events.o perf_regs.o
82492578d3SThomas Richterobj-$(CONFIG_PERF_EVENTS)	+= perf_pai.o
831da177e4SLinus Torvalds
84b5a6b71bSMartin Schwidefskyobj-$(CONFIG_TRACEPOINTS)	+= trace.o
85b5a6b71bSMartin Schwidefsky
866fe54677SIlya Leoshkevichobj-$(CONFIG_BPF_SYSCALL)	+= bpf.o
876fe54677SIlya Leoshkevich
88b020632eSMartin Schwidefsky# vdso
89c0087d80SHeiko Carstensobj-y				+= vdso/
90