Soren Schmidt writes:
> > ata1: mask=03 status0=a5 status1=a5
> > <..30+ seconds>
> > ata1: mask=00 status0=ffffffa5 status1=ffffffa5
>
> Hmm, you could try to change the probe to something like:
> ...
> status1 = inb(scp->ioaddr + ATA_STATUS);
> if ((status0 & 0xf8) != 0xf8 && status0 != 0xa5)
> mask |= 0x01;
> if ((status1 & 0xf8) != 0xf8 && status1 != 0xa5)
> mask |= 0x02;
> if (bootverbose)
> ata_printf(scp, -1, "mask=%02x status0=%02x status1=%02x\n",
> mask, status0, status1);
> ...
>
> It seems that the 0xa5 value means "no device" too, on lots of
> controllers, and its not valid anyways, so it wouldn't hurt..."
That works! The pause is gone and the reboot time is more than cut in
half. I urge you to commit this ;-)
Thanks!
Drew
------------------------------------------------------------------------------
Andrew Gallatin, Sr Systems Programmer http://www.cs.duke.edu/~gallatin
Duke University Email: [EMAIL PROTECTED]
Department of Computer Science Phone: (919) 660-6590
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message