Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/kqueue]: src/sys/crypto add manually to the branch - these were somehow ...
details: https://anonhg.NetBSD.org/src/rev/f297519b0336
branches: kqueue
changeset: 512444:f297519b0336
user: jdolecek <jdolecek%NetBSD.org@localhost>
date: Thu Feb 07 07:06:37 2002 +0000
description:
add manually to the branch - these were somehow missed on merge
diffstat:
sys/crypto/blowfish/arch/i386/bf_cbc.S | 279 ++
sys/crypto/blowfish/arch/i386/bf_enc.S | 16 +
sys/crypto/blowfish/arch/i386/bf_enc_586.S | 760 +++++++
sys/crypto/blowfish/arch/i386/bf_enc_686.S | 732 +++++++
sys/crypto/des/arch/i386/des_cbc.S | 437 ++++
sys/crypto/des/arch/i386/des_enc.S | 2813 ++++++++++++++++++++++++++++
6 files changed, 5037 insertions(+), 0 deletions(-)
diffs (truncated from 5061 to 300 lines):
diff -r 62e9ab44f58c -r f297519b0336 sys/crypto/blowfish/arch/i386/bf_cbc.S
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/crypto/blowfish/arch/i386/bf_cbc.S Thu Feb 07 07:06:37 2002 +0000
@@ -0,0 +1,279 @@
+/* $NetBSD: bf_cbc.S,v 1.1.6.2 2002/02/07 07:09:48 jdolecek Exp $ */
+
+/* Copyright (C) 1995-1998 Eric Young (eay%cryptsoft.com@localhost)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay%cryptsoft.com@localhost).
+ * The implementation was written so as to conform with Netscapes SSL.
+ *
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to. The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh%cryptsoft.com@localhost).
+ *
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * "This product includes cryptographic software written by
+ * Eric Young (eay%cryptsoft.com@localhost)"
+ * The word 'cryptographic' can be left out if the rouines from the library
+ * being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from
+ * the apps directory (application code) you must include an acknowledgement:
+ * "This product includes software written by Tim Hudson (tjh%cryptsoft.com@localhost)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed. i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+
+/*
+ * Modified from the output of `perl bf-686.pl elf' by
+ * Thor Lancelot Simon <tls%netbsd.org@localhost>
+ */
+
+#include <i386/include/asm.h>
+
+ENTRY(BF_cbc_encrypt)
+
+ pushl %ebp
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 28(%esp), %ebp
+ # getting iv ptr from parameter 4
+ movl 36(%esp), %ebx
+ movl (%ebx), %esi
+ movl 4(%ebx), %edi
+ pushl %edi
+ pushl %esi
+ pushl %edi
+ pushl %esi
+ movl %esp, %ebx
+ movl 36(%esp), %esi
+ movl 40(%esp), %edi
+ # getting encrypt flag from parameter 5
+ movl 56(%esp), %ecx
+ # get and push parameter 3
+ movl 48(%esp), %eax
+ pushl %eax
+ pushl %ebx
+ cmpl $0, %ecx
+ jz .L000decrypt
+ andl $4294967288, %ebp
+ movl 8(%esp), %eax
+ movl 12(%esp), %ebx
+ jz .L001encrypt_finish
+.L002encrypt_loop:
+ movl (%esi), %ecx
+ movl 4(%esi), %edx
+ xorl %ecx, %eax
+ xorl %edx, %ebx
+.byte 15
+.byte 200 # bswapl %eax
+.byte 15
+.byte 203 # bswapl %ebx
+ movl %eax, 8(%esp)
+ movl %ebx, 12(%esp)
+ call _C_LABEL(BF_encrypt)
+ movl 8(%esp), %eax
+ movl 12(%esp), %ebx
+.byte 15
+.byte 200 # bswapl %eax
+.byte 15
+.byte 203 # bswapl %ebx
+ movl %eax, (%edi)
+ movl %ebx, 4(%edi)
+ addl $8, %esi
+ addl $8, %edi
+ subl $8, %ebp
+ jnz .L002encrypt_loop
+.L001encrypt_finish:
+ movl 52(%esp), %ebp
+ andl $7, %ebp
+ jz .L003finish
+ xorl %ecx, %ecx
+ xorl %edx, %edx
+ movl .L004cbc_enc_jmp_table(,%ebp,4),%ebp
+ jmp *%ebp
+.L005ej7:
+ movb 6(%esi), %dh
+ sall $8, %edx
+.L006ej6:
+ movb 5(%esi), %dh
+.L007ej5:
+ movb 4(%esi), %dl
+.L008ej4:
+ movl (%esi), %ecx
+ jmp .L009ejend
+.L010ej3:
+ movb 2(%esi), %ch
+ sall $8, %ecx
+.L011ej2:
+ movb 1(%esi), %ch
+.L012ej1:
+ movb (%esi), %cl
+.L009ejend:
+ xorl %ecx, %eax
+ xorl %edx, %ebx
+.byte 15
+.byte 200 # bswapl %eax
+.byte 15
+.byte 203 # bswapl %ebx
+ movl %eax, 8(%esp)
+ movl %ebx, 12(%esp)
+ call _C_LABEL(BF_encrypt)
+ movl 8(%esp), %eax
+ movl 12(%esp), %ebx
+.byte 15
+.byte 200 # bswapl %eax
+.byte 15
+.byte 203 # bswapl %ebx
+ movl %eax, (%edi)
+ movl %ebx, 4(%edi)
+ jmp .L003finish
+.align 16
+.L000decrypt:
+ andl $4294967288, %ebp
+ movl 16(%esp), %eax
+ movl 20(%esp), %ebx
+ jz .L013decrypt_finish
+.L014decrypt_loop:
+ movl (%esi), %eax
+ movl 4(%esi), %ebx
+.byte 15
+.byte 200 # bswapl %eax
+.byte 15
+.byte 203 # bswapl %ebx
+ movl %eax, 8(%esp)
+ movl %ebx, 12(%esp)
+ call _C_LABEL(BF_decrypt)
+ movl 8(%esp), %eax
+ movl 12(%esp), %ebx
+.byte 15
+.byte 200 # bswapl %eax
+.byte 15
+.byte 203 # bswapl %ebx
+ movl 16(%esp), %ecx
+ movl 20(%esp), %edx
+ xorl %eax, %ecx
+ xorl %ebx, %edx
+ movl (%esi), %eax
+ movl 4(%esi), %ebx
+ movl %ecx, (%edi)
+ movl %edx, 4(%edi)
+ movl %eax, 16(%esp)
+ movl %ebx, 20(%esp)
+ addl $8, %esi
+ addl $8, %edi
+ subl $8, %ebp
+ jnz .L014decrypt_loop
+.L013decrypt_finish:
+ movl 52(%esp), %ebp
+ andl $7, %ebp
+ jz .L003finish
+ movl (%esi), %eax
+ movl 4(%esi), %ebx
+.byte 15
+.byte 200 # bswapl %eax
+.byte 15
+.byte 203 # bswapl %ebx
+ movl %eax, 8(%esp)
+ movl %ebx, 12(%esp)
+ call _C_LABEL(BF_decrypt)
+ movl 8(%esp), %eax
+ movl 12(%esp), %ebx
+.byte 15
+.byte 200 # bswapl %eax
+.byte 15
+.byte 203 # bswapl %ebx
+ movl 16(%esp), %ecx
+ movl 20(%esp), %edx
+ xorl %eax, %ecx
+ xorl %ebx, %edx
+ movl (%esi), %eax
+ movl 4(%esi), %ebx
+.L015dj7:
+ rorl $16, %edx
+ movb %dl, 6(%edi)
+ shrl $16, %edx
+.L016dj6:
+ movb %dh, 5(%edi)
+.L017dj5:
+ movb %dl, 4(%edi)
+.L018dj4:
+ movl %ecx, (%edi)
+ jmp .L019djend
+.L020dj3:
+ rorl $16, %ecx
+ movb %cl, 2(%edi)
+ sall $16, %ecx
+.L021dj2:
+ movb %ch, 1(%esi)
+.L022dj1:
+ movb %cl, (%esi)
+.L019djend:
+ jmp .L003finish
+.align 16
+.L003finish:
+ movl 60(%esp), %ecx
+ addl $24, %esp
+ movl %eax, (%ecx)
+ movl %ebx, 4(%ecx)
+ popl %edi
+ popl %esi
+ popl %ebx
+ popl %ebp
+ ret
+.align 16
+.L004cbc_enc_jmp_table:
+ .long 0
+ .long .L012ej1
+ .long .L011ej2
+ .long .L010ej3
+ .long .L008ej4
+ .long .L007ej5
+ .long .L006ej6
+ .long .L005ej7
+.align 16
+.L023cbc_dec_jmp_table:
+ .long 0
+ .long .L022dj1
+ .long .L021dj2
+ .long .L020dj3
+ .long .L018dj4
+ .long .L017dj5
+ .long .L016dj6
+ .long .L015dj7
+.L_BF_cbc_encrypt_end:
+ .size _C_LABEL(BF_cbc_encrypt),.L_BF_cbc_encrypt_end-_C_LABEL(BF_cbc_encrypt)
diff -r 62e9ab44f58c -r f297519b0336 sys/crypto/blowfish/arch/i386/bf_enc.S
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/crypto/blowfish/arch/i386/bf_enc.S Thu Feb 07 07:06:37 2002 +0000
@@ -0,0 +1,16 @@
+/* $NetBSD: bf_enc.S,v 1.1.6.2 2002/02/07 07:09:49 jdolecek Exp $ */
+
+/*
+ * Written by Jason R. Thorpe <thorpej%zembu.com@localhost> and Thor Lancelot Simon
+ * <tls%netbsd.org@localhost>. Public domain.
+ */
+
+/*
+ * XXX Should use CPP symbols defined as a result of
+ * XXX `cc -mcpu=pentiumpro'.
+ */
+#if defined(I386_CPU) || defined(I486_CPU) || defined(I586_CPU)
+#include "bf_enc_586.S"
Home |
Main Index |
Thread Index |
Old Index