summaryrefslogtreecommitdiffstats
path: root/sys/dev/random
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2005-02-06 16:55:52 +0000
committeriedowse <iedowse@FreeBSD.org>2005-02-06 16:55:52 +0000
commit552b43ee4475faf2c3ca9b4bce75dfa87d3d7507 (patch)
treeca51f8f0d2ff78cdd8884ffe4f36d839a4043a91 /sys/dev/random
parent1af887fe98a69cf87a0a9399f0ae7aeb0cf80bad (diff)
downloadFreeBSD-src-552b43ee4475faf2c3ca9b4bce75dfa87d3d7507.zip
FreeBSD-src-552b43ee4475faf2c3ca9b4bce75dfa87d3d7507.tar.gz
Check that we have at least a 586-class CPU before calling do_cpuid().
This fixes booting on a number of 486 processors. PR: i386/75686 Reviewed by: markm MFC after: 1 week
Diffstat (limited to 'sys/dev/random')
-rw-r--r--sys/dev/random/probe.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/random/probe.c b/sys/dev/random/probe.c
index 5cd1bdd..05b8223 100644
--- a/sys/dev/random/probe.c
+++ b/sys/dev/random/probe.c
@@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$");
#if defined(__i386__) && !defined(PC98)
#include <machine/cpufunc.h>
+#include <machine/cputypes.h>
#endif
#include <dev/random/randomdev.h>
@@ -55,6 +56,8 @@ random_ident_hardware(struct random_systat *systat)
/* Then go looking for hardware */
#if defined(__i386__) && !defined(PC98)
+ if (cpu_class < CPUCLASS_586)
+ return;
do_cpuid(1, regs);
if ((regs[0] & 0xf) >= 3) {
do_cpuid(0xc0000000, regs);
OpenPOWER on IntegriCloud