Subject: RE: New to Alpha & NetBSD, any pointers?
To: None <matt@3am-software.com, port-alpha@netbsd.org>
From: Ross Harvey <ross@teraflop.com>
List: port-alpha
Date: 08/31/1999 13:04:53
> From: "Matt Thomas" <matt@3am-software.com>
>
> > > From: Howard Leadmon <howardl@abs.net>
> > >
> > > Hello All,
> > >
> > > Just joined this list a couple hours ago, so sorry if I ask anything
> > > that was recently discussed here..
> > >
> > > I managed to get my hands on a few 164SX/533 boards, and wanted to
> > > get a decent UNIX on it instead of NT. So if I went looking, and got
> > > the SRM console loaded, and even made the install disks for NetBSD, and
> > > loaded the base OS on the 3GB EIDE drive I had sitting here. So as of
> > > now I have a basic Alpha/NetBSD 1.4.1 kernel up and running. Here are
> > > the few issues I have run into..
> > >
> > > First, when I boot from SRM to the hard-drive, everything seems
> > like it's
> > > going great. I see the primary loader run, then the secondary, and it
> > > initializes all the devices. Finally it goes to mount the root
> > filesystem
> > > and I get a message like telling me it can't. here is the msg from the
> > > logs:
> > >
> > > WARNING: can't figure what device matches "IDE 0 108 0 0 0 0 0"
> >
> > Sigh, SRM has gone back and forth on how it identifies IDE boot devices
> > for that board. Some SRM versions call them SCSI, some IDE, and now it
> > looks like sometimes the device is in the 100s digit and sometimes in the
> > 1000s digit. Maybe the SCSI-happy SRM uses the 4-digit and the IDE-
> > happy SRM uses the 3? Or maybe my quick guess is just wrong...
>
> 0108 is the function (bits 8..15) and device (bits 0..7).
>
Ahh, thanks Matt.
That's the problem, then. The code at line 203 should look like the stuff
I wrote for dec_6600.c.
Howard? Veego? Anyone? Try this on your ide-booting system, it should fix
the problem without breaking anything...
Index: dec_eb164.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/alpha/alpha/dec_eb164.c,v
retrieving revision 1.29
diff -u -w -r1.29 dec_eb164.c
--- dec_eb164.c 1999/04/15 22:06:48 1.29
+++ dec_eb164.c 1999/08/31 19:57:53
@@ -200,10 +200,10 @@
else {
struct pci_attach_args *pa = aux;
- if ((b->slot % 1000) != pa->pa_device)
+ if (b->slot % 1000 / 100 != pa->pa_function)
return;
-
- /* XXX function? */
+ if (b->slot % 100 != pa->pa_device)
+ return;
scsipidev = dev;
#if 0
ross.harvey@computer.org