s390/cpumf: Allow concurrent access for CPU Measurement Counter Facility
[linux-block.git] / arch / s390 / kernel / Makefile
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
1da177e4
LT
2#
3# Makefile for the linux kernel.
4#
5
5d360a75 6ifdef CONFIG_FUNCTION_TRACER
82897ede
HC
7
8# Do not trace tracer code
971a9ca6 9CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE)
82897ede
HC
10
11# Do not trace early setup code
971a9ca6 12CFLAGS_REMOVE_early.o = $(CC_FLAGS_FTRACE)
82897ede
HC
13
14endif
15
971a9ca6 16GCOV_PROFILE_early.o := n
971a9ca6 17KCOV_INSTRUMENT_early.o := n
971a9ca6 18UBSAN_SANITIZE_early.o := n
ac1256f8
VG
19KASAN_SANITIZE_ipl.o := n
20KASAN_SANITIZE_machine_kexec.o := n
0a9b4091 21
98c7b388
HC
22#
23# Passing null pointers is ok for smp code, since we access the lowcore here.
24#
82897ede 25CFLAGS_smp.o := -Wno-nonnull
98c7b388 26
1bca09f7
HC
27#
28# Disable tailcall optimizations for stack / callchain walking functions
29# since this might generate broken code when accessing register 15 and
30# passing its content to other functions.
31#
32CFLAGS_stacktrace.o += -fno-optimize-sibling-calls
33CFLAGS_dumpstack.o += -fno-optimize-sibling-calls
78c98f90 34CFLAGS_unwind_bc.o += -fno-optimize-sibling-calls
1bca09f7 35
b5f87f15 36obj-y := traps.o time.o process.o base.o early.o setup.o idle.o vtime.o
56e62a73 37obj-y += processor.o syscall.o ptrace.o signal.o cpcmd.o ebcdic.o nmi.o
2e83e0eb 38obj-y += debug.o irq.o ipl.o dis.o diag.o vdso.o
6f8daa29 39obj-y += sysinfo.o lgr.o os_info.o machine_kexec.o
b7c92f1a 40obj-y += runtime_instr.o cache.o fpu.o dumpstack.o guarded_storage.o sthyi.o
049a2c2d 41obj-y += entry.o reipl.o relocate_kernel.o kdebugfs.o alternative.o
78c98f90 42obj-y += nospec-branch.o ipl_vmparm.o machine_kexec_reloc.o unwind_bc.o
67626fad 43obj-y += smp.o
1da177e4 44
8282cd64 45extra-y += head64.o vmlinux.lds
1da177e4 46
4253b0e0 47obj-$(CONFIG_SYSFS) += nospec-sysfs.o
b2e2f43a 48CFLAGS_REMOVE_nospec-branch.o += $(CC_FLAGS_EXPOLINE)
f19fbd5e 49
711f5df7 50obj-$(CONFIG_MODULES) += module.o
9236b4dd 51obj-$(CONFIG_SCHED_TOPOLOGY) += topology.o
b450eeb0 52obj-$(CONFIG_NUMA) += numa.o
c0803799
AV
53obj-$(CONFIG_AUDIT) += audit.o
54compat-obj-$(CONFIG_AUDIT) += compat_audit.o
fa2a0627 55obj-$(CONFIG_COMPAT) += compat_linux.o compat_signal.o
90856087 56obj-$(CONFIG_COMPAT) += $(compat-obj-y)
89175cf7 57obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
5bdc9b44 58obj-$(CONFIG_STACKTRACE) += stacktrace.o
4ba069b8 59obj-$(CONFIG_KPROBES) += kprobes.o
b61e1f32 60obj-$(CONFIG_KPROBES) += kprobes_insn_page.o
53255c9a 61obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ftrace.o
60a0c68d 62obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
2a0a5b22 63obj-$(CONFIG_UPROBES) += uprobes.o
e9666d10 64obj-$(CONFIG_JUMP_LABEL) += jump_label.o
305e4f10 65
e49bb0a2 66obj-$(CONFIG_KEXEC_FILE) += machine_kexec_file.o kexec_image.o
8be01882 67obj-$(CONFIG_KEXEC_FILE) += kexec_elf.o
71406883 68
9e2b4be3 69obj-$(CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT) += ima_arch.o
268a7840 70
7f5ac1a0
HB
71obj-$(CONFIG_PERF_EVENTS) += perf_event.o perf_cpum_cf_common.o
72obj-$(CONFIG_PERF_EVENTS) += perf_cpum_cf.o perf_cpum_sf.o
c33eff60 73obj-$(CONFIG_PERF_EVENTS) += perf_cpum_cf_events.o perf_regs.o
1da177e4 74
b5a6b71b 75obj-$(CONFIG_TRACEPOINTS) += trace.o
ecdc5d84 76obj-$(findstring y, $(CONFIG_PROTECTED_VIRTUALIZATION_GUEST) $(CONFIG_PGSTE)) += uv.o
b5a6b71b 77
b020632e 78# vdso
5a79859a 79obj-y += vdso64/