Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/dev/pci



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Bernd,

The NetOctave NSP2000 is a crypto-acceleration card that accelerates RNG, Public Key (D-H, RSA, DSA), SSL, TLS, and IPSec. The driver is integrated with the opencrypto framework to provide hardware offload for the following operations:

Encryption:
CRYPTO_DES_CBC
CRYPTO_3DES_CBC
CRYPTO_MD5
CRYPTO_SHA1
CRYPTO_MD5_HMAC
CRYPTO_SHA1_HMAC

Key operations:
CRK_MOD_EXP
CRK_DSA_SIGN
CRK_DSA_VERIFY
CRK_DH_COMPUTE_KEY
CRK_MOD_ADD
CRK_MOD_ADDINV
CRK_MOD_SUB
CRK_MOD_MULT
CRK_MOD_MULTINV
CRK_MOD

There are a number of files present in the commit that are not yet ported and implement kernel and user APIs to directly use the card features. I included them because they are part of the source donated to NetBSD by the original developer, and they may be of use for non- opencrypto applications (e.g ports of existing NetOctave applications).

The driver functions fine without the entry in pcidevs, but thank you for bringing that to my attention. Are the pcidevs.h and pcidevs_data.h headers critical to the driver system? I didn't think so, but I can update pcidevs if it is required. Tools such as lcpci obtain their information from the usual pci.ids file, which does have an entry for NetOctave.

The term "n8" comes from NetOctave, a reduction of "Net" and "Oct" to "N" & "8".

Regards,
Darran.

On 31/10/2008, at 10:58 AM, Bernd Ernesti wrote:

On Thu, Oct 30, 2008 at 12:02:15PM +0000, Darran Hunt wrote:

Module Name:    src
Committed By:   darran
Date:           Thu Oct 30 12:02:15 UTC 2008

Modified Files:
        src/sys/dev/pci: files.pci
Added Files:
src/sys/dev/pci/n8: Makefile.lkm files.n8 helper.c helper.h license.txt
            n8_memory_bsd.c n8_semaphore_bsd.c nsp.c nsp.h nspvar.h
src/sys/dev/pci/n8/QMgr: Makefile QMQueue.c QMQueue.h QMUtil.c QMUtil.h
            QMgrInit.c QMgrInit.h RNQueue.c RN_Queue.h
src/sys/dev/pci/n8/common: config.c config.h contextMem.c contextMem.h
            displayRegs.c displayRegs.h irq.c irq.h n8_SKSManager.c
n8_daemon_kernel.c n8_driver_main.h n8_driver_parms.h n8_memory.c n8_memory.h n8_rn_common.h n8_sksInit.c n8_sksInit.h nsp2000_regs.h
            nsp_ioctl.c userPool.c userPool.h
        src/sys/dev/pci/n8/common/api: Makefile md32_common.h
n8_API_Initialize.c n8_API_Initialize.h n8_buffer.c n8_callback.c n8_contextM.c n8_cryptographic.c n8_daemon_sks.c n8_dh.c n8_dsa.c n8_dsa.h n8_event.c n8_hash.c n8_hash.h n8_key_works.c n8_packet.c
            n8_packet.h n8_packet_IPSec.c n8_packet_IPSec.h n8_pk_ops.c
            n8_precomp_md5.c n8_precomp_md5.h n8_precomp_md5_locl.h
            n8_precomp_sha_locl.h n8_precompute.c n8_precompute.h
            n8_pub_enums.c n8_request.c n8_rng.c n8_rsa.c n8_rsa.h n8_sks.c
            n8_ssltls.c n8_ssltls.h n8_system.c n8_user_util.c n8_util.c
            n8_util.h test_case.c
src/sys/dev/pci/n8/common/api/commands: Makefile n8_cb_dh.c n8_cb_dh.h
            n8_cb_dsa.c n8_cb_dsa.h n8_cb_ea.c n8_cb_ea.h n8_cb_pk_ops.c
            n8_cb_pk_ops.h n8_cb_rsa.c n8_cb_rsa.h
        src/sys/dev/pci/n8/include_private: n8_OS_intf.h n8_SKSManager.h
            n8_common.h n8_daemon_common.h n8_daemon_sks.h n8_device_info.h
n8_driver_api.h n8_ea_common.h n8_enqueue_common.h n8_key_works.h
            n8_malloc_common.h n8_manage_memory.h n8_pk_common.h n8_rand.h
            n8_semaphore.h n8_sks.h n8_sks_util.h n8_time.h n8_version.h
            nsp_ioctl.h test_case.h
        src/sys/dev/pci/n8/include_public: n8_pub_buffer.h n8_pub_common.h
            n8_pub_context.h n8_pub_enums.h n8_pub_errors.h n8_pub_hash.h
            n8_pub_packet.h n8_pub_pk.h n8_pub_request.h n8_pub_rng.h
            n8_pub_service.h n8_pub_sks.h n8_pub_symmetric.h n8_pub_types.h
            n8_sdk_config.h
        src/sys/dev/pci/n8/memory: n8_manage_memory.c

Log Message:
NetOctave NSP2000 driver, ported from FreeBSD and integrated with
opencrypto by CoyotePoint Systems. The FreeBSD driver source was recently
made available by NBMK Encryption Technologies.

The port includes some currently unused code which implements kernel and user space interfaces for the driver in FreeBSD. These are left in at this time to facilitate the port of these interface to NetBSD if they are of
interest.

I'm a little scared to see such a big new and unknown type driver going in now.
Some filename suggest that they duplicates other files.
You only added the files to files.pci, is there no need to add the entry to
pcidevs too?

And the directory name is not a very intuitive one too: n8
What does have n8 to do with NSP2000 and what is a NSP2000?

Bernd
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iQEVAwUBSQpRAD+qZ6kXvbTJAQK/qgf/frM3i2o1z54NtFZFe381MT7fmv5oRfHE
AFMluMzS0SxLniJNMyRR6JHoMUhB9SqK2XUuhSD5+inp8+1uoyd7wdfvUeGw7tg6
Dn0Sp2//UqsmAA8BvcBXO0kQ11ZeAI5PZEjbgVHwNEUZspILqIIlkgi5DAUEI0cL
BlqmIrGhKbO6FPB7dt6uU6KWR4yyjNu+6rQnrqzYm6tKiqrXcX+oZ2FGulj6U1cO
V9LSRty/oxvYXHwxD/jhcqFpSueMmViGf6WrePdNIl+cwtn1tN/WS1h/biunyKTp
NuHpHN+Szr8Vy/LmU9tvbAGs0SItIyTXjpQz5qVJMHdl8QIdX4/6Ag==
=hQAL
-----END PGP SIGNATURE-----


Home | Main Index | Thread Index | Old Index