linux/arch/x86/crypto/aria_aesni_avx2_glue.c

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Glue Code for the AVX2/AES-NI/GFNI assembler implementation of the ARIA Cipher
 *
 * Copyright (c) 2022 Taehee Yoo <[email protected]>
 */

#include <crypto/algapi.h>
#include <crypto/internal/simd.h>
#include <crypto/aria.h>
#include <linux/crypto.h>
#include <linux/err.h>
#include <linux/module.h>
#include <linux/types.h>

#include "ecb_cbc_helpers.h"
#include "aria-avx.h"

asmlinkage void aria_aesni_avx2_encrypt_32way(const void *ctx, u8 *dst,
					      const u8 *src);
EXPORT_SYMBOL_GPL();
asmlinkage void aria_aesni_avx2_decrypt_32way(const void *ctx, u8 *dst,
					      const u8 *src);
EXPORT_SYMBOL_GPL();
asmlinkage void aria_aesni_avx2_ctr_crypt_32way(const void *ctx, u8 *dst,
						const u8 *src,
						u8 *keystream, u8 *iv);
EXPORT_SYMBOL_GPL();
#ifdef CONFIG_AS_GFNI
asmlinkage void aria_aesni_avx2_gfni_encrypt_32way(const void *ctx, u8 *dst,
						   const u8 *src);
EXPORT_SYMBOL_GPL();
asmlinkage void aria_aesni_avx2_gfni_decrypt_32way(const void *ctx, u8 *dst,
						   const u8 *src);
EXPORT_SYMBOL_GPL();
asmlinkage void aria_aesni_avx2_gfni_ctr_crypt_32way(const void *ctx, u8 *dst,
						     const u8 *src,
						     u8 *keystream, u8 *iv);
EXPORT_SYMBOL_GPL();
#endif /* CONFIG_AS_GFNI */

static struct aria_avx_ops aria_ops;

struct aria_avx2_request_ctx {};

static int ecb_do_encrypt(struct skcipher_request *req, const u32 *rkey)
{}

static int ecb_do_decrypt(struct skcipher_request *req, const u32 *rkey)
{}

static int aria_avx2_ecb_encrypt(struct skcipher_request *req)
{}

static int aria_avx2_ecb_decrypt(struct skcipher_request *req)
{}

static int aria_avx2_set_key(struct crypto_skcipher *tfm, const u8 *key,
			    unsigned int keylen)
{}

static int aria_avx2_ctr_encrypt(struct skcipher_request *req)
{}

static int aria_avx2_init_tfm(struct crypto_skcipher *tfm)
{}

static struct skcipher_alg aria_algs[] =;

static struct simd_skcipher_alg *aria_simd_algs[ARRAY_SIZE(aria_algs)];

static int __init aria_avx2_init(void)
{}

static void __exit aria_avx2_exit(void)
{}

module_init();
module_exit(aria_avx2_exit);

MODULE_LICENSE();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_ALIAS_CRYPTO();
MODULE_ALIAS_CRYPTO();