On Fri, Jan 06, 2006 at 02:29:12PM +0200, Cyril Plisko wrote: > On 1/6/06, Sven Luther <sven.luther at wanadoo.fr> wrote: > > On Thu, Jan 05, 2006 at 02:15:29PM +0200, Cyril Plisko wrote: > > > as we discussed it on this list around a year ago - when the PowerPC > > > community was created. Taking the ufsboot route may seem to be the > > > quick way to bootstrap the activity, however it has significant > > > drawback of requiring working disk driver to be able to move beyond > > > the point where the root disk driver chain is being assembled. > > > Bearing in mind that PegasosII has ATA disk and the Solaris ATA driver > > > isn't opensourced it may be a major showstopper for us. Netboot > > > is a obvious alternative as all the components are in current source > > > tree and significant similarity between SPARC OBP and Peg' SmartFirmware > > > (both are implementations of OpenFirmware) simplifies port to Polaris. > > > > I am curious about that, we are speaking about the boot thingy right now, > > and > > Polaris won't kill the OF, right, so is it not possible to simply use the > > firmware client interface to accessthe ATA disks ? > > It sounds like it is possible. However, I do not understand these things > enough > to have a clear opinion. On SPARC, when I hit Stop-A I get back to "ok" prompt > and have an OBP working. However, not all of the facilities are available > at that point (AFAIR) until I reset-all it.
Well, a few facts : 1) the OF ATA speed is around 5/6 MB/s. 2) we have both an ATA driver as a network driver in the firmware. 3) current ufs driver is bsd one, but i believe it could be brought to par with the same level of the driver found in usfboot, which would make booting from disk trivial until the real Polaris drivers is usable. Not sure if legally we can integrate the usfboot code directly though, or if sun would be ready to donate that part of it to us under a BSDish licence for example. > Does it mean that OF(OBP) is killed or no ?, BTW, we do not something similar > to Stop-A on Pegasos, right ? Not sure about this one. Maybe part of it is killed or not, do you know what facilities are missing, maybe not all packages stay loaded or something such. What is important is that the OF client interface is still active and can be used from the client program (namely OpenSolaris here). This is the way the linux kernel early startup does it, in his prom.c code, and the way both yaboot and grub2 access the disk underneath. grub2 really only provides OF-like capabilities to hardware lacking such, and in the OF implementation case, it mostly just passes down his read accesses to the lower level. > As for the driving the disk via the OF client interface - in theory > the driver can > use it instead of communicating with the hardware itself. I can > imaging it wouldn't > be as efficient as native driver. Like said, 5/6MB is achievable, and the network interface can be used in the same way, the client interface implements read/write, and you can load anything you want. There are a couple of fixes needed in the OF since version 1.2 though for it to work properly, but these i have been working on for yaboot support anyway, just need to check that it is upto to OpenSolaris needs too. It would be easier if i had something working, as discussed with Joerg, trying to build the netboot or ufsboot binaries on powerpc, and running those on the firmware will very quickly show you what is needed or not. Do you know where the source code for those is ? And if it is accesible as part of the open code ? As for speed, well, it is not as fast as native drivers, but well, it will work honorably, at least until a native driver can be brought up, and will allow to go forward with the real porting effort of the OpenSolaris kernel. As i understand it, at this point, the ATA driver is really the least of your worries, as there is MMU/Interrupt/Memory layout stuff to be fixed before you can even seriously make use of it, and until then, either netboot or ufsboot using the OF drivers is more than enough :) Friendly, Sven Luther
