• Eric Biggers's avatar
    crypto: powerpc - convert SPE AES algorithms to skcipher API · 7f725f41
    Eric Biggers authored
    Convert the glue code for the PowerPC SPE implementations of AES-ECB,
    AES-CBC, AES-CTR, and AES-XTS from the deprecated "blkcipher" API to the
    "skcipher" API.  This is needed in order for the blkcipher API to be
    removed.
    
    Tested with:
    
    	export ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-
    	make mpc85xx_defconfig
    	cat >> .config << EOF
    	# CONFIG_MODULES is not set
    	# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
    	CONFIG_DEBUG_KERNEL=y
    	CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y
    	CONFIG_CRYPTO_AES=y
    	CONFIG_CRYPTO_CBC=y
    	CONFIG_CRYPTO_CTR=y
    	CONFIG_CRYPTO_ECB=y
    	CONFIG_CRYPTO_XTS=y
    	CONFIG_CRYPTO_AES_PPC_SPE=y
    	EOF
    	make olddefconfig
    	make -j32
    	qemu-system-ppc -M mpc8544ds -cpu e500 -nographic \
    		-kernel arch/powerpc/boot/zImage \
    		-append cryptomgr.fuzz_iterations=1000
    
    Note that xts-ppc-spe still fails the comparison tests due to the lack
    of ciphertext stealing support.  This is not addressed by this patch.
    
    This patch also cleans up the code by making ->encrypt() and ->decrypt()
    call a common function for each of ECB, CBC, and XTS, and by using a
    clearer way to compute the length to process at each step.
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    7f725f41
aes-spe-glue.c 12.2 KB