mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
x86/asm: Change all ENTRY+ENDPROC to SYM_FUNC_*
These are all functions which are invoked from elsewhere, so annotate them as global using the new SYM_FUNC_START and their ENDPROC's by SYM_FUNC_END. Make sure ENTRY/ENDPROC is not defined on X86_64, given these were the last users. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> [hibernate] Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> [xen bits] Acked-by: Herbert Xu <herbert@gondor.apana.org.au> [crypto] Cc: Allison Randal <allison@lohutok.net> Cc: Andrey Ryabinin <aryabinin@virtuozzo.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Andy Shevchenko <andy@infradead.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Armijn Hemel <armijn@tjaldur.nl> Cc: Cao jin <caoj.fnst@cn.fujitsu.com> Cc: Darren Hart <dvhart@infradead.org> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Enrico Weigelt <info@metux.net> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jim Mattson <jmattson@google.com> Cc: Joerg Roedel <joro@8bytes.org> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Juergen Gross <jgross@suse.com> Cc: Kate Stewart <kstewart@linuxfoundation.org> Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> Cc: kvm ML <kvm@vger.kernel.org> Cc: Len Brown <len.brown@intel.com> Cc: linux-arch@vger.kernel.org Cc: linux-crypto@vger.kernel.org Cc: linux-efi <linux-efi@vger.kernel.org> Cc: linux-efi@vger.kernel.org Cc: linux-pm@vger.kernel.org Cc: Mark Rutland <mark.rutland@arm.com> Cc: Matt Fleming <matt@codeblueprint.co.uk> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Pavel Machek <pavel@ucw.cz> Cc: Peter Zijlstra <peterz@infradead.org> Cc: platform-driver-x86@vger.kernel.org Cc: "Radim Krčmář" <rkrcmar@redhat.com> Cc: Sean Christopherson <sean.j.christopherson@intel.com> Cc: Stefano Stabellini <sstabellini@kernel.org> Cc: "Steven Rostedt (VMware)" <rostedt@goodmis.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vitaly Kuznetsov <vkuznets@redhat.com> Cc: Wanpeng Li <wanpengli@tencent.com> Cc: Wei Huang <wei@redhat.com> Cc: x86-ml <x86@kernel.org> Cc: xen-devel@lists.xenproject.org Cc: Xiaoyao Li <xiaoyao.li@linux.intel.com> Link: https://lkml.kernel.org/r/20191011115108.12392-25-jslaby@suse.cz
This commit is contained in:
committed by
Borislav Petkov
parent
bc7b11c04e
commit
6dcc5627f6
@@ -23,7 +23,7 @@
|
||||
|
||||
.code64
|
||||
.text
|
||||
ENTRY(efi64_thunk)
|
||||
SYM_FUNC_START(efi64_thunk)
|
||||
push %rbp
|
||||
push %rbx
|
||||
|
||||
@@ -97,7 +97,7 @@ ENTRY(efi64_thunk)
|
||||
pop %rbx
|
||||
pop %rbp
|
||||
ret
|
||||
ENDPROC(efi64_thunk)
|
||||
SYM_FUNC_END(efi64_thunk)
|
||||
|
||||
SYM_FUNC_START_LOCAL(efi_exit32)
|
||||
movq func_rt_ptr(%rip), %rax
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
__HEAD
|
||||
.code32
|
||||
ENTRY(startup_32)
|
||||
SYM_FUNC_START(startup_32)
|
||||
/*
|
||||
* 32bit entry is 0 and it is ABI so immutable!
|
||||
* If we come here directly from a bootloader,
|
||||
@@ -222,11 +222,11 @@ ENTRY(startup_32)
|
||||
|
||||
/* Jump from 32bit compatibility mode into 64bit mode. */
|
||||
lret
|
||||
ENDPROC(startup_32)
|
||||
SYM_FUNC_END(startup_32)
|
||||
|
||||
#ifdef CONFIG_EFI_MIXED
|
||||
.org 0x190
|
||||
ENTRY(efi32_stub_entry)
|
||||
SYM_FUNC_START(efi32_stub_entry)
|
||||
add $0x4, %esp /* Discard return address */
|
||||
popl %ecx
|
||||
popl %edx
|
||||
@@ -245,7 +245,7 @@ ENTRY(efi32_stub_entry)
|
||||
movl %eax, efi_config(%ebp)
|
||||
|
||||
jmp startup_32
|
||||
ENDPROC(efi32_stub_entry)
|
||||
SYM_FUNC_END(efi32_stub_entry)
|
||||
#endif
|
||||
|
||||
.code64
|
||||
@@ -447,7 +447,7 @@ SYM_CODE_END(startup_64)
|
||||
#ifdef CONFIG_EFI_STUB
|
||||
|
||||
/* The entry point for the PE/COFF executable is efi_pe_entry. */
|
||||
ENTRY(efi_pe_entry)
|
||||
SYM_FUNC_START(efi_pe_entry)
|
||||
movq %rcx, efi64_config(%rip) /* Handle */
|
||||
movq %rdx, efi64_config+8(%rip) /* EFI System table pointer */
|
||||
|
||||
@@ -496,10 +496,10 @@ fail:
|
||||
movl BP_code32_start(%esi), %eax
|
||||
leaq startup_64(%rax), %rax
|
||||
jmp *%rax
|
||||
ENDPROC(efi_pe_entry)
|
||||
SYM_FUNC_END(efi_pe_entry)
|
||||
|
||||
.org 0x390
|
||||
ENTRY(efi64_stub_entry)
|
||||
SYM_FUNC_START(efi64_stub_entry)
|
||||
movq %rdi, efi64_config(%rip) /* Handle */
|
||||
movq %rsi, efi64_config+8(%rip) /* EFI System table pointer */
|
||||
|
||||
@@ -508,7 +508,7 @@ ENTRY(efi64_stub_entry)
|
||||
|
||||
movq %rdx, %rsi
|
||||
jmp handover_entry
|
||||
ENDPROC(efi64_stub_entry)
|
||||
SYM_FUNC_END(efi64_stub_entry)
|
||||
#endif
|
||||
|
||||
.text
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
.text
|
||||
.code32
|
||||
ENTRY(get_sev_encryption_bit)
|
||||
SYM_FUNC_START(get_sev_encryption_bit)
|
||||
xor %eax, %eax
|
||||
|
||||
#ifdef CONFIG_AMD_MEM_ENCRYPT
|
||||
@@ -65,10 +65,10 @@ ENTRY(get_sev_encryption_bit)
|
||||
#endif /* CONFIG_AMD_MEM_ENCRYPT */
|
||||
|
||||
ret
|
||||
ENDPROC(get_sev_encryption_bit)
|
||||
SYM_FUNC_END(get_sev_encryption_bit)
|
||||
|
||||
.code64
|
||||
ENTRY(set_sev_encryption_mask)
|
||||
SYM_FUNC_START(set_sev_encryption_mask)
|
||||
#ifdef CONFIG_AMD_MEM_ENCRYPT
|
||||
push %rbp
|
||||
push %rdx
|
||||
@@ -90,7 +90,7 @@ ENTRY(set_sev_encryption_mask)
|
||||
|
||||
xor %rax, %rax
|
||||
ret
|
||||
ENDPROC(set_sev_encryption_mask)
|
||||
SYM_FUNC_END(set_sev_encryption_mask)
|
||||
|
||||
.data
|
||||
|
||||
|
||||
@@ -186,7 +186,7 @@ SYM_FUNC_END(__store_partial)
|
||||
/*
|
||||
* void crypto_aegis128_aesni_init(void *state, const void *key, const void *iv);
|
||||
*/
|
||||
ENTRY(crypto_aegis128_aesni_init)
|
||||
SYM_FUNC_START(crypto_aegis128_aesni_init)
|
||||
FRAME_BEGIN
|
||||
|
||||
/* load IV: */
|
||||
@@ -226,13 +226,13 @@ ENTRY(crypto_aegis128_aesni_init)
|
||||
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(crypto_aegis128_aesni_init)
|
||||
SYM_FUNC_END(crypto_aegis128_aesni_init)
|
||||
|
||||
/*
|
||||
* void crypto_aegis128_aesni_ad(void *state, unsigned int length,
|
||||
* const void *data);
|
||||
*/
|
||||
ENTRY(crypto_aegis128_aesni_ad)
|
||||
SYM_FUNC_START(crypto_aegis128_aesni_ad)
|
||||
FRAME_BEGIN
|
||||
|
||||
cmp $0x10, LEN
|
||||
@@ -378,7 +378,7 @@ ENTRY(crypto_aegis128_aesni_ad)
|
||||
.Lad_out:
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(crypto_aegis128_aesni_ad)
|
||||
SYM_FUNC_END(crypto_aegis128_aesni_ad)
|
||||
|
||||
.macro encrypt_block a s0 s1 s2 s3 s4 i
|
||||
movdq\a (\i * 0x10)(SRC), MSG
|
||||
@@ -402,7 +402,7 @@ ENDPROC(crypto_aegis128_aesni_ad)
|
||||
* void crypto_aegis128_aesni_enc(void *state, unsigned int length,
|
||||
* const void *src, void *dst);
|
||||
*/
|
||||
ENTRY(crypto_aegis128_aesni_enc)
|
||||
SYM_FUNC_START(crypto_aegis128_aesni_enc)
|
||||
FRAME_BEGIN
|
||||
|
||||
cmp $0x10, LEN
|
||||
@@ -493,13 +493,13 @@ ENTRY(crypto_aegis128_aesni_enc)
|
||||
.Lenc_out:
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(crypto_aegis128_aesni_enc)
|
||||
SYM_FUNC_END(crypto_aegis128_aesni_enc)
|
||||
|
||||
/*
|
||||
* void crypto_aegis128_aesni_enc_tail(void *state, unsigned int length,
|
||||
* const void *src, void *dst);
|
||||
*/
|
||||
ENTRY(crypto_aegis128_aesni_enc_tail)
|
||||
SYM_FUNC_START(crypto_aegis128_aesni_enc_tail)
|
||||
FRAME_BEGIN
|
||||
|
||||
/* load the state: */
|
||||
@@ -533,7 +533,7 @@ ENTRY(crypto_aegis128_aesni_enc_tail)
|
||||
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(crypto_aegis128_aesni_enc_tail)
|
||||
SYM_FUNC_END(crypto_aegis128_aesni_enc_tail)
|
||||
|
||||
.macro decrypt_block a s0 s1 s2 s3 s4 i
|
||||
movdq\a (\i * 0x10)(SRC), MSG
|
||||
@@ -556,7 +556,7 @@ ENDPROC(crypto_aegis128_aesni_enc_tail)
|
||||
* void crypto_aegis128_aesni_dec(void *state, unsigned int length,
|
||||
* const void *src, void *dst);
|
||||
*/
|
||||
ENTRY(crypto_aegis128_aesni_dec)
|
||||
SYM_FUNC_START(crypto_aegis128_aesni_dec)
|
||||
FRAME_BEGIN
|
||||
|
||||
cmp $0x10, LEN
|
||||
@@ -647,13 +647,13 @@ ENTRY(crypto_aegis128_aesni_dec)
|
||||
.Ldec_out:
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(crypto_aegis128_aesni_dec)
|
||||
SYM_FUNC_END(crypto_aegis128_aesni_dec)
|
||||
|
||||
/*
|
||||
* void crypto_aegis128_aesni_dec_tail(void *state, unsigned int length,
|
||||
* const void *src, void *dst);
|
||||
*/
|
||||
ENTRY(crypto_aegis128_aesni_dec_tail)
|
||||
SYM_FUNC_START(crypto_aegis128_aesni_dec_tail)
|
||||
FRAME_BEGIN
|
||||
|
||||
/* load the state: */
|
||||
@@ -697,13 +697,13 @@ ENTRY(crypto_aegis128_aesni_dec_tail)
|
||||
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(crypto_aegis128_aesni_dec_tail)
|
||||
SYM_FUNC_END(crypto_aegis128_aesni_dec_tail)
|
||||
|
||||
/*
|
||||
* void crypto_aegis128_aesni_final(void *state, void *tag_xor,
|
||||
* u64 assoclen, u64 cryptlen);
|
||||
*/
|
||||
ENTRY(crypto_aegis128_aesni_final)
|
||||
SYM_FUNC_START(crypto_aegis128_aesni_final)
|
||||
FRAME_BEGIN
|
||||
|
||||
/* load the state: */
|
||||
@@ -744,4 +744,4 @@ ENTRY(crypto_aegis128_aesni_final)
|
||||
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(crypto_aegis128_aesni_final)
|
||||
SYM_FUNC_END(crypto_aegis128_aesni_final)
|
||||
|
||||
@@ -544,11 +544,11 @@ ddq_add_8:
|
||||
* aes_ctr_enc_128_avx_by8(void *in, void *iv, void *keys, void *out,
|
||||
* unsigned int num_bytes)
|
||||
*/
|
||||
ENTRY(aes_ctr_enc_128_avx_by8)
|
||||
SYM_FUNC_START(aes_ctr_enc_128_avx_by8)
|
||||
/* call the aes main loop */
|
||||
do_aes_ctrmain KEY_128
|
||||
|
||||
ENDPROC(aes_ctr_enc_128_avx_by8)
|
||||
SYM_FUNC_END(aes_ctr_enc_128_avx_by8)
|
||||
|
||||
/*
|
||||
* routine to do AES192 CTR enc/decrypt "by8"
|
||||
@@ -557,11 +557,11 @@ ENDPROC(aes_ctr_enc_128_avx_by8)
|
||||
* aes_ctr_enc_192_avx_by8(void *in, void *iv, void *keys, void *out,
|
||||
* unsigned int num_bytes)
|
||||
*/
|
||||
ENTRY(aes_ctr_enc_192_avx_by8)
|
||||
SYM_FUNC_START(aes_ctr_enc_192_avx_by8)
|
||||
/* call the aes main loop */
|
||||
do_aes_ctrmain KEY_192
|
||||
|
||||
ENDPROC(aes_ctr_enc_192_avx_by8)
|
||||
SYM_FUNC_END(aes_ctr_enc_192_avx_by8)
|
||||
|
||||
/*
|
||||
* routine to do AES256 CTR enc/decrypt "by8"
|
||||
@@ -570,8 +570,8 @@ ENDPROC(aes_ctr_enc_192_avx_by8)
|
||||
* aes_ctr_enc_256_avx_by8(void *in, void *iv, void *keys, void *out,
|
||||
* unsigned int num_bytes)
|
||||
*/
|
||||
ENTRY(aes_ctr_enc_256_avx_by8)
|
||||
SYM_FUNC_START(aes_ctr_enc_256_avx_by8)
|
||||
/* call the aes main loop */
|
||||
do_aes_ctrmain KEY_256
|
||||
|
||||
ENDPROC(aes_ctr_enc_256_avx_by8)
|
||||
SYM_FUNC_END(aes_ctr_enc_256_avx_by8)
|
||||
|
||||
@@ -1592,7 +1592,7 @@ _esb_loop_\@:
|
||||
* poly = x^128 + x^127 + x^126 + x^121 + 1
|
||||
*
|
||||
*****************************************************************************/
|
||||
ENTRY(aesni_gcm_dec)
|
||||
SYM_FUNC_START(aesni_gcm_dec)
|
||||
FUNC_SAVE
|
||||
|
||||
GCM_INIT %arg6, arg7, arg8, arg9
|
||||
@@ -1600,7 +1600,7 @@ ENTRY(aesni_gcm_dec)
|
||||
GCM_COMPLETE arg10, arg11
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_dec)
|
||||
SYM_FUNC_END(aesni_gcm_dec)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
@@ -1680,7 +1680,7 @@ ENDPROC(aesni_gcm_dec)
|
||||
*
|
||||
* poly = x^128 + x^127 + x^126 + x^121 + 1
|
||||
***************************************************************************/
|
||||
ENTRY(aesni_gcm_enc)
|
||||
SYM_FUNC_START(aesni_gcm_enc)
|
||||
FUNC_SAVE
|
||||
|
||||
GCM_INIT %arg6, arg7, arg8, arg9
|
||||
@@ -1689,7 +1689,7 @@ ENTRY(aesni_gcm_enc)
|
||||
GCM_COMPLETE arg10, arg11
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_enc)
|
||||
SYM_FUNC_END(aesni_gcm_enc)
|
||||
|
||||
/*****************************************************************************
|
||||
* void aesni_gcm_init(void *aes_ctx, // AES Key schedule. Starts on a 16 byte boundary.
|
||||
@@ -1702,12 +1702,12 @@ ENDPROC(aesni_gcm_enc)
|
||||
* const u8 *aad, // Additional Authentication Data (AAD)
|
||||
* u64 aad_len) // Length of AAD in bytes.
|
||||
*/
|
||||
ENTRY(aesni_gcm_init)
|
||||
SYM_FUNC_START(aesni_gcm_init)
|
||||
FUNC_SAVE
|
||||
GCM_INIT %arg3, %arg4,%arg5, %arg6
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_init)
|
||||
SYM_FUNC_END(aesni_gcm_init)
|
||||
|
||||
/*****************************************************************************
|
||||
* void aesni_gcm_enc_update(void *aes_ctx, // AES Key schedule. Starts on a 16 byte boundary.
|
||||
@@ -1717,12 +1717,12 @@ ENDPROC(aesni_gcm_init)
|
||||
* const u8 *in, // Plaintext input
|
||||
* u64 plaintext_len, // Length of data in bytes for encryption.
|
||||
*/
|
||||
ENTRY(aesni_gcm_enc_update)
|
||||
SYM_FUNC_START(aesni_gcm_enc_update)
|
||||
FUNC_SAVE
|
||||
GCM_ENC_DEC enc
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_enc_update)
|
||||
SYM_FUNC_END(aesni_gcm_enc_update)
|
||||
|
||||
/*****************************************************************************
|
||||
* void aesni_gcm_dec_update(void *aes_ctx, // AES Key schedule. Starts on a 16 byte boundary.
|
||||
@@ -1732,12 +1732,12 @@ ENDPROC(aesni_gcm_enc_update)
|
||||
* const u8 *in, // Plaintext input
|
||||
* u64 plaintext_len, // Length of data in bytes for encryption.
|
||||
*/
|
||||
ENTRY(aesni_gcm_dec_update)
|
||||
SYM_FUNC_START(aesni_gcm_dec_update)
|
||||
FUNC_SAVE
|
||||
GCM_ENC_DEC dec
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_dec_update)
|
||||
SYM_FUNC_END(aesni_gcm_dec_update)
|
||||
|
||||
/*****************************************************************************
|
||||
* void aesni_gcm_finalize(void *aes_ctx, // AES Key schedule. Starts on a 16 byte boundary.
|
||||
@@ -1747,12 +1747,12 @@ ENDPROC(aesni_gcm_dec_update)
|
||||
* u64 auth_tag_len); // Authenticated Tag Length in bytes. Valid values are 16 (most likely),
|
||||
* // 12 or 8.
|
||||
*/
|
||||
ENTRY(aesni_gcm_finalize)
|
||||
SYM_FUNC_START(aesni_gcm_finalize)
|
||||
FUNC_SAVE
|
||||
GCM_COMPLETE %arg3 %arg4
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_finalize)
|
||||
SYM_FUNC_END(aesni_gcm_finalize)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1830,7 +1830,7 @@ SYM_FUNC_END(_key_expansion_256b)
|
||||
* int aesni_set_key(struct crypto_aes_ctx *ctx, const u8 *in_key,
|
||||
* unsigned int key_len)
|
||||
*/
|
||||
ENTRY(aesni_set_key)
|
||||
SYM_FUNC_START(aesni_set_key)
|
||||
FRAME_BEGIN
|
||||
#ifndef __x86_64__
|
||||
pushl KEYP
|
||||
@@ -1939,12 +1939,12 @@ ENTRY(aesni_set_key)
|
||||
#endif
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(aesni_set_key)
|
||||
SYM_FUNC_END(aesni_set_key)
|
||||
|
||||
/*
|
||||
* void aesni_enc(struct crypto_aes_ctx *ctx, u8 *dst, const u8 *src)
|
||||
*/
|
||||
ENTRY(aesni_enc)
|
||||
SYM_FUNC_START(aesni_enc)
|
||||
FRAME_BEGIN
|
||||
#ifndef __x86_64__
|
||||
pushl KEYP
|
||||
@@ -1963,7 +1963,7 @@ ENTRY(aesni_enc)
|
||||
#endif
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(aesni_enc)
|
||||
SYM_FUNC_END(aesni_enc)
|
||||
|
||||
/*
|
||||
* _aesni_enc1: internal ABI
|
||||
@@ -2133,7 +2133,7 @@ SYM_FUNC_END(_aesni_enc4)
|
||||
/*
|
||||
* void aesni_dec (struct crypto_aes_ctx *ctx, u8 *dst, const u8 *src)
|
||||
*/
|
||||
ENTRY(aesni_dec)
|
||||
SYM_FUNC_START(aesni_dec)
|
||||
FRAME_BEGIN
|
||||
#ifndef __x86_64__
|
||||
pushl KEYP
|
||||
@@ -2153,7 +2153,7 @@ ENTRY(aesni_dec)
|
||||
#endif
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(aesni_dec)
|
||||
SYM_FUNC_END(aesni_dec)
|
||||
|
||||
/*
|
||||
* _aesni_dec1: internal ABI
|
||||
@@ -2324,7 +2324,7 @@ SYM_FUNC_END(_aesni_dec4)
|
||||
* void aesni_ecb_enc(struct crypto_aes_ctx *ctx, const u8 *dst, u8 *src,
|
||||
* size_t len)
|
||||
*/
|
||||
ENTRY(aesni_ecb_enc)
|
||||
SYM_FUNC_START(aesni_ecb_enc)
|
||||
FRAME_BEGIN
|
||||
#ifndef __x86_64__
|
||||
pushl LEN
|
||||
@@ -2378,13 +2378,13 @@ ENTRY(aesni_ecb_enc)
|
||||
#endif
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(aesni_ecb_enc)
|
||||
SYM_FUNC_END(aesni_ecb_enc)
|
||||
|
||||
/*
|
||||
* void aesni_ecb_dec(struct crypto_aes_ctx *ctx, const u8 *dst, u8 *src,
|
||||
* size_t len);
|
||||
*/
|
||||
ENTRY(aesni_ecb_dec)
|
||||
SYM_FUNC_START(aesni_ecb_dec)
|
||||
FRAME_BEGIN
|
||||
#ifndef __x86_64__
|
||||
pushl LEN
|
||||
@@ -2439,13 +2439,13 @@ ENTRY(aesni_ecb_dec)
|
||||
#endif
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(aesni_ecb_dec)
|
||||
SYM_FUNC_END(aesni_ecb_dec)
|
||||
|
||||
/*
|
||||
* void aesni_cbc_enc(struct crypto_aes_ctx *ctx, const u8 *dst, u8 *src,
|
||||
* size_t len, u8 *iv)
|
||||
*/
|
||||
ENTRY(aesni_cbc_enc)
|
||||
SYM_FUNC_START(aesni_cbc_enc)
|
||||
FRAME_BEGIN
|
||||
#ifndef __x86_64__
|
||||
pushl IVP
|
||||
@@ -2483,13 +2483,13 @@ ENTRY(aesni_cbc_enc)
|
||||
#endif
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(aesni_cbc_enc)
|
||||
SYM_FUNC_END(aesni_cbc_enc)
|
||||
|
||||
/*
|
||||
* void aesni_cbc_dec(struct crypto_aes_ctx *ctx, const u8 *dst, u8 *src,
|
||||
* size_t len, u8 *iv)
|
||||
*/
|
||||
ENTRY(aesni_cbc_dec)
|
||||
SYM_FUNC_START(aesni_cbc_dec)
|
||||
FRAME_BEGIN
|
||||
#ifndef __x86_64__
|
||||
pushl IVP
|
||||
@@ -2576,7 +2576,7 @@ ENTRY(aesni_cbc_dec)
|
||||
#endif
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(aesni_cbc_dec)
|
||||
SYM_FUNC_END(aesni_cbc_dec)
|
||||
|
||||
#ifdef __x86_64__
|
||||
.pushsection .rodata
|
||||
@@ -2638,7 +2638,7 @@ SYM_FUNC_END(_aesni_inc)
|
||||
* void aesni_ctr_enc(struct crypto_aes_ctx *ctx, const u8 *dst, u8 *src,
|
||||
* size_t len, u8 *iv)
|
||||
*/
|
||||
ENTRY(aesni_ctr_enc)
|
||||
SYM_FUNC_START(aesni_ctr_enc)
|
||||
FRAME_BEGIN
|
||||
cmp $16, LEN
|
||||
jb .Lctr_enc_just_ret
|
||||
@@ -2695,7 +2695,7 @@ ENTRY(aesni_ctr_enc)
|
||||
.Lctr_enc_just_ret:
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(aesni_ctr_enc)
|
||||
SYM_FUNC_END(aesni_ctr_enc)
|
||||
|
||||
/*
|
||||
* _aesni_gf128mul_x_ble: internal ABI
|
||||
@@ -2719,7 +2719,7 @@ ENDPROC(aesni_ctr_enc)
|
||||
* void aesni_xts_crypt8(struct crypto_aes_ctx *ctx, const u8 *dst, u8 *src,
|
||||
* bool enc, u8 *iv)
|
||||
*/
|
||||
ENTRY(aesni_xts_crypt8)
|
||||
SYM_FUNC_START(aesni_xts_crypt8)
|
||||
FRAME_BEGIN
|
||||
cmpb $0, %cl
|
||||
movl $0, %ecx
|
||||
@@ -2823,6 +2823,6 @@ ENTRY(aesni_xts_crypt8)
|
||||
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(aesni_xts_crypt8)
|
||||
SYM_FUNC_END(aesni_xts_crypt8)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1775,12 +1775,12 @@ _initial_blocks_done\@:
|
||||
# const u8 *aad, /* Additional Authentication Data (AAD)*/
|
||||
# u64 aad_len) /* Length of AAD in bytes. With RFC4106 this is going to be 8 or 12 Bytes */
|
||||
#############################################################
|
||||
ENTRY(aesni_gcm_init_avx_gen2)
|
||||
SYM_FUNC_START(aesni_gcm_init_avx_gen2)
|
||||
FUNC_SAVE
|
||||
INIT GHASH_MUL_AVX, PRECOMPUTE_AVX
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_init_avx_gen2)
|
||||
SYM_FUNC_END(aesni_gcm_init_avx_gen2)
|
||||
|
||||
###############################################################################
|
||||
#void aesni_gcm_enc_update_avx_gen2(
|
||||
@@ -1790,7 +1790,7 @@ ENDPROC(aesni_gcm_init_avx_gen2)
|
||||
# const u8 *in, /* Plaintext input */
|
||||
# u64 plaintext_len) /* Length of data in Bytes for encryption. */
|
||||
###############################################################################
|
||||
ENTRY(aesni_gcm_enc_update_avx_gen2)
|
||||
SYM_FUNC_START(aesni_gcm_enc_update_avx_gen2)
|
||||
FUNC_SAVE
|
||||
mov keysize, %eax
|
||||
cmp $32, %eax
|
||||
@@ -1809,7 +1809,7 @@ key_256_enc_update:
|
||||
GCM_ENC_DEC INITIAL_BLOCKS_AVX, GHASH_8_ENCRYPT_8_PARALLEL_AVX, GHASH_LAST_8_AVX, GHASH_MUL_AVX, ENC, 13
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_enc_update_avx_gen2)
|
||||
SYM_FUNC_END(aesni_gcm_enc_update_avx_gen2)
|
||||
|
||||
###############################################################################
|
||||
#void aesni_gcm_dec_update_avx_gen2(
|
||||
@@ -1819,7 +1819,7 @@ ENDPROC(aesni_gcm_enc_update_avx_gen2)
|
||||
# const u8 *in, /* Ciphertext input */
|
||||
# u64 plaintext_len) /* Length of data in Bytes for encryption. */
|
||||
###############################################################################
|
||||
ENTRY(aesni_gcm_dec_update_avx_gen2)
|
||||
SYM_FUNC_START(aesni_gcm_dec_update_avx_gen2)
|
||||
FUNC_SAVE
|
||||
mov keysize,%eax
|
||||
cmp $32, %eax
|
||||
@@ -1838,7 +1838,7 @@ key_256_dec_update:
|
||||
GCM_ENC_DEC INITIAL_BLOCKS_AVX, GHASH_8_ENCRYPT_8_PARALLEL_AVX, GHASH_LAST_8_AVX, GHASH_MUL_AVX, DEC, 13
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_dec_update_avx_gen2)
|
||||
SYM_FUNC_END(aesni_gcm_dec_update_avx_gen2)
|
||||
|
||||
###############################################################################
|
||||
#void aesni_gcm_finalize_avx_gen2(
|
||||
@@ -1848,7 +1848,7 @@ ENDPROC(aesni_gcm_dec_update_avx_gen2)
|
||||
# u64 auth_tag_len)# /* Authenticated Tag Length in bytes.
|
||||
# Valid values are 16 (most likely), 12 or 8. */
|
||||
###############################################################################
|
||||
ENTRY(aesni_gcm_finalize_avx_gen2)
|
||||
SYM_FUNC_START(aesni_gcm_finalize_avx_gen2)
|
||||
FUNC_SAVE
|
||||
mov keysize,%eax
|
||||
cmp $32, %eax
|
||||
@@ -1867,7 +1867,7 @@ key_256_finalize:
|
||||
GCM_COMPLETE GHASH_MUL_AVX, 13, arg3, arg4
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_finalize_avx_gen2)
|
||||
SYM_FUNC_END(aesni_gcm_finalize_avx_gen2)
|
||||
|
||||
#endif /* CONFIG_AS_AVX */
|
||||
|
||||
@@ -2746,12 +2746,12 @@ _initial_blocks_done\@:
|
||||
# const u8 *aad, /* Additional Authentication Data (AAD)*/
|
||||
# u64 aad_len) /* Length of AAD in bytes. With RFC4106 this is going to be 8 or 12 Bytes */
|
||||
#############################################################
|
||||
ENTRY(aesni_gcm_init_avx_gen4)
|
||||
SYM_FUNC_START(aesni_gcm_init_avx_gen4)
|
||||
FUNC_SAVE
|
||||
INIT GHASH_MUL_AVX2, PRECOMPUTE_AVX2
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_init_avx_gen4)
|
||||
SYM_FUNC_END(aesni_gcm_init_avx_gen4)
|
||||
|
||||
###############################################################################
|
||||
#void aesni_gcm_enc_avx_gen4(
|
||||
@@ -2761,7 +2761,7 @@ ENDPROC(aesni_gcm_init_avx_gen4)
|
||||
# const u8 *in, /* Plaintext input */
|
||||
# u64 plaintext_len) /* Length of data in Bytes for encryption. */
|
||||
###############################################################################
|
||||
ENTRY(aesni_gcm_enc_update_avx_gen4)
|
||||
SYM_FUNC_START(aesni_gcm_enc_update_avx_gen4)
|
||||
FUNC_SAVE
|
||||
mov keysize,%eax
|
||||
cmp $32, %eax
|
||||
@@ -2780,7 +2780,7 @@ key_256_enc_update4:
|
||||
GCM_ENC_DEC INITIAL_BLOCKS_AVX2, GHASH_8_ENCRYPT_8_PARALLEL_AVX2, GHASH_LAST_8_AVX2, GHASH_MUL_AVX2, ENC, 13
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_enc_update_avx_gen4)
|
||||
SYM_FUNC_END(aesni_gcm_enc_update_avx_gen4)
|
||||
|
||||
###############################################################################
|
||||
#void aesni_gcm_dec_update_avx_gen4(
|
||||
@@ -2790,7 +2790,7 @@ ENDPROC(aesni_gcm_enc_update_avx_gen4)
|
||||
# const u8 *in, /* Ciphertext input */
|
||||
# u64 plaintext_len) /* Length of data in Bytes for encryption. */
|
||||
###############################################################################
|
||||
ENTRY(aesni_gcm_dec_update_avx_gen4)
|
||||
SYM_FUNC_START(aesni_gcm_dec_update_avx_gen4)
|
||||
FUNC_SAVE
|
||||
mov keysize,%eax
|
||||
cmp $32, %eax
|
||||
@@ -2809,7 +2809,7 @@ key_256_dec_update4:
|
||||
GCM_ENC_DEC INITIAL_BLOCKS_AVX2, GHASH_8_ENCRYPT_8_PARALLEL_AVX2, GHASH_LAST_8_AVX2, GHASH_MUL_AVX2, DEC, 13
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_dec_update_avx_gen4)
|
||||
SYM_FUNC_END(aesni_gcm_dec_update_avx_gen4)
|
||||
|
||||
###############################################################################
|
||||
#void aesni_gcm_finalize_avx_gen4(
|
||||
@@ -2819,7 +2819,7 @@ ENDPROC(aesni_gcm_dec_update_avx_gen4)
|
||||
# u64 auth_tag_len)# /* Authenticated Tag Length in bytes.
|
||||
# Valid values are 16 (most likely), 12 or 8. */
|
||||
###############################################################################
|
||||
ENTRY(aesni_gcm_finalize_avx_gen4)
|
||||
SYM_FUNC_START(aesni_gcm_finalize_avx_gen4)
|
||||
FUNC_SAVE
|
||||
mov keysize,%eax
|
||||
cmp $32, %eax
|
||||
@@ -2838,6 +2838,6 @@ key_256_finalize4:
|
||||
GCM_COMPLETE GHASH_MUL_AVX2, 13, arg3, arg4
|
||||
FUNC_RESTORE
|
||||
ret
|
||||
ENDPROC(aesni_gcm_finalize_avx_gen4)
|
||||
SYM_FUNC_END(aesni_gcm_finalize_avx_gen4)
|
||||
|
||||
#endif /* CONFIG_AS_AVX2 */
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
bswapq RX0; \
|
||||
xorq RX0, (RIO);
|
||||
|
||||
ENTRY(__blowfish_enc_blk)
|
||||
SYM_FUNC_START(__blowfish_enc_blk)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -139,9 +139,9 @@ ENTRY(__blowfish_enc_blk)
|
||||
.L__enc_xor:
|
||||
xor_block();
|
||||
ret;
|
||||
ENDPROC(__blowfish_enc_blk)
|
||||
SYM_FUNC_END(__blowfish_enc_blk)
|
||||
|
||||
ENTRY(blowfish_dec_blk)
|
||||
SYM_FUNC_START(blowfish_dec_blk)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -171,7 +171,7 @@ ENTRY(blowfish_dec_blk)
|
||||
movq %r11, %r12;
|
||||
|
||||
ret;
|
||||
ENDPROC(blowfish_dec_blk)
|
||||
SYM_FUNC_END(blowfish_dec_blk)
|
||||
|
||||
/**********************************************************************
|
||||
4-way blowfish, four blocks parallel
|
||||
@@ -283,7 +283,7 @@ ENDPROC(blowfish_dec_blk)
|
||||
bswapq RX3; \
|
||||
xorq RX3, 24(RIO);
|
||||
|
||||
ENTRY(__blowfish_enc_blk_4way)
|
||||
SYM_FUNC_START(__blowfish_enc_blk_4way)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -330,9 +330,9 @@ ENTRY(__blowfish_enc_blk_4way)
|
||||
popq %rbx;
|
||||
popq %r12;
|
||||
ret;
|
||||
ENDPROC(__blowfish_enc_blk_4way)
|
||||
SYM_FUNC_END(__blowfish_enc_blk_4way)
|
||||
|
||||
ENTRY(blowfish_dec_blk_4way)
|
||||
SYM_FUNC_START(blowfish_dec_blk_4way)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -365,4 +365,4 @@ ENTRY(blowfish_dec_blk_4way)
|
||||
popq %r12;
|
||||
|
||||
ret;
|
||||
ENDPROC(blowfish_dec_blk_4way)
|
||||
SYM_FUNC_END(blowfish_dec_blk_4way)
|
||||
|
||||
@@ -893,7 +893,7 @@ SYM_FUNC_START_LOCAL(__camellia_dec_blk16)
|
||||
jmp .Ldec_max24;
|
||||
SYM_FUNC_END(__camellia_dec_blk16)
|
||||
|
||||
ENTRY(camellia_ecb_enc_16way)
|
||||
SYM_FUNC_START(camellia_ecb_enc_16way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (16 blocks)
|
||||
@@ -916,9 +916,9 @@ ENTRY(camellia_ecb_enc_16way)
|
||||
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(camellia_ecb_enc_16way)
|
||||
SYM_FUNC_END(camellia_ecb_enc_16way)
|
||||
|
||||
ENTRY(camellia_ecb_dec_16way)
|
||||
SYM_FUNC_START(camellia_ecb_dec_16way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (16 blocks)
|
||||
@@ -946,9 +946,9 @@ ENTRY(camellia_ecb_dec_16way)
|
||||
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(camellia_ecb_dec_16way)
|
||||
SYM_FUNC_END(camellia_ecb_dec_16way)
|
||||
|
||||
ENTRY(camellia_cbc_dec_16way)
|
||||
SYM_FUNC_START(camellia_cbc_dec_16way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (16 blocks)
|
||||
@@ -997,7 +997,7 @@ ENTRY(camellia_cbc_dec_16way)
|
||||
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(camellia_cbc_dec_16way)
|
||||
SYM_FUNC_END(camellia_cbc_dec_16way)
|
||||
|
||||
#define inc_le128(x, minus_one, tmp) \
|
||||
vpcmpeqq minus_one, x, tmp; \
|
||||
@@ -1005,7 +1005,7 @@ ENDPROC(camellia_cbc_dec_16way)
|
||||
vpslldq $8, tmp, tmp; \
|
||||
vpsubq tmp, x, x;
|
||||
|
||||
ENTRY(camellia_ctr_16way)
|
||||
SYM_FUNC_START(camellia_ctr_16way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (16 blocks)
|
||||
@@ -1110,7 +1110,7 @@ ENTRY(camellia_ctr_16way)
|
||||
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(camellia_ctr_16way)
|
||||
SYM_FUNC_END(camellia_ctr_16way)
|
||||
|
||||
#define gf128mul_x_ble(iv, mask, tmp) \
|
||||
vpsrad $31, iv, tmp; \
|
||||
@@ -1256,7 +1256,7 @@ SYM_FUNC_START_LOCAL(camellia_xts_crypt_16way)
|
||||
ret;
|
||||
SYM_FUNC_END(camellia_xts_crypt_16way)
|
||||
|
||||
ENTRY(camellia_xts_enc_16way)
|
||||
SYM_FUNC_START(camellia_xts_enc_16way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (16 blocks)
|
||||
@@ -1268,9 +1268,9 @@ ENTRY(camellia_xts_enc_16way)
|
||||
leaq __camellia_enc_blk16, %r9;
|
||||
|
||||
jmp camellia_xts_crypt_16way;
|
||||
ENDPROC(camellia_xts_enc_16way)
|
||||
SYM_FUNC_END(camellia_xts_enc_16way)
|
||||
|
||||
ENTRY(camellia_xts_dec_16way)
|
||||
SYM_FUNC_START(camellia_xts_dec_16way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (16 blocks)
|
||||
@@ -1286,4 +1286,4 @@ ENTRY(camellia_xts_dec_16way)
|
||||
leaq __camellia_dec_blk16, %r9;
|
||||
|
||||
jmp camellia_xts_crypt_16way;
|
||||
ENDPROC(camellia_xts_dec_16way)
|
||||
SYM_FUNC_END(camellia_xts_dec_16way)
|
||||
|
||||
@@ -931,7 +931,7 @@ SYM_FUNC_START_LOCAL(__camellia_dec_blk32)
|
||||
jmp .Ldec_max24;
|
||||
SYM_FUNC_END(__camellia_dec_blk32)
|
||||
|
||||
ENTRY(camellia_ecb_enc_32way)
|
||||
SYM_FUNC_START(camellia_ecb_enc_32way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (32 blocks)
|
||||
@@ -958,9 +958,9 @@ ENTRY(camellia_ecb_enc_32way)
|
||||
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(camellia_ecb_enc_32way)
|
||||
SYM_FUNC_END(camellia_ecb_enc_32way)
|
||||
|
||||
ENTRY(camellia_ecb_dec_32way)
|
||||
SYM_FUNC_START(camellia_ecb_dec_32way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (32 blocks)
|
||||
@@ -992,9 +992,9 @@ ENTRY(camellia_ecb_dec_32way)
|
||||
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(camellia_ecb_dec_32way)
|
||||
SYM_FUNC_END(camellia_ecb_dec_32way)
|
||||
|
||||
ENTRY(camellia_cbc_dec_32way)
|
||||
SYM_FUNC_START(camellia_cbc_dec_32way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (32 blocks)
|
||||
@@ -1060,7 +1060,7 @@ ENTRY(camellia_cbc_dec_32way)
|
||||
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(camellia_cbc_dec_32way)
|
||||
SYM_FUNC_END(camellia_cbc_dec_32way)
|
||||
|
||||
#define inc_le128(x, minus_one, tmp) \
|
||||
vpcmpeqq minus_one, x, tmp; \
|
||||
@@ -1076,7 +1076,7 @@ ENDPROC(camellia_cbc_dec_32way)
|
||||
vpslldq $8, tmp1, tmp1; \
|
||||
vpsubq tmp1, x, x;
|
||||
|
||||
ENTRY(camellia_ctr_32way)
|
||||
SYM_FUNC_START(camellia_ctr_32way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (32 blocks)
|
||||
@@ -1200,7 +1200,7 @@ ENTRY(camellia_ctr_32way)
|
||||
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(camellia_ctr_32way)
|
||||
SYM_FUNC_END(camellia_ctr_32way)
|
||||
|
||||
#define gf128mul_x_ble(iv, mask, tmp) \
|
||||
vpsrad $31, iv, tmp; \
|
||||
@@ -1369,7 +1369,7 @@ SYM_FUNC_START_LOCAL(camellia_xts_crypt_32way)
|
||||
ret;
|
||||
SYM_FUNC_END(camellia_xts_crypt_32way)
|
||||
|
||||
ENTRY(camellia_xts_enc_32way)
|
||||
SYM_FUNC_START(camellia_xts_enc_32way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (32 blocks)
|
||||
@@ -1382,9 +1382,9 @@ ENTRY(camellia_xts_enc_32way)
|
||||
leaq __camellia_enc_blk32, %r9;
|
||||
|
||||
jmp camellia_xts_crypt_32way;
|
||||
ENDPROC(camellia_xts_enc_32way)
|
||||
SYM_FUNC_END(camellia_xts_enc_32way)
|
||||
|
||||
ENTRY(camellia_xts_dec_32way)
|
||||
SYM_FUNC_START(camellia_xts_dec_32way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst (32 blocks)
|
||||
@@ -1400,4 +1400,4 @@ ENTRY(camellia_xts_dec_32way)
|
||||
leaq __camellia_dec_blk32, %r9;
|
||||
|
||||
jmp camellia_xts_crypt_32way;
|
||||
ENDPROC(camellia_xts_dec_32way)
|
||||
SYM_FUNC_END(camellia_xts_dec_32way)
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
bswapq RAB0; \
|
||||
movq RAB0, 4*2(RIO);
|
||||
|
||||
ENTRY(__camellia_enc_blk)
|
||||
SYM_FUNC_START(__camellia_enc_blk)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst
|
||||
@@ -220,9 +220,9 @@ ENTRY(__camellia_enc_blk)
|
||||
|
||||
movq RR12, %r12;
|
||||
ret;
|
||||
ENDPROC(__camellia_enc_blk)
|
||||
SYM_FUNC_END(__camellia_enc_blk)
|
||||
|
||||
ENTRY(camellia_dec_blk)
|
||||
SYM_FUNC_START(camellia_dec_blk)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst
|
||||
@@ -258,7 +258,7 @@ ENTRY(camellia_dec_blk)
|
||||
|
||||
movq RR12, %r12;
|
||||
ret;
|
||||
ENDPROC(camellia_dec_blk)
|
||||
SYM_FUNC_END(camellia_dec_blk)
|
||||
|
||||
/**********************************************************************
|
||||
2-way camellia
|
||||
@@ -409,7 +409,7 @@ ENDPROC(camellia_dec_blk)
|
||||
bswapq RAB1; \
|
||||
movq RAB1, 12*2(RIO);
|
||||
|
||||
ENTRY(__camellia_enc_blk_2way)
|
||||
SYM_FUNC_START(__camellia_enc_blk_2way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst
|
||||
@@ -456,9 +456,9 @@ ENTRY(__camellia_enc_blk_2way)
|
||||
movq RR12, %r12;
|
||||
popq %rbx;
|
||||
ret;
|
||||
ENDPROC(__camellia_enc_blk_2way)
|
||||
SYM_FUNC_END(__camellia_enc_blk_2way)
|
||||
|
||||
ENTRY(camellia_dec_blk_2way)
|
||||
SYM_FUNC_START(camellia_dec_blk_2way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst
|
||||
@@ -496,4 +496,4 @@ ENTRY(camellia_dec_blk_2way)
|
||||
movq RR12, %r12;
|
||||
movq RXOR, %rbx;
|
||||
ret;
|
||||
ENDPROC(camellia_dec_blk_2way)
|
||||
SYM_FUNC_END(camellia_dec_blk_2way)
|
||||
|
||||
@@ -359,7 +359,7 @@ SYM_FUNC_START_LOCAL(__cast5_dec_blk16)
|
||||
jmp .L__dec_tail;
|
||||
SYM_FUNC_END(__cast5_dec_blk16)
|
||||
|
||||
ENTRY(cast5_ecb_enc_16way)
|
||||
SYM_FUNC_START(cast5_ecb_enc_16way)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -394,9 +394,9 @@ ENTRY(cast5_ecb_enc_16way)
|
||||
popq %r15;
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(cast5_ecb_enc_16way)
|
||||
SYM_FUNC_END(cast5_ecb_enc_16way)
|
||||
|
||||
ENTRY(cast5_ecb_dec_16way)
|
||||
SYM_FUNC_START(cast5_ecb_dec_16way)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -432,9 +432,9 @@ ENTRY(cast5_ecb_dec_16way)
|
||||
popq %r15;
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(cast5_ecb_dec_16way)
|
||||
SYM_FUNC_END(cast5_ecb_dec_16way)
|
||||
|
||||
ENTRY(cast5_cbc_dec_16way)
|
||||
SYM_FUNC_START(cast5_cbc_dec_16way)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -484,9 +484,9 @@ ENTRY(cast5_cbc_dec_16way)
|
||||
popq %r12;
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(cast5_cbc_dec_16way)
|
||||
SYM_FUNC_END(cast5_cbc_dec_16way)
|
||||
|
||||
ENTRY(cast5_ctr_16way)
|
||||
SYM_FUNC_START(cast5_ctr_16way)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -560,4 +560,4 @@ ENTRY(cast5_ctr_16way)
|
||||
popq %r12;
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(cast5_ctr_16way)
|
||||
SYM_FUNC_END(cast5_ctr_16way)
|
||||
|
||||
@@ -341,7 +341,7 @@ SYM_FUNC_START_LOCAL(__cast6_dec_blk8)
|
||||
ret;
|
||||
SYM_FUNC_END(__cast6_dec_blk8)
|
||||
|
||||
ENTRY(cast6_ecb_enc_8way)
|
||||
SYM_FUNC_START(cast6_ecb_enc_8way)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -362,9 +362,9 @@ ENTRY(cast6_ecb_enc_8way)
|
||||
popq %r15;
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(cast6_ecb_enc_8way)
|
||||
SYM_FUNC_END(cast6_ecb_enc_8way)
|
||||
|
||||
ENTRY(cast6_ecb_dec_8way)
|
||||
SYM_FUNC_START(cast6_ecb_dec_8way)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -385,9 +385,9 @@ ENTRY(cast6_ecb_dec_8way)
|
||||
popq %r15;
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(cast6_ecb_dec_8way)
|
||||
SYM_FUNC_END(cast6_ecb_dec_8way)
|
||||
|
||||
ENTRY(cast6_cbc_dec_8way)
|
||||
SYM_FUNC_START(cast6_cbc_dec_8way)
|
||||
/* input:
|
||||
* %rdi: ctx
|
||||
* %rsi: dst
|
||||
@@ -411,9 +411,9 @@ ENTRY(cast6_cbc_dec_8way)
|
||||
popq %r12;
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(cast6_cbc_dec_8way)
|
||||
SYM_FUNC_END(cast6_cbc_dec_8way)
|
||||
|
||||
ENTRY(cast6_ctr_8way)
|
||||
SYM_FUNC_START(cast6_ctr_8way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst
|
||||
@@ -439,9 +439,9 @@ ENTRY(cast6_ctr_8way)
|
||||
popq %r12;
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(cast6_ctr_8way)
|
||||
SYM_FUNC_END(cast6_ctr_8way)
|
||||
|
||||
ENTRY(cast6_xts_enc_8way)
|
||||
SYM_FUNC_START(cast6_xts_enc_8way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst
|
||||
@@ -466,9 +466,9 @@ ENTRY(cast6_xts_enc_8way)
|
||||
popq %r15;
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(cast6_xts_enc_8way)
|
||||
SYM_FUNC_END(cast6_xts_enc_8way)
|
||||
|
||||
ENTRY(cast6_xts_dec_8way)
|
||||
SYM_FUNC_START(cast6_xts_dec_8way)
|
||||
/* input:
|
||||
* %rdi: ctx, CTX
|
||||
* %rsi: dst
|
||||
@@ -493,4 +493,4 @@ ENTRY(cast6_xts_dec_8way)
|
||||
popq %r15;
|
||||
FRAME_END
|
||||
ret;
|
||||
ENDPROC(cast6_xts_dec_8way)
|
||||
SYM_FUNC_END(cast6_xts_dec_8way)
|
||||
|
||||
@@ -34,7 +34,7 @@ CTR4BL: .octa 0x00000000000000000000000000000002
|
||||
|
||||
.text
|
||||
|
||||
ENTRY(chacha_2block_xor_avx2)
|
||||
SYM_FUNC_START(chacha_2block_xor_avx2)
|
||||
# %rdi: Input state matrix, s
|
||||
# %rsi: up to 2 data blocks output, o
|
||||
# %rdx: up to 2 data blocks input, i
|
||||
@@ -224,9 +224,9 @@ ENTRY(chacha_2block_xor_avx2)
|
||||
lea -8(%r10),%rsp
|
||||
jmp .Ldone2
|
||||
|
||||
ENDPROC(chacha_2block_xor_avx2)
|
||||
SYM_FUNC_END(chacha_2block_xor_avx2)
|
||||
|
||||
ENTRY(chacha_4block_xor_avx2)
|
||||
SYM_FUNC_START(chacha_4block_xor_avx2)
|
||||
# %rdi: Input state matrix, s
|
||||
# %rsi: up to 4 data blocks output, o
|
||||
# %rdx: up to 4 data blocks input, i
|
||||
@@ -529,9 +529,9 @@ ENTRY(chacha_4block_xor_avx2)
|
||||
lea -8(%r10),%rsp
|
||||
jmp .Ldone4
|
||||
|
||||
ENDPROC(chacha_4block_xor_avx2)
|
||||
SYM_FUNC_END(chacha_4block_xor_avx2)
|
||||
|
||||
ENTRY(chacha_8block_xor_avx2)
|
||||
SYM_FUNC_START(chacha_8block_xor_avx2)
|
||||
# %rdi: Input state matrix, s
|
||||
# %rsi: up to 8 data blocks output, o
|
||||
# %rdx: up to 8 data blocks input, i
|
||||
@@ -1018,4 +1018,4 @@ ENTRY(chacha_8block_xor_avx2)
|
||||
|
||||
jmp .Ldone8
|
||||
|
||||
ENDPROC(chacha_8block_xor_avx2)
|
||||
SYM_FUNC_END(chacha_8block_xor_avx2)
|
||||
|
||||
@@ -24,7 +24,7 @@ CTR8BL: .octa 0x00000003000000020000000100000000
|
||||
|
||||
.text
|
||||
|
||||
ENTRY(chacha_2block_xor_avx512vl)
|
||||
SYM_FUNC_START(chacha_2block_xor_avx512vl)
|
||||
# %rdi: Input state matrix, s
|
||||
# %rsi: up to 2 data blocks output, o
|
||||
# %rdx: up to 2 data blocks input, i
|
||||
@@ -187,9 +187,9 @@ ENTRY(chacha_2block_xor_avx512vl)
|
||||
|
||||
jmp .Ldone2
|
||||
|
||||
ENDPROC(chacha_2block_xor_avx512vl)
|
||||
SYM_FUNC_END(chacha_2block_xor_avx512vl)
|
||||
|
||||
ENTRY(chacha_4block_xor_avx512vl)
|
||||
SYM_FUNC_START(chacha_4block_xor_avx512vl)
|
||||
# %rdi: Input state matrix, s
|
||||
# %rsi: up to 4 data blocks output, o
|
||||
# %rdx: up to 4 data blocks input, i
|
||||
@@ -453,9 +453,9 @@ ENTRY(chacha_4block_xor_avx512vl)
|
||||
|
||||
jmp .Ldone4
|
||||
|
||||
ENDPROC(chacha_4block_xor_avx512vl)
|
||||
SYM_FUNC_END(chacha_4block_xor_avx512vl)
|
||||
|
||||
ENTRY(chacha_8block_xor_avx512vl)
|
||||
SYM_FUNC_START(chacha_8block_xor_avx512vl)
|
||||
# %rdi: Input state matrix, s
|
||||
# %rsi: up to 8 data blocks output, o
|
||||
# %rdx: up to 8 data blocks input, i
|
||||
@@ -833,4 +833,4 @@ ENTRY(chacha_8block_xor_avx512vl)
|
||||
|
||||
jmp .Ldone8
|
||||
|
||||
ENDPROC(chacha_8block_xor_avx512vl)
|
||||
SYM_FUNC_END(chacha_8block_xor_avx512vl)
|
||||
|
||||
@@ -111,7 +111,7 @@ SYM_FUNC_START_LOCAL(chacha_permute)
|
||||
ret
|
||||
SYM_FUNC_END(chacha_permute)
|
||||
|
||||
ENTRY(chacha_block_xor_ssse3)
|
||||
SYM_FUNC_START(chacha_block_xor_ssse3)
|
||||
# %rdi: Input state matrix, s
|
||||
# %rsi: up to 1 data block output, o
|
||||
# %rdx: up to 1 data block input, i
|
||||
@@ -197,9 +197,9 @@ ENTRY(chacha_block_xor_ssse3)
|
||||
lea -8(%r10),%rsp
|
||||
jmp .Ldone
|
||||
|
||||
ENDPROC(chacha_block_xor_ssse3)
|
||||
SYM_FUNC_END(chacha_block_xor_ssse3)
|
||||
|
||||
ENTRY(hchacha_block_ssse3)
|
||||
SYM_FUNC_START(hchacha_block_ssse3)
|
||||
# %rdi: Input state matrix, s
|
||||
# %rsi: output (8 32-bit words)
|
||||
# %edx: nrounds
|
||||
@@ -218,9 +218,9 @@ ENTRY(hchacha_block_ssse3)
|
||||
|
||||
FRAME_END
|
||||
ret
|
||||
ENDPROC(hchacha_block_ssse3)
|
||||
SYM_FUNC_END(hchacha_block_ssse3)
|
||||
|
||||
ENTRY(chacha_4block_xor_ssse3)
|
||||
SYM_FUNC_START(chacha_4block_xor_ssse3)
|
||||
# %rdi: Input state matrix, s
|
||||
# %rsi: up to 4 data blocks output, o
|
||||
# %rdx: up to 4 data blocks input, i
|
||||
@@ -788,4 +788,4 @@ ENTRY(chacha_4block_xor_ssse3)
|
||||
|
||||
jmp .Ldone4
|
||||
|
||||
ENDPROC(chacha_4block_xor_ssse3)
|
||||
SYM_FUNC_END(chacha_4block_xor_ssse3)
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
* size_t len, uint crc32)
|
||||
*/
|
||||
|
||||
ENTRY(crc32_pclmul_le_16) /* buffer and buffer size are 16 bytes aligned */
|
||||
SYM_FUNC_START(crc32_pclmul_le_16) /* buffer and buffer size are 16 bytes aligned */
|
||||
movdqa (BUF), %xmm1
|
||||
movdqa 0x10(BUF), %xmm2
|
||||
movdqa 0x20(BUF), %xmm3
|
||||
@@ -238,4 +238,4 @@ fold_64:
|
||||
PEXTRD 0x01, %xmm1, %eax
|
||||
|
||||
ret
|
||||
ENDPROC(crc32_pclmul_le_16)
|
||||
SYM_FUNC_END(crc32_pclmul_le_16)
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
# unsigned int crc_pcl(u8 *buffer, int len, unsigned int crc_init);
|
||||
|
||||
.text
|
||||
ENTRY(crc_pcl)
|
||||
SYM_FUNC_START(crc_pcl)
|
||||
#define bufp %rdi
|
||||
#define bufp_dw %edi
|
||||
#define bufp_w %di
|
||||
@@ -311,7 +311,7 @@ do_return:
|
||||
popq %rdi
|
||||
popq %rbx
|
||||
ret
|
||||
ENDPROC(crc_pcl)
|
||||
SYM_FUNC_END(crc_pcl)
|
||||
|
||||
.section .rodata, "a", @progbits
|
||||
################################################################
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
# Assumes len >= 16.
|
||||
#
|
||||
.align 16
|
||||
ENTRY(crc_t10dif_pcl)
|
||||
SYM_FUNC_START(crc_t10dif_pcl)
|
||||
|
||||
movdqa .Lbswap_mask(%rip), BSWAP_MASK
|
||||
|
||||
@@ -280,7 +280,7 @@ ENTRY(crc_t10dif_pcl)
|
||||
jge .Lfold_16_bytes_loop # 32 <= len <= 255
|
||||
add $16, len
|
||||
jmp .Lhandle_partial_segment # 17 <= len <= 31
|
||||
ENDPROC(crc_t10dif_pcl)
|
||||
SYM_FUNC_END(crc_t10dif_pcl)
|
||||
|
||||
.section .rodata, "a", @progbits
|
||||
.align 16
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
movl left##d, (io); \
|
||||
movl right##d, 4(io);
|
||||
|
||||
ENTRY(des3_ede_x86_64_crypt_blk)
|
||||
SYM_FUNC_START(des3_ede_x86_64_crypt_blk)
|
||||
/* input:
|
||||
* %rdi: round keys, CTX
|
||||
* %rsi: dst
|
||||
@@ -244,7 +244,7 @@ ENTRY(des3_ede_x86_64_crypt_blk)
|
||||
popq %rbx;
|
||||
|
||||
ret;
|
||||
ENDPROC(des3_ede_x86_64_crypt_blk)
|
||||
SYM_FUNC_END(des3_ede_x86_64_crypt_blk)
|
||||
|
||||
/***********************************************************************
|
||||
* 3-way 3DES
|
||||
@@ -418,7 +418,7 @@ ENDPROC(des3_ede_x86_64_crypt_blk)
|
||||
#define __movq(src, dst) \
|
||||
movq src, dst;
|
||||
|
||||
ENTRY(des3_ede_x86_64_crypt_blk_3way)
|
||||
SYM_FUNC_START(des3_ede_x86_64_crypt_blk_3way)
|
||||
/* input:
|
||||
* %rdi: ctx, round keys
|
||||
* %rsi: dst (3 blocks)
|
||||
@@ -529,7 +529,7 @@ ENTRY(des3_ede_x86_64_crypt_blk_3way)
|
||||
popq %rbx;
|
||||
|
||||
ret;
|
||||
ENDPROC(des3_ede_x86_64_crypt_blk_3way)
|
||||
SYM_FUNC_END(des3_ede_x86_64_crypt_blk_3way)
|
||||
|
||||
.section .rodata, "a", @progbits
|
||||
.align 16
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user