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 # Early boot use of cmdline; don't instrument it
10 ifdef CONFIG_AMD_MEM_ENCRYPT
11 KCOV_INSTRUMENT_cmdline.o
:= n
12 KASAN_SANITIZE_cmdline.o
:= n
14 ifdef CONFIG_FUNCTION_TRACER
15 CFLAGS_REMOVE_cmdline.o
= -pg
18 CFLAGS_cmdline.o
:= $(call cc-option
, -fno-stack-protector
)
21 inat_tables_script
= $(srctree
)/arch
/x86
/tools
/gen-insn-attr-x86.awk
22 inat_tables_maps
= $(srctree
)/arch
/x86
/lib
/x86-opcode-map.txt
23 quiet_cmd_inat_tables
= GEN
$@
24 cmd_inat_tables
= $(AWK
) -f
$(inat_tables_script
) $(inat_tables_maps
) > $@
26 $(obj
)/inat-tables.c
: $(inat_tables_script
) $(inat_tables_maps
)
27 $(call cmd
,inat_tables
)
29 $(obj
)/inat.o
: $(obj
)/inat-tables.c
31 clean-files
:= inat-tables.c
33 obj-
$(CONFIG_SMP
) += msr-smp.o cache-smp.o
35 lib-y
:= delay.o misc.o cmdline.o cpu.o
36 lib-y
+= usercopy_
$(BITS
).o usercopy.o getuser.o putuser.o
37 lib-y
+= memcpy_
$(BITS
).o
38 lib-
$(CONFIG_INSTRUCTION_DECODER
) += insn.o inat.o insn-eval.o
39 lib-
$(CONFIG_RANDOMIZE_BASE
) += kaslr.o
40 lib-
$(CONFIG_FUNCTION_ERROR_INJECTION
) += error-inject.o
41 lib-
$(CONFIG_RETPOLINE
) += retpoline.o
43 obj-y
+= msr.o msr-reg.o msr-reg-export.o hweight.o
46 ifeq ($(CONFIG_X86_32
),y
)
47 obj-y
+= atomic64_32.o
48 lib-y
+= atomic64_cx8_32.o
49 lib-y
+= checksum_32.o
52 ifneq ($(CONFIG_X86_CMPXCHG64
),y
)
53 lib-y
+= cmpxchg8b_emu.o atomic64_386_32.o
55 lib-
$(CONFIG_X86_USE_3DNOW
) += mmx_32.o
57 obj-y
+= iomap_copy_64.o
58 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
62 lib-y
+= cmpxchg16b_emu.o