xref: /linux/arch/powerpc/crypto/Makefile (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2323a6bf1SMichael Ellerman#
3323a6bf1SMichael Ellerman# powerpc/crypto/Makefile
4323a6bf1SMichael Ellerman#
5323a6bf1SMichael Ellerman# Arch-specific CryptoAPI modules.
6323a6bf1SMichael Ellerman#
7323a6bf1SMichael Ellerman
8504c6143SMarkus Stockhausenobj-$(CONFIG_CRYPTO_AES_PPC_SPE) += aes-ppc-spe.o
9e8e59953SMarkus Stockhausenobj-$(CONFIG_CRYPTO_MD5_PPC) += md5-ppc.o
10323a6bf1SMichael Ellermanobj-$(CONFIG_CRYPTO_SHA1_PPC) += sha1-powerpc.o
11d9850fc5SMarkus Stockhausenobj-$(CONFIG_CRYPTO_SHA1_PPC_SPE) += sha1-ppc-spe.o
122ecc1e95SMarkus Stockhausenobj-$(CONFIG_CRYPTO_SHA256_PPC_SPE) += sha256-ppc-spe.o
1345a4672bSDanny Tsenobj-$(CONFIG_CRYPTO_AES_GCM_P10) += aes-gcm-p10-crypto.o
14161fca7eSDanny Tsenobj-$(CONFIG_CRYPTO_CHACHA20_P10) += chacha-p10-crypto.o
15161fca7eSDanny Tsenobj-$(CONFIG_CRYPTO_POLY1305_P10) += poly1305-p10-crypto.o
1610930333SDanny Tsenobj-$(CONFIG_CRYPTO_DEV_VMX_ENCRYPT) += vmx-crypto.o
17b42519dbSDanny Tsenobj-$(CONFIG_CRYPTO_CURVE25519_PPC64) += curve25519-ppc64le.o
18323a6bf1SMichael Ellerman
193265c4baSKim Phillipsaes-ppc-spe-y := aes-spe-core.o aes-spe-keys.o aes-tab-4k.o aes-spe-modes.o aes-spe-glue.o
203265c4baSKim Phillipsmd5-ppc-y := md5-asm.o md5-glue.o
21323a6bf1SMichael Ellermansha1-powerpc-y := sha1-powerpc-asm.o sha1.o
223265c4baSKim Phillipssha1-ppc-spe-y := sha1-spe-asm.o sha1-spe-glue.o
233265c4baSKim Phillipssha256-ppc-spe-y := sha256-spe-asm.o sha256-spe-glue.o
2481d358b1SMichael Ellermanaes-gcm-p10-crypto-y := aes-gcm-p10-glue.o aes-gcm-p10.o ghashp10-ppc.o aesp10-ppc.o
25161fca7eSDanny Tsenchacha-p10-crypto-y := chacha-p10-glue.o chacha-p10le-8x.o
26161fca7eSDanny Tsenpoly1305-p10-crypto-y := poly1305-p10-glue.o poly1305-p10le_64.o
2710930333SDanny Tsenvmx-crypto-objs := vmx.o aesp8-ppc.o ghashp8-ppc.o aes.o aes_cbc.o aes_ctr.o aes_xts.o ghash.o
28b42519dbSDanny Tsencurve25519-ppc64le-y := curve25519-ppc64le-core.o curve25519-ppc64le_asm.o
2910930333SDanny Tsen
3010930333SDanny Tsenifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y)
3110930333SDanny Tsenoverride flavour := linux-ppc64le
3210930333SDanny Tsenelse
3310930333SDanny Tsenifdef CONFIG_PPC64_ELF_ABI_V2
3410930333SDanny Tsenoverride flavour := linux-ppc64-elfv2
3510930333SDanny Tsenelse
3610930333SDanny Tsenoverride flavour := linux-ppc64
3710930333SDanny Tsenendif
3810930333SDanny Tsenendif
3945a4672bSDanny Tsen
4045a4672bSDanny Tsenquiet_cmd_perl = PERL    $@
4110930333SDanny Tsen      cmd_perl = $(PERL) $< $(flavour) > $@
4245a4672bSDanny Tsen
4310930333SDanny Tsentargets += aesp10-ppc.S ghashp10-ppc.S aesp8-ppc.S ghashp8-ppc.S
4445a4672bSDanny Tsen
4581d358b1SMichael Ellerman$(obj)/aesp10-ppc.S $(obj)/ghashp10-ppc.S: $(obj)/%.S: $(src)/%.pl FORCE
4645a4672bSDanny Tsen	$(call if_changed,perl)
4745a4672bSDanny Tsen
4810930333SDanny Tsen$(obj)/aesp8-ppc.S $(obj)/ghashp8-ppc.S: $(obj)/%.S: $(src)/%.pl FORCE
4910930333SDanny Tsen	$(call if_changed,perl)
5010930333SDanny Tsen
5181d358b1SMichael EllermanOBJECT_FILES_NON_STANDARD_aesp10-ppc.o := y
5281d358b1SMichael EllermanOBJECT_FILES_NON_STANDARD_ghashp10-ppc.o := y
5310930333SDanny TsenOBJECT_FILES_NON_STANDARD_aesp8-ppc.o := y
54*1e4d73d0SChristophe LeroyOBJECT_FILES_NON_STANDARD_ghashp8-ppc.o := y
55