Number: 75686
Category: i386
Synopsis: Random device source not compatible with many 486's
Confidential: no
Severity: critical
Priority: medium
Responsible: freebsd-i386
State: open
Quarter:
Keywords:
Date-Required:
Class: sw-bug
Submitter-Id: current-users
Arrival-Date: Fri Dec 31 05:30:23 GMT 2004
Closed-Date:
Last-Modified:
Originator: David LeCount
Release: 5.3 cvsupped
Organization:
Environment:
FreeBSD gateway.princekenshi.com 5.0-RELEASE FreeBSD 5.0-RELEASE #0: Thu Jan 16
22:16:53 GMT 2003 ro...@hollin.btc.adaptec.com:/usr/obj/usr/src/sys/GENERIC
i386
Description:
I have attempted upgrading my 486 from 5.0-RELEASE to 5.3. I am building on my
Pentium 3, though that doesn't seem to have anything to do with the issue. I've
used different combinations of CPUTYPE=i486, CPUTYPE?=i486, NO_CPU_CFLAGS=true,
and NO_CPU_COPTFLAGS all with the same result. The kernel panics at cpuid in the
random_ident_hardware function in /usr/src/sys/dev/random/probe.c. The issue is
that my processor doesn't support the cpuid opcode, just as many 486's don't. I
found nothing in UPDATING regarding the issue. I also inquired about it on the
mailing lists 3 times, so I believe it's not my error.
How-To-Repeat:
Compile a 5.3 kernel on a 486 processor that doesn't support the cpuid opcode
and try to boot to it.
Fix:
Edit the code so it doesn't use the cpuid opcode on processors that do not
support it. The 5.0 kernel works so it must use an algorithm that's compatible
with these 486's.
Release-Note:
Audit-Trail:
Unformatted: