linux/arch/x86/crypto/aria_aesni_avx_glue.c

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Glue Code for the AVX/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_avx_encrypt_16way(const void *ctx, u8 *dst,
					     const u8 *src);
EXPORT_SYMBOL_GPL();
asmlinkage void aria_aesni_avx_decrypt_16way(const void *ctx, u8 *dst,
					     const u8 *src);
EXPORT_SYMBOL_GPL();
asmlinkage void aria_aesni_avx_ctr_crypt_16way(const void *ctx, u8 *dst,
					       const u8 *src,
					       u8 *keystream, u8 *iv);
EXPORT_SYMBOL_GPL();
#ifdef CONFIG_AS_GFNI
asmlinkage void aria_aesni_avx_gfni_encrypt_16way(const void *ctx, u8 *dst,
						  const u8 *src);
EXPORT_SYMBOL_GPL();
asmlinkage void aria_aesni_avx_gfni_decrypt_16way(const void *ctx, u8 *dst,
						  const u8 *src);
EXPORT_SYMBOL_GPL();
asmlinkage void aria_aesni_avx_gfni_ctr_crypt_16way(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_avx_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_avx_ecb_encrypt(struct skcipher_request *req)
{}

static int aria_avx_ecb_decrypt(struct skcipher_request *req)
{}

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

static int aria_avx_ctr_encrypt(struct skcipher_request *req)
{}

static int aria_avx_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_avx_init(void)
{}

static void __exit aria_avx_exit(void)
{}

module_init();
module_exit(aria_avx_exit);

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