Subject: Re: Booting on a Beige G3 266?
To: Yoshihisa Sugimoto <sugimoto@sums.shiga-med.ac.jp>
From: Chris Tribo <t1345@hopi.dtcc.edu>
List: port-macppc
Date: 11/30/1999 10:20:18
Yoshihisa Sugimoto wrote:
 <snip>    

     dev ide1
     f3000038 constant $hfr
     : $M $hfr rl@ or $hfr rl! 10 ms ;
     : ata-enable 4 $M 80 $M 800000 $M 100 $M 20 $M 40 $M ;
     : $M2 use-ata-interface ata-enable true ;
     : set-device-ID set-drive-select ;
     : reset-atapi-bus reset-ata-bus ;
     ' open ' $M2 $R
     ' enable-bus ' ata-enable $R
     ' reset-ata-bus 2c + ' 2 $L

	This section of code seems to be the key for ide devices, from the
looks of it, it calls ata-enable, which is probably similar to a
soft-reset of a SCSI controller. use-ata-interface is probably telling
OF to talk to the ATA controller and not the ATA drive itself.
ata-enable, could be like unit-ready for ata-disks, and in the case of
Apple's ATA/ATAPI drivers, the drives shut down on sleep/restart, and
may not be fully enabled/restarted in OF by default. Then it looks like
it resets the ATA/ATAPI buses, opens the specified boot drive
(ata/disk@0,0 maybe?), enables the ata-bus again, resets it. Where it
goes from there I don't know, but I did notice there were several spots
in the nvramrc with wait times anywhere from 10ms to 500ms. Perhaps the
ata control isn't fast enough to reset and keep OF happy? Just some
ideas, I'm not at home to try this but I will fool with it when I get
back. 
	Any chance you could post the Multibooter to the NetBSD web site, or
would Apple be unhappy about that?

	Chris