Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) OBJECT_FILES_NON_STANDARD := y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) purgatory-y := purgatory.o stack.o setup-x86_$(BITS).o sha256.o entry64.o string.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) targets += $(purgatory-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) PURGATORY_OBJS = $(addprefix $(obj)/,$(purgatory-y))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) $(obj)/string.o: $(srctree)/arch/x86/boot/compressed/string.c FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 	$(call if_changed_rule,cc_o_c)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) $(obj)/sha256.o: $(srctree)/lib/crypto/sha256.c FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 	$(call if_changed_rule,cc_o_c)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) CFLAGS_sha256.o := -D__DISABLE_EXPORTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) # When linking purgatory.ro with -r unresolved symbols are not checked,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) # also link a purgatory.chk binary without -r to check for unresolved symbols.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) PURGATORY_LDFLAGS := -e purgatory_start -nostdlib -z nodefaultlib
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) LDFLAGS_purgatory.ro := -r $(PURGATORY_LDFLAGS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) LDFLAGS_purgatory.chk := $(PURGATORY_LDFLAGS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) targets += purgatory.ro purgatory.chk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) # Sanitizer, etc. runtimes are unavailable and cannot be linked here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) GCOV_PROFILE	:= n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) KASAN_SANITIZE	:= n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) UBSAN_SANITIZE	:= n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) KCSAN_SANITIZE	:= n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) KCOV_INSTRUMENT := n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) # These are adjustments to the compiler flags used for objects that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) # make up the standalone purgatory.ro
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) PURGATORY_CFLAGS_REMOVE := -mcmodel=kernel $(CC_FLAGS_CFI)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) PURGATORY_CFLAGS := -mcmodel=large -ffreestanding -fno-zero-initialized-in-bss -g0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) PURGATORY_CFLAGS += $(DISABLE_STACKLEAK_PLUGIN) -DDISABLE_BRANCH_PROFILING
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) PURGATORY_CFLAGS += -fno-stack-protector
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) # Default KBUILD_CFLAGS can have -pg option set when FTRACE is enabled. That
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) # in turn leaves some undefined symbols like __fentry__ in purgatory and not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) # sure how to relocate those.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) ifdef CONFIG_FUNCTION_TRACER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) PURGATORY_CFLAGS_REMOVE		+= $(CC_FLAGS_FTRACE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) ifdef CONFIG_STACKPROTECTOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) PURGATORY_CFLAGS_REMOVE		+= -fstack-protector
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) ifdef CONFIG_STACKPROTECTOR_STRONG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) PURGATORY_CFLAGS_REMOVE		+= -fstack-protector-strong
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) ifdef CONFIG_RETPOLINE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) PURGATORY_CFLAGS_REMOVE		+= $(RETPOLINE_CFLAGS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) CFLAGS_REMOVE_purgatory.o	+= $(PURGATORY_CFLAGS_REMOVE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) CFLAGS_purgatory.o		+= $(PURGATORY_CFLAGS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) CFLAGS_REMOVE_sha256.o		+= $(PURGATORY_CFLAGS_REMOVE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) CFLAGS_sha256.o			+= $(PURGATORY_CFLAGS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) CFLAGS_REMOVE_string.o		+= $(PURGATORY_CFLAGS_REMOVE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) CFLAGS_string.o			+= $(PURGATORY_CFLAGS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) AFLAGS_REMOVE_setup-x86_$(BITS).o	+= -Wa,-gdwarf-2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) AFLAGS_REMOVE_entry64.o			+= -Wa,-gdwarf-2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) $(obj)/purgatory.ro: $(PURGATORY_OBJS) FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 		$(call if_changed,ld)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) $(obj)/purgatory.chk: $(obj)/purgatory.ro FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 		$(call if_changed,ld)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) targets += kexec-purgatory.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) quiet_cmd_bin2c = BIN2C   $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)       cmd_bin2c = $(objtree)/scripts/bin2c kexec_purgatory < $< > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) $(obj)/kexec-purgatory.c: $(obj)/purgatory.ro $(obj)/purgatory.chk FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) 	$(call if_changed,bin2c)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) obj-$(CONFIG_KEXEC_FILE)	+= kexec-purgatory.o