1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 # 2 # 3 # Makefile for x86 specific library files. !! 3 # Makefile for alpha-specific library files.. 4 # 4 # 5 5 6 # Produces uninteresting flaky coverage. !! 6 asflags-y := $(KBUILD_CFLAGS) 7 KCOV_INSTRUMENT_delay.o := n << 8 7 9 # KCSAN uses udelay for introducing watchpoint !! 8 # Many of these routines have implementations tuned for ev6. 10 KCSAN_SANITIZE_delay.o := n !! 9 # Choose them iff we're targeting ev6 specifically. 11 ifdef CONFIG_KCSAN !! 10 ev6-$(CONFIG_ALPHA_EV6) := ev6- 12 # In case KCSAN+lockdep+ftrace are enabled, di !! 11 13 # lockdep -> [other libs] -> KCSAN -> udelay - !! 12 # Several make use of the cttz instruction introduced in ev67. 14 CFLAGS_REMOVE_delay.o = $(CC_FLAGS_FTRACE) !! 13 ev67-$(CONFIG_ALPHA_EV67) := ev67- 15 endif !! 14 16 !! 15 lib-y = __divqu.o __remqu.o __divlu.o __remlu.o \ 17 inat_tables_script = $(srctree)/arch/x86/tools !! 16 udiv-qrnnd.o \ 18 inat_tables_maps = $(srctree)/arch/x86/lib/x86 !! 17 udelay.o \ 19 quiet_cmd_inat_tables = GEN $@ !! 18 $(ev6-y)memset.o \ 20 cmd_inat_tables = $(AWK) -f $(inat_table !! 19 $(ev6-y)memcpy.o \ 21 !! 20 memmove.o \ 22 $(obj)/inat-tables.c: $(inat_tables_script) $( !! 21 checksum.o \ 23 $(call cmd,inat_tables) !! 22 csum_partial_copy.o \ 24 !! 23 $(ev67-y)strlen.o \ 25 $(obj)/inat.o: $(obj)/inat-tables.c !! 24 stycpy.o \ 26 !! 25 styncpy.o \ 27 clean-files := inat-tables.c !! 26 $(ev67-y)strchr.o \ 28 !! 27 $(ev67-y)strrchr.o \ 29 obj-$(CONFIG_SMP) += msr-smp.o cache-smp.o !! 28 $(ev6-y)memchr.o \ 30 !! 29 $(ev6-y)copy_user.o \ 31 lib-y := delay.o misc.o cmdline.o cpu.o !! 30 $(ev6-y)clear_user.o \ 32 lib-y += usercopy_$(BITS).o usercopy.o getuser !! 31 $(ev6-y)csum_ipv6_magic.o \ 33 lib-y += memcpy_$(BITS).o !! 32 $(ev6-y)clear_page.o \ 34 lib-y += pc-conf-reg.o !! 33 $(ev6-y)copy_page.o \ 35 lib-$(CONFIG_ARCH_HAS_COPY_MC) += copy_mc.o co !! 34 fpreg.o \ 36 lib-$(CONFIG_INSTRUCTION_DECODER) += insn.o in !! 35 callback_srm.o srm_puts.o srm_printk.o \ 37 lib-$(CONFIG_RANDOMIZE_BASE) += kaslr.o !! 36 fls.o 38 lib-$(CONFIG_FUNCTION_ERROR_INJECTION) += err !! 37 39 lib-$(CONFIG_MITIGATION_RETPOLINE) += retpolin !! 38 # The division routines are built from single source, with different defines. 40 !! 39 AFLAGS___divqu.o = -DDIV 41 obj-y += msr.o msr-reg.o msr-reg-export.o hwei !! 40 AFLAGS___remqu.o = -DREM 42 obj-y += iomem.o !! 41 AFLAGS___divlu.o = -DDIV -DINTSIZE 43 !! 42 AFLAGS___remlu.o = -DREM -DINTSIZE 44 ifeq ($(CONFIG_X86_32),y) !! 43 45 obj-y += atomic64_32.o !! 44 $(addprefix $(obj)/,__divqu.o __remqu.o __divlu.o __remlu.o): \ 46 lib-y += atomic64_cx8_32.o !! 45 $(src)/$(ev6-y)divide.S FORCE 47 lib-y += checksum_32.o !! 46 $(call if_changed_rule,as_o_S) 48 lib-y += strstr_32.o << 49 lib-y += string_32.o << 50 lib-y += memmove_32.o << 51 lib-y += cmpxchg8b_emu.o << 52 ifneq ($(CONFIG_X86_CMPXCHG64),y) << 53 lib-y += atomic64_386_32.o << 54 endif << 55 else << 56 ifneq ($(CONFIG_GENERIC_CSUM),y) << 57 lib-y += csum-partial_64.o csum-copy_6 << 58 endif << 59 lib-y += clear_page_64.o copy_page_64. << 60 lib-y += memmove_64.o memset_64.o << 61 lib-y += copy_user_64.o copy_user_unca << 62 lib-y += cmpxchg16b_emu.o << 63 endif <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.