rjw | 1f88458 | 2022-01-06 17:20:42 +0800 | [diff] [blame^] | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | # |
| 3 | # Makefile for x86 specific library files. |
| 4 | # |
| 5 | |
| 6 | # Produces uninteresting flaky coverage. |
| 7 | KCOV_INSTRUMENT_delay.o := n |
| 8 | |
| 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 |
| 13 | |
| 14 | ifdef CONFIG_FUNCTION_TRACER |
| 15 | CFLAGS_REMOVE_cmdline.o = -pg |
| 16 | endif |
| 17 | |
| 18 | CFLAGS_cmdline.o := $(call cc-option, -fno-stack-protector) |
| 19 | endif |
| 20 | |
| 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) > $@ || rm -f $@ |
| 25 | |
| 26 | $(obj)/inat-tables.c: $(inat_tables_script) $(inat_tables_maps) |
| 27 | $(call cmd,inat_tables) |
| 28 | |
| 29 | $(obj)/inat.o: $(obj)/inat-tables.c |
| 30 | |
| 31 | clean-files := inat-tables.c |
| 32 | |
| 33 | obj-$(CONFIG_SMP) += msr-smp.o cache-smp.o |
| 34 | |
| 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_RWSEM_XCHGADD_ALGORITHM) += rwsem.o |
| 39 | lib-$(CONFIG_INSTRUCTION_DECODER) += insn.o inat.o |
| 40 | lib-$(CONFIG_RANDOMIZE_BASE) += kaslr.o |
| 41 | lib-$(CONFIG_RETPOLINE) += retpoline.o |
| 42 | |
| 43 | obj-y += msr.o msr-reg.o msr-reg-export.o hweight.o |
| 44 | |
| 45 | ifeq ($(CONFIG_X86_32),y) |
| 46 | obj-y += atomic64_32.o |
| 47 | lib-y += atomic64_cx8_32.o |
| 48 | lib-y += checksum_32.o |
| 49 | lib-y += strstr_32.o |
| 50 | lib-y += string_32.o |
| 51 | ifneq ($(CONFIG_X86_CMPXCHG64),y) |
| 52 | lib-y += cmpxchg8b_emu.o atomic64_386_32.o |
| 53 | endif |
| 54 | lib-$(CONFIG_X86_USE_3DNOW) += mmx_32.o |
| 55 | else |
| 56 | obj-y += iomap_copy_64.o |
| 57 | lib-y += csum-partial_64.o csum-copy_64.o csum-wrappers_64.o |
| 58 | lib-y += clear_page_64.o copy_page_64.o |
| 59 | lib-y += memmove_64.o memset_64.o |
| 60 | lib-y += copy_user_64.o |
| 61 | lib-y += cmpxchg16b_emu.o |
| 62 | endif |