aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/blake2
diff options
context:
space:
mode:
authorConrad Meyer <cem@FreeBSD.org>2018-03-21 16:18:14 +0000
committerConrad Meyer <cem@FreeBSD.org>2018-03-21 16:18:14 +0000
commit0e33efe4e4b5d24e2d416938af8bc6e6e4160ec8 (patch)
tree03ea388c5b0174786f8261a6ffd4fae3d40edd90 /sys/modules/blake2
parent5fbc5b5a3cf1e766f957c454d297913ae39118af (diff)
Notes
Diffstat (limited to 'sys/modules/blake2')
-rw-r--r--sys/modules/blake2/Makefile90
1 files changed, 90 insertions, 0 deletions
diff --git a/sys/modules/blake2/Makefile b/sys/modules/blake2/Makefile
new file mode 100644
index 000000000000..77665b452b8d
--- /dev/null
+++ b/sys/modules/blake2/Makefile
@@ -0,0 +1,90 @@
+# $FreeBSD$
+
+.PATH: ${SRCTOP}/sys/contrib/libb2
+.PATH: ${SRCTOP}/sys/crypto/blake2
+.PATH: ${SRCTOP}/sys/opencrypto
+.PATH: ${SRCTOP}/contrib/llvm/tools/clang/lib/Headers
+
+KMOD = blake2
+
+# Vendor sources
+SRCS += blake2.h
+SRCS += blake2-impl.h
+SRCS += blake2-config.h
+
+SRCS += blake2-dispatch.c
+SRCS += blake2bp.c
+SRCS += blake2sp.c
+
+CFLAGS += -I${SRCTOP}/sys/contrib/libb2
+CFLAGS += -I${SRCTOP}/sys/crypto/blake2
+
+# x86 specific optimization headers:
+SRCS += blake2b-load-sse2.h
+SRCS += blake2b-load-sse41.h
+SRCS += blake2b-round.h
+
+SRCS += blake2s-load-sse2.h
+SRCS += blake2s-load-sse41.h
+SRCS += blake2s-load-xop.h
+SRCS += blake2s-round.h
+
+# C files to build a dispatched fat implementation on x86
+SRCS_IN += blake2b-sse2.c
+SRCS_IN += blake2b-ssse3.c
+SRCS_IN += blake2b-sse41.c
+SRCS_IN += blake2b-avx.c
+SRCS_IN += blake2b-xop.c
+SRCS_IN += blake2s-sse2.c
+SRCS_IN += blake2s-ssse3.c
+SRCS_IN += blake2s-sse41.c
+SRCS_IN += blake2s-avx.c
+SRCS_IN += blake2s-xop.c
+
+OBJS+= ${SRCS_IN:S/.c/.o/g}
+
+CFLAGS.blake2b-sse2.c += -DSUFFIX=_sse2 -msse2
+CFLAGS.blake2s-sse2.c += -DSUFFIX=_sse2 -msse2
+
+CFLAGS.blake2b-ssse3.c += -DSUFFIX=_ssse3 -msse2 -mssse3
+CFLAGS.blake2s-ssse3.c += -DSUFFIX=_ssse3 -msse2 -mssse3
+
+CFLAGS.blake2b-sse41.c += -DSUFFIX=_sse41 -msse2 -mssse3 -msse4.1
+CFLAGS.blake2s-sse41.c += -DSUFFIX=_sse41 -msse2 -mssse3 -msse4.1
+
+CFLAGS.blake2b-avx.c += -DSUFFIX=_avx -msse2 -mssse3 -msse4.1 -mavx
+CFLAGS.blake2s-avx.c += -DSUFFIX=_avx -msse2 -mssse3 -msse4.1 -mavx
+
+CFLAGS.blake2b-xop.c += -DSUFFIX=_xop -msse2 -mssse3 -msse4.1 -mavx -mxop
+CFLAGS.blake2s-xop.c += -DSUFFIX=_xop -msse2 -mssse3 -msse4.1 -mavx -mxop
+
+.for src in ${SRCS_IN}
+${src:S/.c/.o/}: ${src}
+ ${CC} -c ${CFLAGS:N-nostdinc} ${CFLAGS.${src}} ${WERROR} ${PROF} \
+ -D_MM_MALLOC_H_INCLUDED ${.IMPSRC}
+ ${CTFCONVERT_CMD}
+
+${src:S/.c/.o/}: intrin.h emmintrin.h tmmintrin.h smmintrin.h immintrin.h \
+ x86intrin.h ${SRCS:M*.h}
+.endfor
+
+# FreeBSD-specific sources:
+SRCS += blake2_kfreebsd.h
+SRCS += config.h
+
+SRCS += stddef.h
+SRCS += stdint.h
+SRCS += stdio.h
+SRCS += stdlib.h
+SRCS += string.h
+
+SRCS += blake2_cryptodev.c
+
+SRCS += opt_param.h cryptodev_if.h
+
+WARNS ?= 6
+
+.include <bsd.kmod.mk>
+
+CWARNFLAGS.blake2-dispatch.c += -Wno-error=unused-const-variable
+CWARNFLAGS += ${NO_WCAST_QUAL}