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) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) # s390/Makefile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) # This file is included by the global makefile so that you can add your own
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) # architecture-specific flags and dependencies. Remember to do have actions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) # for "archclean" and "archdep" for cleaning up and making dependencies for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) # this architecture
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) # Copyright (C) 1994 by Linus Torvalds
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) LD_BFD		:= elf64-s390
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) KBUILD_LDFLAGS	:= -m elf64_s390
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) KBUILD_AFLAGS_MODULE += -fPIC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) KBUILD_CFLAGS_MODULE += -fPIC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) KBUILD_AFLAGS	+= -m64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) KBUILD_CFLAGS	+= -m64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) ifeq ($(CONFIG_RELOCATABLE),y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) KBUILD_CFLAGS	+= -fPIE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) LDFLAGS_vmlinux	:= -pie
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) aflags_dwarf	:= -Wa,-gdwarf-2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) KBUILD_AFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -D__ASSEMBLY__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) KBUILD_AFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),$(aflags_dwarf))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) KBUILD_CFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -O2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) KBUILD_CFLAGS_DECOMPRESSOR += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) KBUILD_CFLAGS_DECOMPRESSOR += -ffreestanding
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) KBUILD_CFLAGS_DECOMPRESSOR += -fno-stack-protector
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, address-of-packed-member)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),-g)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO_DWARF4), $(call cc-option, -gdwarf-4,))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) UTS_MACHINE	:= s390x
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) STACK_SIZE	:= $(if $(CONFIG_KASAN),65536,16384)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) CHECKFLAGS	+= -D__s390__ -D__s390x__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) export LD_BFD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) mflags-$(CONFIG_MARCH_Z900)   := -march=z900
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) mflags-$(CONFIG_MARCH_Z990)   := -march=z990
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) mflags-$(CONFIG_MARCH_Z9_109) := -march=z9-109
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) mflags-$(CONFIG_MARCH_Z10)    := -march=z10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) mflags-$(CONFIG_MARCH_Z196)   := -march=z196
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) mflags-$(CONFIG_MARCH_ZEC12)  := -march=zEC12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) mflags-$(CONFIG_MARCH_Z13)    := -march=z13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) mflags-$(CONFIG_MARCH_Z14)    := -march=z14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) mflags-$(CONFIG_MARCH_Z15)    := -march=z15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) export CC_FLAGS_MARCH := $(mflags-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) aflags-y += $(mflags-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) cflags-y += $(mflags-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) cflags-$(CONFIG_MARCH_Z900_TUNE)	+= -mtune=z900
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) cflags-$(CONFIG_MARCH_Z990_TUNE)	+= -mtune=z990
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) cflags-$(CONFIG_MARCH_Z9_109_TUNE)	+= -mtune=z9-109
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) cflags-$(CONFIG_MARCH_Z10_TUNE)		+= -mtune=z10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) cflags-$(CONFIG_MARCH_Z196_TUNE)	+= -mtune=z196
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) cflags-$(CONFIG_MARCH_ZEC12_TUNE)	+= -mtune=zEC12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) cflags-$(CONFIG_MARCH_Z13_TUNE)		+= -mtune=z13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) cflags-$(CONFIG_MARCH_Z14_TUNE)		+= -mtune=z14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) cflags-$(CONFIG_MARCH_Z15_TUNE)		+= -mtune=z15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) # Prevent tail-call optimizations, to get clearer backtraces:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) cflags-$(CONFIG_FRAME_POINTER) += -fno-optimize-sibling-calls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) ifeq ($(call cc-option-yn,-mpacked-stack -mbackchain -msoft-float),y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) cflags-$(CONFIG_PACK_STACK)  += -mpacked-stack -D__PACK_STACK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) aflags-$(CONFIG_PACK_STACK)  += -D__PACK_STACK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) KBUILD_AFLAGS_DECOMPRESSOR += $(aflags-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) KBUILD_CFLAGS_DECOMPRESSOR += $(cflags-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) ifeq ($(call cc-option-yn,-mstack-size=8192 -mstack-guard=128),y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) cflags-$(CONFIG_CHECK_STACK) += -mstack-size=$(STACK_SIZE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) ifneq ($(call cc-option-yn,-mstack-size=8192),y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) cflags-$(CONFIG_CHECK_STACK) += -mstack-guard=$(CONFIG_STACK_GUARD)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) ifdef CONFIG_WARN_DYNAMIC_STACK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89)   ifeq ($(call cc-option-yn,-mwarn-dynamicstack),y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90)     KBUILD_CFLAGS += -mwarn-dynamicstack
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91)     KBUILD_CFLAGS_DECOMPRESSOR += -mwarn-dynamicstack
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92)   endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) ifdef CONFIG_EXPOLINE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)   ifeq ($(call cc-option-yn,$(CC_FLAGS_MARCH) -mindirect-branch=thunk),y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97)     CC_FLAGS_EXPOLINE := -mindirect-branch=thunk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98)     CC_FLAGS_EXPOLINE += -mfunction-return=thunk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99)     CC_FLAGS_EXPOLINE += -mindirect-branch-table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)     export CC_FLAGS_EXPOLINE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)     cflags-y += $(CC_FLAGS_EXPOLINE) -DCC_USING_EXPOLINE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)     aflags-y += -DCC_USING_EXPOLINE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)   endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) ifdef CONFIG_FUNCTION_TRACER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)   ifeq ($(call cc-option-yn,-mfentry -mnop-mcount),n)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)     # make use of hotpatch feature if the compiler supports it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)     cc_hotpatch	:= -mhotpatch=0,3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)     ifeq ($(call cc-option-yn,$(cc_hotpatch)),y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)       CC_FLAGS_FTRACE := $(cc_hotpatch)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)       KBUILD_AFLAGS	+= -DCC_USING_HOTPATCH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)       KBUILD_CFLAGS	+= -DCC_USING_HOTPATCH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)     endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)   endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) # Test CFI features of binutils
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) cfi := $(call as-instr,.cfi_startproc\n.cfi_val_offset 15$(comma)-160\n.cfi_endproc,-DCONFIG_AS_CFI_VAL_OFFSET=1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) KBUILD_CFLAGS	+= -mbackchain -msoft-float $(cflags-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) KBUILD_CFLAGS	+= -pipe -Wno-sign-compare
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) KBUILD_CFLAGS	+= -fno-asynchronous-unwind-tables $(cfi)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) KBUILD_AFLAGS	+= $(aflags-y) $(cfi)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) export KBUILD_AFLAGS_DECOMPRESSOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) export KBUILD_CFLAGS_DECOMPRESSOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) OBJCOPYFLAGS	:= -O binary
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) head-y		:= arch/s390/kernel/head64.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) # See arch/s390/Kbuild for content of core part of the kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) core-y		+= arch/s390/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) libs-y		+= arch/s390/lib/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) drivers-y	+= drivers/s390/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) # must be linked after kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) drivers-$(CONFIG_OPROFILE)	+= arch/s390/oprofile/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) boot		:= arch/s390/boot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) syscalls	:= arch/s390/kernel/syscalls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) tools		:= arch/s390/tools
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) all: bzImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) #KBUILD_IMAGE is necessary for packaging targets like rpm-pkg, deb-pkg...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) KBUILD_IMAGE	:= $(boot)/bzImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) install:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 	$(Q)$(MAKE) $(build)=$(boot) $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) bzImage: vmlinux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) zfcpdump:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) vdso_install:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 	$(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso64 $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) archclean:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 	$(Q)$(MAKE) $(clean)=$(boot)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 	$(Q)$(MAKE) $(clean)=$(tools)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) archheaders:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 	$(Q)$(MAKE) $(build)=$(syscalls) uapi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) archprepare:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 	$(Q)$(MAKE) $(build)=$(syscalls) kapi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 	$(Q)$(MAKE) $(build)=$(tools) kapi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) # Don't use tabs in echo arguments
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) define archhelp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)   echo	'* bzImage         - Kernel image for IPL ($(boot)/bzImage)'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)   echo	'  install         - Install kernel using'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)   echo	'                    (your) ~/bin/$(INSTALLKERNEL) or'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)   echo	'                    (distribution) /sbin/$(INSTALLKERNEL) or'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)   echo	'                    install to $$(INSTALL_PATH)'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) endef