1*7e54e993SEric Biggers // SPDX-License-Identifier: GPL-2.0 2*7e54e993SEric Biggers /* 3*7e54e993SEric Biggers * ChaCha and HChaCha functions (MIPS optimized) 4*7e54e993SEric Biggers * 5*7e54e993SEric Biggers * Copyright (C) 2019 Linaro, Ltd. <ard.biesheuvel@linaro.org> 6*7e54e993SEric Biggers */ 7*7e54e993SEric Biggers 8*7e54e993SEric Biggers #include <crypto/chacha.h> 9*7e54e993SEric Biggers #include <linux/kernel.h> 10*7e54e993SEric Biggers #include <linux/module.h> 11*7e54e993SEric Biggers 12*7e54e993SEric Biggers asmlinkage void chacha_crypt_arch(struct chacha_state *state, 13*7e54e993SEric Biggers u8 *dst, const u8 *src, 14*7e54e993SEric Biggers unsigned int bytes, int nrounds); 15*7e54e993SEric Biggers EXPORT_SYMBOL(chacha_crypt_arch); 16*7e54e993SEric Biggers 17*7e54e993SEric Biggers asmlinkage void hchacha_block_arch(const struct chacha_state *state, 18*7e54e993SEric Biggers u32 out[HCHACHA_OUT_WORDS], int nrounds); 19*7e54e993SEric Biggers EXPORT_SYMBOL(hchacha_block_arch); 20*7e54e993SEric Biggers chacha_is_arch_optimized(void)21*7e54e993SEric Biggersbool chacha_is_arch_optimized(void) 22*7e54e993SEric Biggers { 23*7e54e993SEric Biggers return true; 24*7e54e993SEric Biggers } 25*7e54e993SEric Biggers EXPORT_SYMBOL(chacha_is_arch_optimized); 26*7e54e993SEric Biggers 27*7e54e993SEric Biggers MODULE_DESCRIPTION("ChaCha and HChaCha functions (MIPS optimized)"); 28*7e54e993SEric Biggers MODULE_AUTHOR("Ard Biesheuvel <ard.biesheuvel@linaro.org>"); 29*7e54e993SEric Biggers MODULE_LICENSE("GPL v2"); 30