The check_extport() function appears to have some new code in it that checks
the scratch RAM for data normally found in the SEEPROM (presumably in the event that the SEEPROM is unavailable or can't be read). This code causes a spontaneous reboot on monster.osd.bsdi.com, which has an embedded aic7880 controller. The problem appears to happen either when it writes to the SCBPTR port and then reads from the SCB_CONTROL port. Somewhere during the inb/outb operations, the system has a heart attack and restarts. This code looks very suspicious, particularly since it has unconditionalized debug mesages such as "Got here!" and "And it even worked!". With this block #ifdef'ed out, the machine boots and runs properly. I stronly suggest that it stay #ifdef'ed out until it's properly tested.
This commit is contained in:
parent
6c388e8448
commit
624539bb38
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=64247
@ -1143,6 +1143,12 @@ check_extport(struct ahc_softc *ahc, u_int *sxfrctl1)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef 0
|
||||
/*
|
||||
* This code causes a machine with an aic7880 chipset
|
||||
* to reboot spontaneously. Whatever it's supposed to do,
|
||||
* it's doing it wrong. -wpaul
|
||||
*/
|
||||
if (!have_seeprom) {
|
||||
/*
|
||||
* Pull scratch ram settings and treat them as
|
||||
@ -1168,6 +1174,7 @@ check_extport(struct ahc_softc *ahc, u_int *sxfrctl1)
|
||||
printf("And it even worked!\n");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!have_seeprom) {
|
||||
if (bootverbose)
|
||||
|
Loading…
Reference in New Issue
Block a user