Subject: Re: is the problem of not finding root on ld? with mlx(4) a known
To: NetBSD Kernel Technical Discussion List <tech-kern@NetBSD.org>
From: Michael L. Hitch <mhitch@lightning.msu.montana.edu>
List: tech-kern
Date: 01/30/2004 13:14:49
On Mon, 26 Jan 2004, Greg A. Woods wrote:

> After finally rebuilding and updating my alpha I've moved the root
> filesystem over to a RAID-1 partition on the Mylex DCA960.
>
> However when I boot I have to explicitly enter the root (and swap)
> device (and root filesystem type too, of course).
>
> My kernel config has:
>
> 	config		netbsd	root on ? type ?

  The problem is a known one - but does not appear to have ever been
submitted a PR for it.

  You can probably work around this by specify "root on lda0" in the
above config line.

  There are a number of problems to fix this.  The string 'RAID' needs to
be checked for in the device_register() function.  Since the ld drives
attach directly to mlx (instead of to a scsibus attached to a HBA), the
logic to match the ld device is different.  And to further complicate
things, the AS4000 has a problem with PCI bus numbering:  the NetBSD pci
bus numbers don't match the SRM numbers.

  I have access to an AS4000 with the Mylex controller and can finally see
if I can fix this.  The first problems are relatively easy to solve.  I
haven't figured out that last one yet.  I was able to work around it by
changing the mcbus probe order so that the pci bus number match up, but
then the busses get probed differently than Tru64 does.

> mcbus0 at mainbus0: 4MB BCache
> mcmem0 at mcbus0 mid 1: Memory
> mcpcia0 at mcbus0 mid 5: PCI Bridge
                    ^^^^^
  Mid 5 is probed first as per Tru64.

> mcpcia0: Horse Revision 3, Left Handed Saddle Revision 3, CAP Revision 2
> pci0 at mcpcia0 bus 0
  ^^^^
  But NetBSD assigns this PCI bus as pci0.

> mlx0 at pci0 dev 3 function 0: Mylex RAID (v2 interface)
          ^^^^
  And thus the mlx device is found on pci0.

> mlx0: interrupting at kn300 irq 44
> WARNING: can't figure what device matches "RAID 1 3 0 0 0 6000 11069"
                                                  ^^^
  According to SRM, the boot device was on pci bus 1, device 3.


--
Michael L. Hitch			mhitch@montana.edu
Computer Consultant
Information Technology Center
Montana State University	Bozeman, MT	USA