Commit Graph

36 Commits

Author SHA1 Message Date
tls
9b6c682b45 From Darran Hunt at Coyote Point: don't truncate HMAC to 96 bits unless
actually asked to.

Fixed in FreeBSD a while ago, discussed on tech-kern and tech-crypto.
2008-02-02 02:39:00 +00:00
ad
88ab7da936 Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
christos
53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
christos
168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
christos
4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
christos
ca858a7e11 static goes first 2006-08-30 02:13:20 +00:00
thorpej
39cd836ee1 Use device_unit(). 2006-03-28 17:38:24 +00:00
thorpej
7bc6d90c9d - De-couple the software crypto implementation from the rest of the
framework.  There is no need to waste the space if you are only using
  algoritms provided by hardware accelerators.  To get the software
  implementations, add "pseudo-device swcr" to your kernel config.
- Lazily initialize the opencrypto framework when crypto drivers
  (either hardware or swcr) register themselves with the framework.
2005-11-25 16:16:46 +00:00
tls
389883922e From Gilles Roy <groy@qnx.com>: don't increment buffer pointer twice
(once before callback, once *in* callback) for MAC transforms.  How did
this driver ever work at all without this?
2005-10-16 20:26:47 +00:00
tls
240f327f5b HAVE_CRYPTO_LZS, not HAVE_CRYPTO_LSZ (worse, it was inconsistently used) 2005-10-16 00:14:22 +00:00
tls
c4b950020a Don't use rnd_extract_data to set up IVs for new sessions; it is very
expensive, and pointless.  As elsewhere in the kernel (and as approved
under FIPS-140-2 by multiple test labs, incidentally) we use arc4 to
generate IVs here; there is no benefit to their being cryptographically
strong so long as there is a sufficient Hamming distance between them.
2005-10-16 00:12:42 +00:00
tls
eb5ea4a10b Add support for the hardware random number generator on the Hifn 7811
and 795x.  This was present in the driver before, but disabled due to
problems with the actual randomness of generated numbers on the
ubiquitious 7900-series parts.  The code here is far, far more
conservative than anyone else's driver for this RNG is -- but I
believe that conservatism is called for, because the 79xx RNG
design is missing a number of pieces from Hifn's "reference" 6500
RNG, and thus the numbers it generates must be treated with some
care.

Support for the 7811 RNG (which is a full-fledged 6500 type
generator) is pretty much the same here as in other variants of
this driver, except that it uses Hifn's "worst case" estimate of
actual entropy per output bit, so it will accumulate bits much
more slowly.  The 7811 support is untested.
2005-10-15 08:58:15 +00:00
tls
15cb9441e1 From OpenBSD hifn7751.c revision 1.149: enable the command-wait interrupt
even if there's only one request in the queue.  Sometimes we seem to miss
multiple interrupts, and command-wait saves us.
2005-10-15 04:31:20 +00:00
thorpej
d36c43c511 Use ANSI function decls and static. 2005-06-28 00:28:41 +00:00
perry
f31bd063e9 nuke trailing whitespace 2005-02-27 00:26:58 +00:00
jonathan
8457f71310 Identify AES-capable chips (7955, 7956) in the driver attach message. 2004-04-29 01:46:06 +00:00
jonathan
3638f1686a Support symmetric crypto ops, including AES, on hifn 7955 and 7956.
Not tested on 795[56],  but compiles and matches FreeBSD-tested diffs.

Suggested by Sam Leffler <sam@errno.com>, as imported into FreeBSD by Sam.
Submitted to FreeBSD by Rajesh Vaidyanath <RVaidyanath@hifn.com>.
2003-11-16 00:22:09 +00:00
thorpej
a81f6a99c2 Remove an unnececssary PCI config read. 2003-08-28 18:13:33 +00:00
thorpej
16bab1291f Hi/Fn is now spelled Hifn. 2003-08-28 15:15:43 +00:00
thorpej
873a015164 ANSI'ify (matches change in openbsd v1.140 of this file). 2003-08-28 15:05:10 +00:00
thorpej
0ee518aff8 Print out a bit more information about which part is present at attach
time, generally tidy up autoconfiguration messages.
2003-08-28 01:53:06 +00:00
jonathan
dfdfebe4d9 Discard previous driver; it didnt really do anything.
Replace with  a new from-scratch port of  recent OpenBSD hifn7751 source,
with changes to the crypto-framework calls to fit Sam Leffler's rework.
(Some of the attach-time changes from the previous driver were carried over).
Many thanks to Quentin Garnier (cube@cubidou.net) for testing an pre-release
of the driver and finding a couple of missing initializations.

Note that RNG support is temporarily disabled, until a potential issue
with RNG quality is investigated and resolved.
2003-07-30 18:49:27 +00:00
wiz
1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
thorpej
7ec10e2d99 Use aprint_*(). 2003-01-31 00:07:39 +00:00
simonb
276fd1665c The Double-Semi-Colon Police. 2003-01-20 05:29:53 +00:00
wiz
7e681f7063 interrupt with two rs. 2003-01-06 13:04:54 +00:00
thorpej
b75a007d9f Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
thorpej
387fc6dc87 Use CFATTACH_DECL(). 2002-09-30 20:37:04 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
tsutsui
b87a051ec8 Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
lukem
9048aaae21 add RCSID 2001-11-13 07:48:40 +00:00
thorpej
7e92a47db9 bcmp -> memcmp 2001-07-07 16:47:43 +00:00
thorpej
51e70f6731 bzero -> memset 2001-07-07 16:46:34 +00:00
thorpej
008dd21471 bcopy -> memcpy 2001-07-07 16:37:38 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
itojun
32e7a2cd70 hifn7751 crypto card driver. from openbsd.
does nothing useful at this moment - initailize the chip, that's all.
TODO: crypto logic framework in kernel (see openbsd sys/crypto)
TODO: ipsec frontend (need major rework in ipsec tree - should start with busywait)
TODO: character device frontend
2000-10-12 02:59:59 +00:00