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 inat_tables_script
= $(srctree
)/arch
/x86
/tools
/gen-insn-attr-x86.awk
18 inat_tables_maps
= $(srctree
)/arch
/x86
/lib
/x86-opcode-map.txt
19 quiet_cmd_inat_tables
= GEN
$@
20 cmd_inat_tables
= $(AWK
) -f
$(inat_tables_script
) $(inat_tables_maps
) > $@
22 $(obj
)/inat-tables.c
: $(inat_tables_script
) $(inat_tables_maps
)
23 $(call cmd
,inat_tables
)
25 $(obj
)/inat.o
: $(obj
)/inat-tables.c
27 clean-files
:= inat-tables.c
29 obj-
$(CONFIG_SMP
) += msr-smp.o cache-smp.o
31 lib-y
:= delay.o misc.o cmdline.o cpu.o
32 lib-y
+= usercopy_
$(BITS
).o usercopy.o getuser.o putuser.o
33 lib-y
+= memcpy_
$(BITS
).o
34 lib-y
+= pc-conf-reg.o
35 lib-
$(CONFIG_ARCH_HAS_COPY_MC
) += copy_mc.o copy_mc_64.o
36 lib-
$(CONFIG_INSTRUCTION_DECODER
) += insn.o inat.o insn-eval.o
37 lib-
$(CONFIG_RANDOMIZE_BASE
) += kaslr.o
38 lib-
$(CONFIG_FUNCTION_ERROR_INJECTION
) += error-inject.o
39 lib-
$(CONFIG_MITIGATION_RETPOLINE
) += retpoline.o
41 obj-y
+= msr.o msr-reg.o msr-reg-export.o hweight.o
44 ifeq ($(CONFIG_X86_32
),y
)
45 obj-y
+= atomic64_32.o
46 lib-y
+= atomic64_cx8_32.o
47 lib-y
+= checksum_32.o
51 lib-y
+= cmpxchg8b_emu.o
52 ifneq ($(CONFIG_X86_CMPXCHG64
),y
)
53 lib-y
+= atomic64_386_32.o
56 ifneq ($(CONFIG_GENERIC_CSUM
),y
)
57 lib-y
+= csum-partial_64.o csum-copy_64.o csum-wrappers_64.o
59 lib-y
+= clear_page_64.o copy_page_64.o
60 lib-y
+= memmove_64.o memset_64.o
61 lib-y
+= copy_user_64.o copy_user_uncached_64.o
62 lib-y
+= cmpxchg16b_emu.o