Back-port of Broadcom engine code from 0.9.7 to 0.9.6, but with a few

patches taken from Red Hat Linux 7.2.  Original code from Broadcom with
patches and backport by Nalin, more backport to fix warnings and const
changes by Mark
Submitted by: Mark Cox
Reviewed by:
PR:
This commit is contained in:
Mark J. Cox 2001-11-12 20:28:09 +00:00
parent b1d9279a41
commit c3970428ac
8 changed files with 588 additions and 396 deletions

View File

@ -4,6 +4,10 @@
Changes between 0.9.6b and 0.9.6c [XX xxx XXXX]
*) Add support for Broadcom crypto accelerator cards, backported
from 0.9.7.
[Broadcom, Nalin Dahyabhai <nalin@redhat.com>, Mark Cox]
*) Add support for SureWare crypto accelerator cards from
Baltimore Technologies. (Use engine 'sureware')
[Baltimore Technologies and Mark Cox]

View File

@ -23,9 +23,11 @@ APPS=
LIB=$(TOP)/libcrypto.a
LIBSRC= engine_err.c engine_lib.c engine_list.c engine_openssl.c \
hw_atalla.c hw_cswift.c hw_ncipher.c hw_aep.c hw_sureware.c
hw_atalla.c hw_cswift.c hw_ncipher.c hw_aep.c hw_sureware.c \
hw_ubsec.c
LIBOBJ= engine_err.o engine_lib.o engine_list.o engine_openssl.o \
hw_atalla.o hw_cswift.o hw_ncipher.o hw_aep.o hw_sureware.o
hw_atalla.o hw_cswift.o hw_ncipher.o hw_aep.o hw_sureware.o \
hw_ubsec.o
SRC= $(LIBSRC)
@ -259,3 +261,23 @@ hw_sureware.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
hw_sureware.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
hw_sureware.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
hw_sureware.o: ../cryptlib.h engine.h engine_int.h vendor_defns/sureware.h
hw_ubsec.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
hw_ubsec.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
hw_ubsec.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
hw_ubsec.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
hw_ubsec.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
hw_ubsec.o: ../../include/openssl/dso.h ../../include/openssl/e_os.h
hw_ubsec.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
hw_ubsec.o: ../../include/openssl/err.h ../../include/openssl/evp.h
hw_ubsec.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
hw_ubsec.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
hw_ubsec.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
hw_ubsec.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
hw_ubsec.o: ../../include/openssl/opensslconf.h
hw_ubsec.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
hw_ubsec.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
hw_ubsec.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
hw_ubsec.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
hw_ubsec.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
hw_ubsec.o: ../../include/openssl/symhacks.h ../cryptlib.h engine_int.h
hw_ubsec.o: vendor_defns/hw_ubsec.h

View File

@ -377,6 +377,16 @@ void ERR_load_ENGINE_strings(void);
#define ENGINE_F_SUREWAREHK_DH_GEN_KEY 210
#define ENGINE_F_SUREWAREHK_DSA_DO_SIGN 211
#define ENGINE_F_SUREWAREHK_MOD_EXP 212
#define ENGINE_F_UBSEC_CTRL 176
#define ENGINE_F_UBSEC_DSA_SIGN 163
#define ENGINE_F_UBSEC_DSA_VERIFY 164
#define ENGINE_F_UBSEC_FINISH 165
#define ENGINE_F_UBSEC_INIT 166
#define ENGINE_F_UBSEC_MOD_EXP 167
#define ENGINE_F_UBSEC_RSA_MOD_EXP 168
#define ENGINE_F_UBSEC_RSA_MOD_EXP_CRT 169
#define ENGINE_F_UBSEC_DH_COMPUTE_KEY 171
#define ENGINE_F_UBSEC_RNG_BYTES 172
/* Reason codes. */

View File

@ -132,6 +132,14 @@ static ERR_STRING_DATA ENGINE_str_functs[]=
{ERR_PACK(0,ENGINE_F_HWCRHK_RAND_BYTES,0), "HWCRHK_RAND_BYTES"},
{ERR_PACK(0,ENGINE_F_HWCRHK_RSA_MOD_EXP,0), "HWCRHK_RSA_MOD_EXP"},
{ERR_PACK(0,ENGINE_F_LOG_MESSAGE,0), "LOG_MESSAGE"},
{ERR_PACK(0,ENGINE_F_UBSEC_CTRL,0), "UBSEC_CTRL"},
{ERR_PACK(0,ENGINE_F_UBSEC_DSA_SIGN,0), "UBSEC_DSA_SIGN"},
{ERR_PACK(0,ENGINE_F_UBSEC_DSA_VERIFY,0), "UBSEC_DSA_VERIFY"},
{ERR_PACK(0,ENGINE_F_UBSEC_FINISH,0), "UBSEC_FINISH"},
{ERR_PACK(0,ENGINE_F_UBSEC_INIT,0), "UBSEC_INIT"},
{ERR_PACK(0,ENGINE_F_UBSEC_MOD_EXP,0), "UBSEC_MOD_EXP"},
{ERR_PACK(0,ENGINE_F_UBSEC_RSA_MOD_EXP,0), "UBSEC_RSA_MOD_EXP"},
{ERR_PACK(0,ENGINE_F_UBSEC_RSA_MOD_EXP_CRT,0), "UBSEC_RSA_MOD_EXP_CRT"},
{0,NULL}
};

View File

@ -161,6 +161,10 @@ ENGINE *ENGINE_aep();
ENGINE *ENGINE_sureware();
#endif /* !NO_HW_SUREWARE */
#ifndef NO_HW_UBSEC
/* Returns a structure of ubsec methods. */
ENGINE *ENGINE_ubsec();
#endif /* !NO_HW_UBSEC */
#endif /* !NO_HW */
#ifdef __cplusplus

View File

@ -206,6 +206,10 @@ static int engine_internal_check(void)
if(!engine_list_add(ENGINE_sureware()))
return 0;
#endif /* !NO_HW_SUREWARE */
#ifndef NO_HW_UBSEC
if(!engine_list_add(ENGINE_ubsec()))
return 0;
#endif /* !NO_HW_UBSEC */
#endif /* !NO_HW */
engine_list_flag = 1;
return 1;

File diff suppressed because it is too large Load Diff

View File

@ -35,6 +35,10 @@
#define UBSEC_MATH_MODREM 0x0010
#define UBSEC_MATH_MODINV 0x0020
/* RNG command types. */
#define UBSEC_RNG_DIRECT 0x0001
#define UBSEC_RNG_SHA1 0x0002
typedef long ubsec_MathCommand_t;
typedef long ubsec_RNGCommand_t;
@ -97,3 +101,5 @@ typedef int t_UBSEC_math_accelerate_ioctl(int fd, ubsec_MathCommand_t command,
typedef int t_UBSEC_rng_ioctl(int fd, ubsec_RNGCommand_t command,
unsigned char *Result, int *Result_len);
typedef int t_UBSEC_max_key_len_ioctl(int fd, int *max_key_len);