xref: /OK3568_Linux_fs/kernel/arch/arm64/crypto/Kbuild.fips140 (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# Create a separate FIPS archive that duplicates the modules that are relevant
4*4882a593Smuzhiyun# for FIPS 140 certification as builtin objects
5*4882a593Smuzhiyun#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyunsha1-ce-y := sha1-ce-glue.o sha1-ce-core.o
8*4882a593Smuzhiyunsha2-ce-y := sha2-ce-glue.o sha2-ce-core.o
9*4882a593Smuzhiyunsha512-ce-y := sha512-ce-glue.o sha512-ce-core.o
10*4882a593Smuzhiyunghash-ce-y := ghash-ce-glue.o ghash-ce-core.o
11*4882a593Smuzhiyunaes-ce-cipher-y := aes-ce-core.o aes-ce-glue.o
12*4882a593Smuzhiyunaes-ce-blk-y := aes-glue-ce.o aes-ce.o
13*4882a593Smuzhiyunaes-neon-blk-y := aes-glue-neon.o aes-neon.o
14*4882a593Smuzhiyunsha256-arm64-y := sha256-glue.o sha256-core.o
15*4882a593Smuzhiyunsha512-arm64-y := sha512-glue.o sha512-core.o
16*4882a593Smuzhiyunaes-arm64-y := aes-cipher-core.o aes-cipher-glue.o
17*4882a593Smuzhiyunaes-neon-bs-y := aes-neonbs-core.o aes-neonbs-glue.o
18*4882a593Smuzhiyun
19*4882a593Smuzhiyuncrypto-arm64-fips-src	  := $(srctree)/arch/arm64/crypto/
20*4882a593Smuzhiyuncrypto-arm64-fips-modules := sha1-ce.o sha2-ce.o sha512-ce.o ghash-ce.o \
21*4882a593Smuzhiyun			     aes-ce-cipher.o aes-ce-blk.o aes-neon-blk.o \
22*4882a593Smuzhiyun			     sha256-arm64.o sha512-arm64.o aes-arm64.o \
23*4882a593Smuzhiyun			     aes-neon-bs.o
24*4882a593Smuzhiyun
25*4882a593Smuzhiyuncrypto-fips-objs += $(foreach o,$(crypto-arm64-fips-modules),$($(o:.o=-y):.o=-fips-arch.o))
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunCFLAGS_aes-glue-ce-fips-arch.o := -DUSE_V8_CRYPTO_EXTENSIONS
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun$(obj)/aes-glue-%-fips-arch.o: KBUILD_CFLAGS += $(FIPS140_CFLAGS)
30*4882a593Smuzhiyun$(obj)/aes-glue-%-fips-arch.o: $(crypto-arm64-fips-src)/aes-glue.c FORCE
31*4882a593Smuzhiyun	$(call if_changed_rule,cc_o_c)
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun$(obj)/%-fips-arch.o: KBUILD_CFLAGS += $(FIPS140_CFLAGS)
34*4882a593Smuzhiyun$(obj)/%-fips-arch.o: $(crypto-arm64-fips-src)/%.c FORCE
35*4882a593Smuzhiyun	$(call if_changed_rule,cc_o_c)
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun$(obj)/%-fips-arch.o: $(crypto-arm64-fips-src)/%.S FORCE
38*4882a593Smuzhiyun	$(call if_changed_rule,as_o_S)
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun$(obj)/%: $(crypto-arm64-fips-src)/%_shipped
41*4882a593Smuzhiyun	$(call cmd,shipped)
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun$(obj)/%-fips-arch.o: $(obj)/%.S FORCE
44*4882a593Smuzhiyun	$(call if_changed_rule,as_o_S)
45