[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