1ba610be9SJohn Baldwin.PATH: ${SRCTOP}/sys/crypto/openssl 2ba610be9SJohn Baldwin.PATH: ${SRCTOP}/sys/crypto/openssl/${MACHINE_CPUARCH} 3ba610be9SJohn Baldwin 4ba610be9SJohn BaldwinKMOD= ossl 5197ff4c3SKornel DulebaOBJS+= ${OBJS.${MACHINE_CPUARCH}} 6ba610be9SJohn BaldwinSRCS= bus_if.h \ 7ba610be9SJohn Baldwin cryptodev_if.h \ 8ba610be9SJohn Baldwin device_if.h \ 9ba610be9SJohn Baldwin ossl.c \ 10197ff4c3SKornel Duleba ossl_aes.c \ 1192aecd1eSJohn Baldwin ossl_chacha20.c \ 12a079e38bSJohn Baldwin ossl_poly1305.c \ 13ba610be9SJohn Baldwin ossl_sha1.c \ 14ba610be9SJohn Baldwin ossl_sha256.c \ 15ba610be9SJohn Baldwin ossl_sha512.c \ 16ba610be9SJohn Baldwin ${SRCS.${MACHINE_CPUARCH}} 17ba610be9SJohn Baldwin 1844f8e1e8SMark JohnstonSRCS.arm= \ 1944f8e1e8SMark Johnston aes-armv4.S \ 2044f8e1e8SMark Johnston bsaes-armv7.S \ 2144f8e1e8SMark Johnston chacha-armv4.S \ 22629a7237SMark Johnston ghash-armv4.S \ 2344f8e1e8SMark Johnston poly1305-armv4.S \ 2444f8e1e8SMark Johnston sha1-armv4-large.S \ 2544f8e1e8SMark Johnston sha256-armv4.S \ 2644f8e1e8SMark Johnston sha512-armv4.S \ 27629a7237SMark Johnston ossl_arm.c \ 28629a7237SMark Johnston ossl_aes_gcm.c 2944f8e1e8SMark Johnston 3022bd0c97SMitchell HorneSRCS.aarch64= \ 3192aecd1eSJohn Baldwin chacha-armv8.S \ 32a079e38bSJohn Baldwin poly1305-armv8.S \ 3322bd0c97SMitchell Horne sha1-armv8.S \ 3422bd0c97SMitchell Horne sha256-armv8.S \ 3522bd0c97SMitchell Horne sha512-armv8.S \ 36197ff4c3SKornel Duleba vpaes-armv8.S \ 3722bd0c97SMitchell Horne ossl_aarch64.c 3822bd0c97SMitchell Horne 39ba610be9SJohn BaldwinSRCS.amd64= \ 409a3444d9SMark Johnston aes-gcm-avx512.S \ 41197ff4c3SKornel Duleba aesni-x86_64.S \ 429b1d8728SMark Johnston aesni-gcm-x86_64.S \ 4392aecd1eSJohn Baldwin chacha-x86_64.S \ 449b1d8728SMark Johnston ghash-x86_64.S \ 45a079e38bSJohn Baldwin poly1305-x86_64.S \ 46ba610be9SJohn Baldwin sha1-x86_64.S \ 47ba610be9SJohn Baldwin sha256-x86_64.S \ 48fd86ae68SMitchell Horne sha512-x86_64.S \ 499a3444d9SMark Johnston ossl_aes_gcm.c \ 50fd86ae68SMitchell Horne ossl_x86.c 51ba610be9SJohn Baldwin 52ba610be9SJohn BaldwinSRCS.i386= \ 53197ff4c3SKornel Duleba aesni-x86.S \ 5492aecd1eSJohn Baldwin chacha-x86.S \ 55a079e38bSJohn Baldwin poly1305-x86.S \ 56ba610be9SJohn Baldwin sha1-586.S \ 57ba610be9SJohn Baldwin sha256-586.S \ 58fd86ae68SMitchell Horne sha512-586.S \ 59fd86ae68SMitchell Horne ossl_x86.c 60ba610be9SJohn Baldwin 61*3465f14dSShawn AnastasioSRCS.powerpc64le= \ 62*3465f14dSShawn Anastasio ossl_ppccap.c \ 63*3465f14dSShawn Anastasio aes-ppc.S \ 64*3465f14dSShawn Anastasio aesp8-ppc.S \ 65*3465f14dSShawn Anastasio chacha-ppc.S \ 66*3465f14dSShawn Anastasio ecp_nistz256-ppc64.S \ 67*3465f14dSShawn Anastasio ghashp8-ppc.S \ 68*3465f14dSShawn Anastasio keccak1600-ppc64.S \ 69*3465f14dSShawn Anastasio poly1305-ppc.S \ 70*3465f14dSShawn Anastasio poly1305-ppcfp.S \ 71*3465f14dSShawn Anastasio ppc-mont.S \ 72*3465f14dSShawn Anastasio ppc.S \ 73*3465f14dSShawn Anastasio ppccpuid.S \ 74*3465f14dSShawn Anastasio sha1-ppc.S \ 75*3465f14dSShawn Anastasio sha256-ppc.S \ 76*3465f14dSShawn Anastasio sha256p8-ppc.S \ 77*3465f14dSShawn Anastasio sha512-ppc.S \ 78*3465f14dSShawn Anastasio sha512p8-ppc.S \ 79*3465f14dSShawn Anastasio vpaes-ppc.S \ 80*3465f14dSShawn Anastasio x25519-ppc64.S 81*3465f14dSShawn Anastasio 82*3465f14dSShawn AnastasioSRCS.powerpc64= \ 83*3465f14dSShawn Anastasio ossl_ppccap.c \ 84*3465f14dSShawn Anastasio aes-ppc.S \ 85*3465f14dSShawn Anastasio aesp8-ppc.S \ 86*3465f14dSShawn Anastasio chacha-ppc.S \ 87*3465f14dSShawn Anastasio ecp_nistz256-ppc64.S \ 88*3465f14dSShawn Anastasio ghashp8-ppc.S \ 89*3465f14dSShawn Anastasio keccak1600-ppc64.S \ 90*3465f14dSShawn Anastasio poly1305-ppc.S \ 91*3465f14dSShawn Anastasio poly1305-ppcfp.S \ 92*3465f14dSShawn Anastasio ppc-mont.S \ 93*3465f14dSShawn Anastasio ppc.S \ 94*3465f14dSShawn Anastasio ppccpuid.S \ 95*3465f14dSShawn Anastasio sha1-ppc.S \ 96*3465f14dSShawn Anastasio sha256-ppc.S \ 97*3465f14dSShawn Anastasio sha256p8-ppc.S \ 98*3465f14dSShawn Anastasio sha512-ppc.S \ 99*3465f14dSShawn Anastasio sha512p8-ppc.S \ 100*3465f14dSShawn Anastasio vpaes-ppc.S \ 101*3465f14dSShawn Anastasio x25519-ppc64.S 102*3465f14dSShawn Anastasio 10344f8e1e8SMark JohnstonCFLAGS.bsaes-armv7.S+= -D__KERNEL__ 10444f8e1e8SMark Johnston 105e655cc70SMark JohnstonCFLAGS+= -I${SRCTOP}/sys/crypto/openssl 106e655cc70SMark Johnston 10722bd0c97SMitchell Horne# For arm64, we are forced to rewrite the compiler invocation for the assembly 10822bd0c97SMitchell Horne# files, to remove -mgeneral-regs-only. 10922bd0c97SMitchell Horne${SRCS.aarch64:M*.S:S/S/o/}: ${.TARGET:R}.S 11022bd0c97SMitchell Horne ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${PROF} ${.IMPSRC} 11122bd0c97SMitchell Horne ${CTFCONVERT_CMD} 11222bd0c97SMitchell Horne 113197ff4c3SKornel Duleba# Based on modules/armv8crypto/Makefile. 114197ff4c3SKornel Duleba# Clang doesn't recognize "aes*" instructions without -march set. 115197ff4c3SKornel Dulebaaesv8-armx.o: aesv8-armx.S 116197ff4c3SKornel Duleba ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${PROF} \ 117197ff4c3SKornel Duleba -march=armv8-a+crypto ${.IMPSRC} 118197ff4c3SKornel Duleba ${CTFCONVERT_CMD} 119197ff4c3SKornel Duleba 120197ff4c3SKornel DulebaOBJS.aarch64= aesv8-armx.o 121197ff4c3SKornel Duleba 122ba610be9SJohn Baldwin.include <bsd.kmod.mk> 123