[OpenBIOS] Solaris 9: failed boot with strange device names

Tarl Neustaedter tarl-b2 at tarl.net
Mon Aug 16 02:02:31 CEST 2010


  On 2010-8-15 3:35 PM, Mark Cave-Ayland wrote:
> [...]
> I added a quick bit of code in packages/sun-parts.c to detect this case, but 
> was surprised to see that it wasn't getting triggered. Some further 
> investigation shows that device strings of the form "disk,|foo|" are being 
> rejected by the Forth in open-dev, i.e.
>
> s" disk" open-dev u.  -> returns a valid ihandle
> s" disk,|foo|" open-dev u. -> returns false
>
> I'm guessing that we should simply just split on a ',' in the same way as we 
> would do with a ':' if it were present, i.e. and pass the remainder of the 
> string as the package argument?

Oh. I didn't notice the lack of colon.

No, you can't just split on a comma, that's a legitimate part of either the 
name or unit address. That should be:

disk@<unit>:|foo|dev

Both the nodename and unit address are allowed the have commas (e.g., 
"QLGC,isptwo" is the name of a SCSI adapter from Qlogic, and "@0,1" means 
target zero, unit 1).

The question is why are you missing both the unit address and the colon 
separator for the argument. The right answer is to make sure you're following 
the path resolution in section 4.3.1 in 1275.




More information about the OpenBIOS mailing list