VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   33 Branches   55 Tags
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900  1) # SPDX-License-Identifier: GPL-2.0-only
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900  2) # ===========================================================================
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900  3) # Module final link
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900  4) # ===========================================================================
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900  5) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900  6) PHONY := __modfinal
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900  7) __modfinal:
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900  8) 
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800  9) include include/config/auto.conf
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 10) include $(srctree)/scripts/Kbuild.include
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 11) 
850ded46c6429 (Sami Tolvanen            2021-08-16 11:05:19 -0700 12) # for c_flags and mod-prelink-ext
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 13) include $(srctree)/scripts/Makefile.lib
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 14) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 15) # find all modules listed in modules.order
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 16) modules := $(sort $(shell cat $(MODORDER)))
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 17) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 18) __modfinal: $(modules)
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 19) 	@:
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 20) 
eb27ea5ce7f36 (Masahiro Yamada          2019-08-19 17:58:43 +0900 21) # modname and part-of-module are set to make c_flags define proper module flags
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 22) modname = $(notdir $(@:.mod.o=))
eb27ea5ce7f36 (Masahiro Yamada          2019-08-19 17:58:43 +0900 23) part-of-module = y
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 24) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 25) quiet_cmd_cc_o_c = CC [M]  $@
cf68fffb66d60 (Sami Tolvanen            2021-04-08 11:28:26 -0700 26)       cmd_cc_o_c = $(CC) $(filter-out $(CC_FLAGS_CFI), $(c_flags)) -c -o $@ $<
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 27) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 28) %.mod.o: %.mod.c FORCE
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 29) 	$(call if_changed_dep,cc_o_c)
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 30) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 31) ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 32) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 33) quiet_cmd_ld_ko_o = LD [M]  $@
b1a1a1a09b460 (Sami Tolvanen            2020-04-13 16:10:13 -0700 34)       cmd_ld_ko_o +=							\
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 35) 	$(LD) -r $(KBUILD_LDFLAGS)					\
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 36) 		$(KBUILD_LDFLAGS_MODULE) $(LDFLAGS_MODULE)		\
596b0474d3d9b (Masahiro Yamada          2020-09-08 13:27:08 +0900 37) 		-T scripts/module.lds -o $@ $(filter %.o, $^);		\
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 38) 	$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 39) 
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 40) quiet_cmd_btf_ko = BTF [M] $@
e732b538f4557 (Andrii Nakryiko          2020-11-20 23:08:28 -0800 41)       cmd_btf_ko = 							\
e732b538f4557 (Andrii Nakryiko          2020-11-20 23:08:28 -0800 42) 	if [ -f vmlinux ]; then						\
ff2e6efda0d5c (Javier Martinez Canillas 2021-05-26 23:52:28 +0200 43) 		LLVM_OBJCOPY="$(OBJCOPY)" $(PAHOLE) -J --btf_base vmlinux $@; \
e732b538f4557 (Andrii Nakryiko          2020-11-20 23:08:28 -0800 44) 	else								\
e732b538f4557 (Andrii Nakryiko          2020-11-20 23:08:28 -0800 45) 		printf "Skipping BTF generation for %s due to unavailability of vmlinux\n" $@ 1>&2; \
e732b538f4557 (Andrii Nakryiko          2020-11-20 23:08:28 -0800 46) 	fi;
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 47) 
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 48) # Same as newer-prereqs, but allows to exclude specified extra dependencies
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 49) newer_prereqs_except = $(filter-out $(PHONY) $(1),$?)
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 50) 
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 51) # Same as if_changed, but allows to exclude specified extra dependencies
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 52) if_changed_except = $(if $(call newer_prereqs_except,$(2))$(cmd-check),      \
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 53) 	$(cmd);                                                              \
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 54) 	printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd, @:)
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 55) 
dc5723b02e523 (Sami Tolvanen            2020-12-11 10:46:19 -0800 56) 
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 57) # Re-generate module BTFs if either module's .ko or vmlinux changed
850ded46c6429 (Sami Tolvanen            2021-08-16 11:05:19 -0700 58) $(modules): %.ko: %$(mod-prelink-ext).o %.mod.o scripts/module.lds $(if $(KBUILD_BUILTIN),vmlinux) FORCE
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 59) 	+$(call if_changed_except,ld_ko_o,vmlinux)
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 60) ifdef CONFIG_DEBUG_INFO_BTF_MODULES
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 61) 	+$(if $(newer-prereqs),$(call cmd,btf_ko))
5f9ae91f7c0db (Andrii Nakryiko          2020-11-09 17:19:30 -0800 62) endif
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 63) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 64) targets += $(modules) $(modules:.ko=.mod.o)
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 65) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 66) # Add FORCE to the prequisites of a target to force it to be always rebuilt.
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 67) # ---------------------------------------------------------------------------
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 68) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 69) PHONY += FORCE
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 70) FORCE:
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 71) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 72) # Read all saved command lines and dependencies for the $(targets) we
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 73) # may be building above, using $(if_changed{,_dep}). As an
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 74) # optimization, we don't need to read them if the target does not
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 75) # exist, we will rebuild anyway in that case.
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 76) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 77) existing-targets := $(wildcard $(sort $(targets)))
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 78) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 79) -include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 80) 
9b9a3f20cbe0b (Masahiro Yamada          2019-08-15 01:06:23 +0900 81) .PHONY: $(PHONY)