components/openssl/openssl-1.0.1/engines/t4/eng_t4_aes_asm.h
author Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
Fri, 03 May 2013 16:10:11 -0700
branchs11-update
changeset 2593 b92e6df5eaf0
parent 603 components/openssl/openssl-1.0.0/engines/t4/eng_t4_aes_asm.h@1b966e9a6b03
permissions -rw-r--r--
PSARC 2013/034 OpenSSL 1.0.1 15824597 SUNBT7206149 Resynch with the latest OpenSSL (1.0.1e)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
426
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
     1
/*
603
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
     2
 * This product includes cryptographic software developed by the OpenSSL
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
     3
 * Project for use in the OpenSSL Toolkit (http://www.openssl.org/).
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
     4
 */
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
     5
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
     6
/*
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
     7
 * ====================================================================
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
     8
 * Copyright (c) 1999-2007 The OpenSSL Project.  All rights reserved.
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
     9
 *
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    10
 * Redistribution and use in source and binary forms, with or without
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    11
 * modification, are permitted provided that the following conditions
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    12
 * are met:
426
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    13
 *
603
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    14
 * 1. Redistributions of source code must retain the above copyright
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    15
 *    notice, this list of conditions and the following disclaimer.
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    16
 *
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    17
 * 2. Redistributions in binary form must reproduce the above copyright
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    18
 *    notice, this list of conditions and the following disclaimer in
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    19
 *    the documentation and/or other materials provided with the
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    20
 *    distribution.
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    21
 *
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    22
 * 3. All advertising materials mentioning features or use of this
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    23
 *    software must display the following acknowledgment:
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    24
 *    "This product includes software developed by the OpenSSL Project
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    25
 *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
426
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    26
 *
603
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    27
 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    28
 *    endorse or promote products derived from this software without
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    29
 *    prior written permission. For written permission, please contact
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    30
 *    [email protected].
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    31
 *
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    32
 * 5. Products derived from this software may not be called "OpenSSL"
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    33
 *    nor may "OpenSSL" appear in their names without prior written
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    34
 *    permission of the OpenSSL Project.
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    35
 *
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    36
 * 6. Redistributions of any form whatsoever must retain the following
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    37
 *    acknowledgment:
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    38
 *    "This product includes software developed by the OpenSSL Project
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    39
 *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
426
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    40
 *
603
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    41
 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    42
 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    43
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    44
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    45
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    46
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    47
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    48
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    49
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    50
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    51
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    52
 * OF THE POSSIBILITY OF SUCH DAMAGE.
1b966e9a6b03 7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents: 426
diff changeset
    53
 * ====================================================================
426
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    54
 */
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    55
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    56
/*
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    57
 * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    58
 */
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    59
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    60
#ifndef	ENG_T4_AES_ASM_H
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    61
#define	ENG_T4_AES_ASM_H
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    62
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    63
/*
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    64
 * SPARC AES assembly language functions.
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    65
 *
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    66
 * Based on Solaris file aes_impl.h.
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    67
 */
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    68
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    69
#ifdef	__cplusplus
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    70
extern "C" {
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    71
#endif
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    72
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    73
#include <sys/types.h>
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    74
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    75
#if (defined(sun4v) || defined(__sparcv9) || defined(__sparcv8plus) || \
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    76
	defined(__sparcv8)) && ! defined(OPENSSL_NO_ASM)
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    77
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    78
extern void t4_aes_expand128(uint64_t *rk, const uint32_t *key);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    79
extern void t4_aes_expand192(uint64_t *rk, const uint32_t *key);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    80
extern void t4_aes_expand256(uint64_t *rk, const uint32_t *key);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    81
extern void t4_aes_encrypt128(const uint64_t *rk, const uint32_t *pt,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    82
    uint32_t *ct);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    83
extern void t4_aes_encrypt192(const uint64_t *rk, const uint32_t *pt,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    84
    uint32_t *ct);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    85
extern void t4_aes_encrypt256(const uint64_t *rk, const uint32_t *pt,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    86
    uint32_t *ct);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    87
extern void t4_aes_decrypt128(const uint64_t *rk, const uint32_t *ct,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    88
    uint32_t *pt);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    89
extern void t4_aes_decrypt192(const uint64_t *rk, const uint32_t *ct,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    90
    uint32_t *pt);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    91
extern void t4_aes_decrypt256(const uint64_t *rk, const uint32_t *ct,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    92
    uint32_t *pt);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    93
extern void t4_aes128_load_keys_for_encrypt(uint64_t *ks);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    94
extern void t4_aes192_load_keys_for_encrypt(uint64_t *ks);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    95
extern void t4_aes256_load_keys_for_encrypt(uint64_t *ks);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    96
extern void t4_aes128_ecb_encrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    97
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *dummy);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    98
extern void t4_aes192_ecb_encrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
    99
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *dummy);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   100
extern void t4_aes256_ecb_encrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   101
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *dummy);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   102
extern void t4_aes128_cbc_encrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   103
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   104
extern void t4_aes192_cbc_encrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   105
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   106
extern void t4_aes256_cbc_encrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   107
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   108
extern void t4_aes128_ctr_crypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   109
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   110
extern void t4_aes192_ctr_crypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   111
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   112
extern void t4_aes256_ctr_crypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   113
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   114
extern void t4_aes128_cfb128_encrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   115
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   116
extern void t4_aes192_cfb128_encrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   117
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   118
extern void t4_aes256_cfb128_encrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   119
    uint64_t *asm_out, size_t amount_to_encrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   120
extern void t4_aes128_load_keys_for_decrypt(uint64_t *ks);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   121
extern void t4_aes192_load_keys_for_decrypt(uint64_t *ks);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   122
extern void t4_aes256_load_keys_for_decrypt(uint64_t *ks);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   123
extern void t4_aes128_ecb_decrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   124
    uint64_t *asm_out, size_t amount_to_decrypt, uint64_t *dummy);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   125
extern void t4_aes192_ecb_decrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   126
    uint64_t *asm_out, size_t amount_to_decrypt, uint64_t *dummy);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   127
extern void t4_aes256_ecb_decrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   128
    uint64_t *asm_out, size_t amount_to_decrypt, uint64_t *dummy);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   129
extern void t4_aes128_cbc_decrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   130
    uint64_t *asm_out, size_t amount_to_decrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   131
extern void t4_aes192_cbc_decrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   132
    uint64_t *asm_out, size_t amount_to_decrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   133
extern void t4_aes256_cbc_decrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   134
    uint64_t *asm_out, size_t amount_to_decrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   135
extern void t4_aes128_cfb128_decrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   136
    uint64_t *asm_out, size_t amount_to_decrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   137
extern void t4_aes192_cfb128_decrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   138
    uint64_t *asm_out, size_t amount_to_decrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   139
extern void t4_aes256_cfb128_decrypt(uint64_t *ks, uint64_t *asm_in,
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   140
    uint64_t *asm_out, size_t amount_to_decrypt, uint64_t *iv);
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   141
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   142
#endif	/* (sun4v||__sparv9||__sparcv8plus||__sparvc8) && !OPENSSL_NO_ASM */
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   143
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   144
#ifdef	__cplusplus
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   145
}
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   146
#endif
8c675b553a27 7048212 T4 engine needed for openssl
Dan Anderson <dan.anderson@oracle.com>
parents:
diff changeset
   147
#endif	/* ENG_T4_AES_ASM_H */