Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Jul 2000 07:23:59 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        "'FreeBSD Alpha mailing list'" <freebsd-alpha@FreeBSD.ORG>
Subject:   RE: fxp0 hangs my AXPpci33
Message-ID:  <Pine.BSF.4.10.10007280720480.60544-100000@beppo.feral.com>
In-Reply-To: <14721.38433.540697.393972@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

>  > So, why does I/O access also break on Qlogic cards on alphas? They work just
>  > peachy on i386. And there are many fine cards that work fine with I/O instead
>  > of mem access on alpha....
> 
> I thought the i/o problem was only for devices behind ppb's that don't
> support I/O space access.  The problem is caused by our ppb/bus code
> not realizing the bridge doesn't support i/o space access & offering
> it as an option..

And *I* thought it was more general than that :-)...

> 
> 
> 
>  > Look- I've had the 
>  > 
>  >         if (getenv_int("isp_mem_map", &bitmap)) {
>  >                 if (bitmap & (1 << unit)) {
>  >                         m1 = PCIM_CMD_MEMEN;
>  >                         m2 = PCIM_CMD_PORTEN;
>  >                 }
>  >         }
>  >         bitmap = 0;
>  >         if (getenv_int("isp_io_map", &bitmap)) {
>  >                 if (bitmap & (1 << unit)) {
>  >                         m1 = PCIM_CMD_PORTEN;
>  >                         m2 = PCIM_CMD_MEMEN;
>  >                 }
>  >         }
>  > 
>  > stuff in isp_pci since newbus came in. Somebody should add the same to if_fxp
>  > (or some more general selector solution) and make this an alpha HARDWARE.TXT
>  > entry ("On AXPpci33/Multia, fxp needs to be set for mem_only mapping").
> 
> That's what I was planning to do..

NetBSD has a "per bus" I/O  or Mem enable/disble mechanism. I used to think
that this would be nice, but it's really a per device thing to have- and some
busses it would be all devices disabled for mem or i/o (heh!). 

It'd be nice to have a more general mechanism about this. I don't want us to
go further down the linux road (each driver makes it's own choices- in
compiled binary), but I don't want us to be like Solaris (which is completely
unpredictable as to which space you'll get when you map registers). This
really should be discussed on -arch since this is also a problem on i386 too.

-matt




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.10007280720480.60544-100000>