1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for x86 specific library files.
6 # Produces uninteresting flaky coverage.
7 KCOV_INSTRUMENT_delay.o
:= n
9 # KCSAN uses udelay for introducing watchpoint delay; avoid recursion.
10 KCSAN_SANITIZE_delay.o
:= n
12 # In case KCSAN+lockdep+ftrace are enabled, disable ftrace for delay.o to avoid
13 # lockdep -> [other libs] -> KCSAN -> udelay -> ftrace -> lockdep recursion.
14 CFLAGS_REMOVE_delay.o
= $(CC_FLAGS_FTRACE
)
17 # Early boot use of cmdline; don't instrument it
18 ifdef CONFIG_AMD_MEM_ENCRYPT
19 KCOV_INSTRUMENT_cmdline.o
:= n
20 KASAN_SANITIZE_cmdline.o
:= n
21 KCSAN_SANITIZE_cmdline.o
:= n
23 ifdef CONFIG_FUNCTION_TRACER
24 CFLAGS_REMOVE_cmdline.o
= -pg
27 CFLAGS_cmdline.o
:= -fno-stack-protector
-fno-jump-tables
30 inat_tables_script
= $(srctree
)/arch
/x86
/tools
/gen-insn-attr-x86.awk
31 inat_tables_maps
= $(srctree
)/arch
/x86
/lib
/x86-opcode-map.txt
32 quiet_cmd_inat_tables
= GEN
$@
33 cmd_inat_tables
= $(AWK
) -f
$(inat_tables_script
) $(inat_tables_maps
) > $@
35 $(obj
)/inat-tables.c
: $(inat_tables_script
) $(inat_tables_maps
)
36 $(call cmd
,inat_tables
)
38 $(obj
)/inat.o
: $(obj
)/inat-tables.c
40 clean-files
:= inat-tables.c
42 obj-
$(CONFIG_SMP
) += msr-smp.o cache-smp.o
44 lib-y
:= delay.o misc.o cmdline.o cpu.o
45 lib-y
+= usercopy_
$(BITS
).o usercopy.o getuser.o putuser.o
46 lib-y
+= memcpy_
$(BITS
).o
47 lib-
$(CONFIG_ARCH_HAS_COPY_MC
) += copy_mc.o copy_mc_64.o
48 lib-
$(CONFIG_INSTRUCTION_DECODER
) += insn.o inat.o insn-eval.o
49 lib-
$(CONFIG_RANDOMIZE_BASE
) += kaslr.o
50 lib-
$(CONFIG_FUNCTION_ERROR_INJECTION
) += error-inject.o
51 lib-
$(CONFIG_RETPOLINE
) += retpoline.o
53 obj-y
+= msr.o msr-reg.o msr-reg-export.o hweight.o
56 ifeq ($(CONFIG_X86_32
),y
)
57 obj-y
+= atomic64_32.o
58 lib-y
+= atomic64_cx8_32.o
59 lib-y
+= checksum_32.o
62 ifneq ($(CONFIG_X86_CMPXCHG64
),y
)
63 lib-y
+= cmpxchg8b_emu.o atomic64_386_32.o
65 lib-
$(CONFIG_X86_USE_3DNOW
) += mmx_32.o
67 obj-y
+= iomap_copy_64.o
68 lib-y
+= csum-partial_64.o csum-copy_64.o csum-wrappers_64.o
69 lib-y
+= clear_page_64.o copy_page_64.o
70 lib-y
+= memmove_64.o memset_64.o
71 lib-y
+= copy_user_64.o
72 lib-y
+= cmpxchg16b_emu.o