head	1.18;
access;
symbols
	RELENG_8_4:1.18.0.2
	RELENG_9_1_0_RELEASE:1.15.36.2.2.2
	RELENG_9_1:1.15.36.2.0.2
	RELENG_9_1_BP:1.15.36.2
	RELENG_8_3_0_RELEASE:1.15.30.1.8.1
	RELENG_8_3:1.15.30.1.0.8
	RELENG_8_3_BP:1.15.30.1
	RELENG_9_0_0_RELEASE:1.15.36.1.2.1
	RELENG_9_0:1.15.36.1.0.2
	RELENG_9_0_BP:1.15.36.1
	RELENG_9:1.15.0.36
	RELENG_9_BP:1.15
	RELENG_7_4_0_RELEASE:1.15.34.1
	RELENG_8_2_0_RELEASE:1.15.30.1.6.1
	RELENG_7_4:1.15.0.34
	RELENG_7_4_BP:1.15
	RELENG_8_2:1.15.30.1.0.6
	RELENG_8_2_BP:1.15.30.1
	RELENG_8_1_0_RELEASE:1.15.30.1.4.1
	RELENG_8_1:1.15.30.1.0.4
	RELENG_8_1_BP:1.15.30.1
	RELENG_7_3_0_RELEASE:1.15.32.1
	RELENG_7_3:1.15.0.32
	RELENG_7_3_BP:1.15
	RELENG_8_0_0_RELEASE:1.15.30.1.2.1
	RELENG_8_0:1.15.30.1.0.2
	RELENG_8_0_BP:1.15.30.1
	RELENG_8:1.15.0.30
	RELENG_8_BP:1.15
	RELENG_7_2_0_RELEASE:1.15.28.1
	RELENG_7_2:1.15.0.28
	RELENG_7_2_BP:1.15
	RELENG_7_1_0_RELEASE:1.15.26.1
	RELENG_6_4_0_RELEASE:1.15.24.1
	RELENG_7_1:1.15.0.26
	RELENG_7_1_BP:1.15
	RELENG_6_4:1.15.0.24
	RELENG_6_4_BP:1.15
	RELENG_7_0_0_RELEASE:1.15
	RELENG_6_3_0_RELEASE:1.15
	RELENG_7_0:1.15.0.22
	RELENG_7_0_BP:1.15
	RELENG_6_3:1.15.0.20
	RELENG_6_3_BP:1.15
	RELENG_7:1.15.0.18
	RELENG_7_BP:1.15
	RELENG_6_2_0_RELEASE:1.15
	RELENG_6_2:1.15.0.16
	RELENG_6_2_BP:1.15
	RELENG_5_5_0_RELEASE:1.15
	RELENG_5_5:1.15.0.14
	RELENG_5_5_BP:1.15
	RELENG_6_1_0_RELEASE:1.15
	RELENG_6_1:1.15.0.12
	RELENG_6_1_BP:1.15
	RELENG_6_0_0_RELEASE:1.15
	RELENG_6_0:1.15.0.10
	RELENG_6_0_BP:1.15
	RELENG_6:1.15.0.8
	RELENG_6_BP:1.15
	RELENG_5_4_0_RELEASE:1.15
	RELENG_5_4:1.15.0.6
	RELENG_5_4_BP:1.15
	RELENG_5_3_0_RELEASE:1.15
	RELENG_5_3:1.15.0.4
	RELENG_5_3_BP:1.15
	RELENG_5:1.15.0.2
	RELENG_5_BP:1.15
	RELENG_5_2_1_RELEASE:1.13
	RELENG_5_2_0_RELEASE:1.13
	RELENG_5_2:1.13.0.6
	RELENG_5_2_BP:1.13
	RELENG_5_1_0_RELEASE:1.13
	RELENG_5_1:1.13.0.4
	RELENG_5_1_BP:1.13
	RELENG_5_0_0_RELEASE:1.13
	RELENG_5_0:1.13.0.2
	RELENG_5_0_BP:1.13
	KSE_MILESTONE_2:1.11
	KSE_PRE_MILESTONE_2:1.11
	old_PRE_SMPNG:1.3;
locks; strict;
comment	@# @;


1.18
date	2012.11.17.01.52.59;	author svnexp;	state Exp;
branches
	1.18.2.1;
next	1.17;

1.17
date	2012.09.05.13.18.51;	author kib;	state Exp;
branches;
next	1.16;

1.16
date	2012.01.09.23.20.30;	author jkim;	state Exp;
branches;
next	1.15;

1.15
date	2004.04.11.15.40.18;	author marcel;	state Exp;
branches
	1.15.8.1
	1.15.18.1
	1.15.24.1
	1.15.26.1
	1.15.28.1
	1.15.30.1
	1.15.32.1
	1.15.34.1
	1.15.36.1;
next	1.14;

1.14
date	2004.04.09.15.47.09;	author markm;	state Exp;
branches;
next	1.13;

1.13
date	2002.07.15.13.58.35;	author markm;	state Exp;
branches;
next	1.12;

1.12
date	2002.01.11.15.48.57;	author ru;	state Exp;
branches;
next	1.11;

1.11
date	2001.03.10.12.57.08;	author markm;	state Exp;
branches;
next	1.10;

1.10
date	2001.01.15.19.35.00;	author markm;	state Exp;
branches;
next	1.9;

1.9
date	2001.01.06.14.00.12;	author obrien;	state Exp;
branches;
next	1.8;

1.8
date	2000.12.02.18.29.18;	author markm;	state Exp;
branches;
next	1.7;

1.7
date	2000.10.27.06.06.03;	author markm;	state Exp;
branches;
next	1.6;

1.6
date	2000.10.14.10.59.56;	author markm;	state Exp;
branches;
next	1.5;

1.5
date	2000.09.10.13.56.45;	author markm;	state Exp;
branches;
next	1.4;

1.4
date	2000.09.10.13.52.19;	author markm;	state Exp;
branches;
next	1.3;

1.3
date	2000.07.07.09.03.59;	author markm;	state Exp;
branches;
next	1.2;

1.2
date	2000.06.26.12.18.09;	author markm;	state Exp;
branches;
next	1.1;

1.1
date	2000.06.25.10.12.33;	author markm;	state Exp;
branches;
next	;

1.18.2.1
date	2012.11.17.01.52.59;	author svnexp;	state dead;
branches;
next	1.18.2.2;

1.18.2.2
date	2013.03.28.13.05.23;	author svnexp;	state Exp;
branches;
next	;

1.15.8.1
date	2012.11.17.07.44.24;	author svnexp;	state Exp;
branches;
next	;

1.15.18.1
date	2012.11.17.08.06.55;	author svnexp;	state Exp;
branches;
next	;

1.15.24.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.15.26.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.15.28.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.15.30.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.15.30.1.2.1
	1.15.30.1.4.1
	1.15.30.1.6.1
	1.15.30.1.8.1;
next	1.15.30.2;

1.15.30.2
date	2012.09.27.10.41.34;	author kib;	state Exp;
branches;
next	1.15.30.3;

1.15.30.3
date	2012.09.27.10.56.25;	author kib;	state Exp;
branches;
next	1.15.30.4;

1.15.30.4
date	2012.11.17.10.36.58;	author svnexp;	state Exp;
branches;
next	;

1.15.30.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.15.30.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.15.30.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.15.30.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.15.30.1.8.2;

1.15.30.1.8.2
date	2012.11.17.08.25.33;	author svnexp;	state Exp;
branches;
next	;

1.15.32.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.15.34.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.15.34.2;

1.15.34.2
date	2012.11.17.08.17.27;	author svnexp;	state Exp;
branches;
next	;

1.15.36.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.15.36.1.2.1;
next	1.15.36.2;

1.15.36.2
date	2012.02.23.00.52.27;	author jkim;	state Exp;
branches
	1.15.36.2.2.1;
next	1.15.36.3;

1.15.36.3
date	2012.09.26.09.22.28;	author kib;	state Exp;
branches;
next	1.15.36.4;

1.15.36.4
date	2012.11.17.11.37.18;	author svnexp;	state Exp;
branches;
next	;

1.15.36.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.15.36.1.2.2;

1.15.36.1.2.2
date	2012.11.17.08.37.14;	author svnexp;	state Exp;
branches;
next	;

1.15.36.2.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.15.36.2.2.2;

1.15.36.2.2.2
date	2012.11.17.08.48.05;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.18
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/sys/modules/random/Makefile 240135 2012-09-05 13:18:51Z kib $

.PATH: ${.CURDIR}/../../dev/random
.PATH: ${.CURDIR}/../../crypto/rijndael
.PATH: ${.CURDIR}/../../crypto/sha2

KMOD=	random
SRCS=	randomdev.c probe.c
.if ${MACHINE} == "amd64" || ${MACHINE} == "i386"
SRCS+=	nehemiah.c
SRCS+=	ivy.c
.endif
SRCS+=	randomdev_soft.c yarrow.c hash.c
SRCS+=	rijndael-alg-fst.c rijndael-api-fst.c sha2.c
SRCS+=	bus_if.h device_if.h vnode_if.h opt_cpu.h

CFLAGS+= -I${.CURDIR}/../..

.include <bsd.kmod.mk>
@


1.18.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:05:23 +0000
@
text
@d1 19
@


1.18.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 19
# $FreeBSD: releng/8.4/sys/modules/random/Makefile 240994 2012-09-27 10:56:25Z kib $

.PATH: ${.CURDIR}/../../dev/random
.PATH: ${.CURDIR}/../../crypto/rijndael
.PATH: ${.CURDIR}/../../crypto/sha2

KMOD=	random
SRCS=	randomdev.c probe.c
.if ${MACHINE} == "amd64" || ${MACHINE} == "i386"
SRCS+=	nehemiah.c
SRCS+=	ivy.c
.endif
SRCS+=	randomdev_soft.c yarrow.c hash.c
SRCS+=	rijndael-alg-fst.c rijndael-api-fst.c sha2.c
SRCS+=	bus_if.h device_if.h vnode_if.h opt_cpu.h

CFLAGS+= -I${.CURDIR}/../..

.include <bsd.kmod.mk>
@


1.17
log
@SVN rev 240135 on 2012-09-05 13:18:51Z by kib

Add support for new Intel on-CPU Bull Mountain random number
generator, found on IvyBridge and supposedly later CPUs, accessible
with RDRAND instruction.

From the Intel whitepapers and articles about Bull Mountain, it seems
that we do not need to perform post-processing of RDRAND results, like
AES-encryption of the data with random IV and keys, which was done for
Padlock. Intel claims that sanitization is performed in hardware.

Make both Padlock and Bull Mountain random generators support code
covered by kernel config options, for the benefit of people who prefer
minimal kernels. Also add the tunables to disable hardware generator
even if detected.

Reviewed by:	markm, secteam (simon)
Tested by:	bapt, Michael Moll <kvedulv@@kvedulv.de>
MFC after:	3 weeks
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.16
log
@SVN rev 229887 on 2012-01-09 23:20:30Z by jkim

Enable hardware RNG for VIA Nano processors.

PR:		kern/163974
@
text
@d11 1
d15 1
a15 1
SRCS+=	bus_if.h device_if.h vnode_if.h
@


1.15
log
@Include nehemiah.c only on i386, as is done for the non-modules
build.
@
text
@d9 1
a9 1
.if ${MACHINE} == "i386"
@


1.15.18.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/sys/modules/random/Makefile 128120 2004-04-11 15:40:18Z marcel $
@


1.15.8.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/sys/modules/random/Makefile 128120 2004-04-11 15:40:18Z marcel $
@


1.15.36.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.15.36.2
log
@SVN rev 232013 on 2012-02-23 00:52:27Z by jkim

MFC:	r229887

Enable hardware RNG for VIA Nano processors.
@
text
@d9 1
a9 1
.if ${MACHINE} == "amd64" || ${MACHINE} == "i386"
@


1.15.36.3
log
@SVN rev 240950 on 2012-09-26 09:22:28Z by kib

MFC r240135:
Add support for new Intel on-CPU Bull Mountain random number generator.

MFC r240455:
Rename the IVY_RNG option to RDRAND_RNG.
@
text
@a10 1
SRCS+=	ivy.c
d14 1
a14 1
SRCS+=	bus_if.h device_if.h vnode_if.h opt_cpu.h
@


1.15.36.4
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/modules/random/Makefile 240950 2012-09-26 09:22:28Z kib $
@


1.15.36.2.2.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.15.36.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sys/modules/random/Makefile 232013 2012-02-23 00:52:27Z jkim $
@


1.15.36.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.15.36.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sys/modules/random/Makefile 128120 2004-04-11 15:40:18Z marcel $
@


1.15.34.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.15.34.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/sys/modules/random/Makefile 128120 2004-04-11 15:40:18Z marcel $
@


1.15.32.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.15.30.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.15.30.2
log
@SVN rev 240991 on 2012-09-27 10:41:34Z by kib

MFC r229887 (by jkim):
Enable hardware RNG for VIA Nano processors.
@
text
@d9 1
a9 1
.if ${MACHINE} == "amd64" || ${MACHINE} == "i386"
@


1.15.30.3
log
@SVN rev 240994 on 2012-09-27 10:56:25Z by kib

MFC r240135:
Add support for new Intel on-CPU Bull Mountain random number generator.

MFC r240455:
Rename the IVY_RNG option to RDRAND_RNG.
@
text
@a10 1
SRCS+=	ivy.c
d14 1
a14 1
SRCS+=	bus_if.h device_if.h vnode_if.h opt_cpu.h
@


1.15.30.4
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/sys/modules/random/Makefile 240994 2012-09-27 10:56:25Z kib $
@


1.15.30.1.8.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.15.30.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sys/modules/random/Makefile 128120 2004-04-11 15:40:18Z marcel $
@


1.15.30.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.15.30.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.15.30.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.15.28.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.15.26.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.15.24.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.14
log
@Reorganise the entropy device so that high-yield entropy sources
can more easily be used INSTEAD OF the hard-working Yarrow.
The only hardware source used at this point is the one inside
the VIA C3 Nehemiah (Stepping 3 and above) CPU. More sources will
be added in due course. Contributions welcome!
@
text
@d9 1
d11 1
@


1.13
log
@Upgrade the random device to use a "real" hash instead of building
one out of a block cipher. This has 2 advantages:
1) The code is _much_ simpler
2) We aren't committing our security to one algorithm (much as we
   may think we trust AES).

While I'm here, make an explicit reseed do a slow reseed instead
of a fast; this is in line with what the original paper suggested.
@
text
@d8 3
a10 1
SRCS=	randomdev.c yarrow.c hash.c
@


1.12
log
@Drop <bsd.man.mk> support from <bsd.kmod.mk>.

Not objected to by:	-current
@
text
@d5 1
d9 1
a9 1
SRCS+=	rijndael-alg-fst.c rijndael-api-fst.c
@


1.11
log
@The /dev/random driver used Rijndael, not Blowfish, now.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/modules/random/Makefile,v 1.10 2001/01/15 19:35:00 markm Exp $
a9 1
NOMAN=	yes
@


1.10
log
@Clean up Makefile, and remove the last vestiges of NOBLOCKRANDOM.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/modules/random/Makefile,v 1.9 2001/01/06 14:00:12 obrien Exp $
d4 1
a4 1
.PATH: ${.CURDIR}/../../crypto/blowfish
d8 1
a8 1
SRCS+=	bf_cbc.c bf_skey.c bf_enc.c
@


1.9
log
@Use a consistent style and one much closer to the rest of /usr/src
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/modules/random/Makefile,v 1.8 2000/12/02 18:29:18 markm Exp $
d7 1
a7 1
SRCS=	bus_if.h device_if.h randomdev.c yarrow.c hash.c
d9 1
a9 1
SRCS+=	vnode_if.h opt_noblockrandom.h
a12 12

# Uncomment the below macro to make a /dev/random that will not block at
# boot time. Useful for personal workstations and the like where reboot
# speed is paramount.
#NOBLOCKRANDOM=	yes
.if defined(NOBLOCKRANDOM)
RANDOM_OPTS=     "\#define NOBLOCKRANDOM"
.endif

opt_noblockrandom.h:
	touch opt_noblockrandom.h
	echo $(RANDOM_OPTS) >> opt_noblockrandom.h
@


1.8
log
@Default the /dev/random loadable module to blocking-on-bootup,
but leave a commented-out macro to change this.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/modules/random/Makefile,v 1.7 2000/10/27 06:06:03 markm Exp $
d3 10
a12 8
.PATH:	${.CURDIR}/../../dev/random
.PATH:	${.CURDIR}/../../crypto/blowfish
KMOD	= random
SRCS	= bus_if.h device_if.h randomdev.c yarrow.c hash.c
SRCS	+= bf_cbc.c bf_skey.c bf_enc.c
SRCS	+= vnode_if.h opt_noblockrandom.h
CFLAGS	+= -I${.CURDIR}/../..
NOMAN	= yes
@


1.7
log
@As the blocking model has seems to be troublesome for many, disable
it for now with an option.

This option is already deprecated, and will be removed when the
entropy-harvesting code is fast enough to warrant it.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/modules/random/Makefile,v 1.6 2000/10/14 10:59:56 markm Exp $
d12 4
a15 1
NOBLOCKRANDOM=	yes
@


1.6
log
@After some complaints about the dir names, the random device is
now in dirs called sys/*/random/ instead of sys/*/randomdev/*.

Introduce blocking, but only at startup; the random device will
block until the first reseed happens to prevent clients from
using untrustworthy output.

Provide a read_random() call for the rest of the kernel so that
the entropy device does not need to be present. This means that
things like IPX no longer need to have "device random" hardcoded
into thir kernel config. The downside is that read_random() will
provide very poor output until the entropy device is loaded and
reseeded. It is recommended that developers do NOT use the
read_random() call; instead, they should use arc4random() which
internally uses read_random().

Clean up the mutex and locking code a bit; this makes it possible
to unload the module again.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/modules/random/Makefile,v 1.5 2000/09/10 13:56:45 markm Exp $
d8 1
a8 1
SRCS	+= vnode_if.h
d11 9
@


1.5
log
@Forced commit.

Enough folks complained about the name of the entropy device module, so
I agreed to change it from "randomdev" to just plain "random".

This needs to be changed in loader.conf as well.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/modules/randomdev/Makefile,v 1.4 2000/09/10 13:52:19 markm Exp $
d3 1
a3 1
.PATH:	${.CURDIR}/../../dev/randomdev
d8 1
@


1.4
log
@Large upgrade to the entropy device; mainly inspired by feedback
from many folk.

o The reseed process is now a kthread. With SMPng, kthreads are
  pre-emptive, so the annoying jerkiness of the mouse is gone.

o The data structures are protected by mutexes now, not splfoo()/splx().

o The cryptographic routines are broken out into their own subroutines.
  this facilitates review, and possible replacement if that is ever
  found necessary.

Thanks to:		kris, green, peter, jasone, grog, jhb
Forgotten to thank:	You know who you are; no offense intended.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/modules/randomdev/Makefile,v 1.3 2000/07/07 09:03:59 markm Exp $
@


1.3
log
@Add entropy gathering code. This will work whether the module is
compiled in or loaded.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/modules/randomdev/Makefile,v 1.2 2000/06/26 12:18:09 markm Exp $
d5 2
a6 2
KMOD	= randomdev
SRCS	= bus_if.h device_if.h randomdev.c yarrow.c
@


1.2
log
@Better style(9) for the module build.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/modules/randomdev/Makefile,v 1.1 2000/06/25 10:12:33 markm Exp $
a4 1
#.PATH:	${.CURDIR}/../../crypto/des
a8 1
#SRCS	+= sha1.c des_setkey.c des_ecb.c
@


1.1
log
@Build the entropy device (/dev/random) as a module. This may not
be a permanent rule, because this device may eventually be deemed
"effectively compulsory", and built by default directly into the
kernel. For the moment, however, this is useful for debugging and
development.

Reviewed by:	dfr
@
text
@d1 1
a1 1
# $FreeBSD$
d9 1
a9 1
CFLAGS	+= -I${.CURDIR}/../../dev/randomdev
@

