Tarl Neustaedter wrote:
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:
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.
Actually I've now realised that we already have a work around for this. For OpenSolaris debugging, I've normally been invoking boot like this:
boot cdrom -H
...which has always worked fine. However, the latest rework to the bootargs parameter code now explicitly gives a slice during boot and so it will actually work when not being debugged! Hence what I need to do is actually this:
boot cdrom:f -H
This now calls my new code and I can attach the debugger to the "open" method in ufs-file-system - but for some reason it crashes in the I/O code called from deblocker when "read" is invoked.
I also think there is something else strange going on with the emulation in Qemu. If I use my disk image for a debugging session, it works fine. However if I attempt to use a Solaris 9 install CD image with the same-size Fcode block then I get all sorts of strange Forth errors such as failing to find the "do-boot" word. This suggests there is something not right with the memory management or I/O somewhere :(