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) # This is a simple Makefile to test some of the RAID-6 code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) # from userspace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) pound := \#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) CC	 = gcc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) OPTFLAGS = -O2			# Adjust as desired
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) CFLAGS	 = -I.. -I ../../../include -g $(OPTFLAGS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) LD	 = ld
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) AWK	 = awk -f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) AR	 = ar
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) RANLIB	 = ranlib
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) OBJS	 = int1.o int2.o int4.o int8.o int16.o int32.o recov.o algos.o tables.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) ARCH := $(shell uname -m 2>/dev/null | sed -e /s/i.86/i386/)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) ifeq ($(ARCH),i386)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)         CFLAGS += -DCONFIG_X86_32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21)         IS_X86 = yes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) ifeq ($(ARCH),x86_64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)         CFLAGS += -DCONFIG_X86_64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25)         IS_X86 = yes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) ifeq ($(ARCH),arm)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)         CFLAGS += -I../../../arch/arm/include -mfpu=neon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30)         HAS_NEON = yes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) ifeq ($(ARCH),aarch64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)         CFLAGS += -I../../../arch/arm64/include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34)         HAS_NEON = yes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) ifeq ($(IS_X86),yes)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)         OBJS   += mmx.o sse1.o sse2.o avx2.o recov_ssse3.o recov_avx2.o avx512.o recov_avx512.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)         CFLAGS += -DCONFIG_X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	CFLAGS += $(shell echo "vpmovm2b %k1, %zmm5" |          \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 		    gcc -c -x assembler - >/dev/null 2>&1 &&	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 		    rm ./-.o && echo -DCONFIG_AS_AVX512=1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) else ifeq ($(HAS_NEON),yes)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44)         OBJS   += neon.o neon1.o neon2.o neon4.o neon8.o recov_neon.o recov_neon_inner.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45)         CFLAGS += -DCONFIG_KERNEL_MODE_NEON=1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47)         HAS_ALTIVEC := $(shell printf '$(pound)include <altivec.h>\nvector int a;\n' |\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48)                          gcc -c -x c - >/dev/null && rm ./-.o && echo yes)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49)         ifeq ($(HAS_ALTIVEC),yes)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)                 CFLAGS += -I../../../arch/powerpc/include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)                 CFLAGS += -DCONFIG_ALTIVEC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52)                 OBJS += altivec1.o altivec2.o altivec4.o altivec8.o \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)                         vpermxor1.o vpermxor2.o vpermxor4.o vpermxor8.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)         endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) .c.o:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	$(CC) $(CFLAGS) -c -o $@ $<
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) %.c: ../%.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	cp -f $< $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) %.uc: ../%.uc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	cp -f $< $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) all:	raid6.a raid6test
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) raid6.a: $(OBJS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	 rm -f $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	 $(AR) cq $@ $^
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	 $(RANLIB) $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) raid6test: test.c raid6.a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	$(CC) $(CFLAGS) -o raid6test $^
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) neon1.c: neon.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	$(AWK) ../unroll.awk -vN=1 < neon.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) neon2.c: neon.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	$(AWK) ../unroll.awk -vN=2 < neon.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) neon4.c: neon.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 	$(AWK) ../unroll.awk -vN=4 < neon.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) neon8.c: neon.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	$(AWK) ../unroll.awk -vN=8 < neon.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) altivec1.c: altivec.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 	$(AWK) ../unroll.awk -vN=1 < altivec.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) altivec2.c: altivec.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	$(AWK) ../unroll.awk -vN=2 < altivec.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) altivec4.c: altivec.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	$(AWK) ../unroll.awk -vN=4 < altivec.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) altivec8.c: altivec.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	$(AWK) ../unroll.awk -vN=8 < altivec.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) vpermxor1.c: vpermxor.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	$(AWK) ../unroll.awk -vN=1 < vpermxor.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) vpermxor2.c: vpermxor.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	$(AWK) ../unroll.awk -vN=2 < vpermxor.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) vpermxor4.c: vpermxor.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	$(AWK) ../unroll.awk -vN=4 < vpermxor.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) vpermxor8.c: vpermxor.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 	$(AWK) ../unroll.awk -vN=8 < vpermxor.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) int1.c: int.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 	$(AWK) ../unroll.awk -vN=1 < int.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) int2.c: int.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 	$(AWK) ../unroll.awk -vN=2 < int.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) int4.c: int.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	$(AWK) ../unroll.awk -vN=4 < int.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) int8.c: int.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 	$(AWK) ../unroll.awk -vN=8 < int.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) int16.c: int.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	$(AWK) ../unroll.awk -vN=16 < int.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) int32.c: int.uc ../unroll.awk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 	$(AWK) ../unroll.awk -vN=32 < int.uc > $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) tables.c: mktables
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	./mktables > tables.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) clean:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	rm -f *.o *.a mktables mktables.c *.uc int*.c altivec*.c vpermxor*.c neon*.c tables.c raid6test
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) spotless: clean
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	rm -f *~