Date: Tue, 22 Jun 2004 21:25:24 +0200 (CEST) From: Michael Kukat <michael@unixiron.org> To: ticso@cicely.de Cc: freebsd-alpha@freebsd.org Subject: Re: SRM not initialising cards behind a bridge Message-ID: <20040622211907.Y3751@calchas.unixiron.org> In-Reply-To: <20040622190028.GB21460@cicely12.cicely.de> References: <20040622200019.M3751@calchas.unixiron.org> <20040622190028.GB21460@cicely12.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, On Tue, 22 Jun 2004, Bernd Walter wrote: > Port ranges are very small compared to memory and hard to distribute > over many bridges, because ranges have to be bridged in a single > continuous block and you can't reallocate ranges later without driver > interaction. Yep, i saw some things in Leenox, but if i look into those source, i never feel very well afterwards :) But this makes me understand some of the problems we get here. > Everything is absolutely correct in the sense of PCI specs. > Even the obscure data in the port range registers are OK because the > bridge is configured to have port range bridging disabled. > The bus space allocation will fail so the driver knows that it's > unuseable and should fall back to memory. Okay, maybe some driver problem then. But not a real problem, as there is this nifty #define to work around this. Not really configurable in kernel cfg files, but at least in the source, which is okay for a home setup. > Maybe you have hardware at those addresses, but in fact it can't be > this NIC, because the bridge hasn't connected the port range to this > bus. > You should get the driver using memory ranges. Okay. After reading the comments of if_sf.c this also sounds good for me, as just 256 bytes can be addressed directly, the rest just via index register. So memory mapped I/O should even perform better. I'll leave in the #undef to drive it memory mapped, and try to track down the access problems, if nobody else had problems with StarFire drivers in FreeBSD/alpha. Seems to be a quite rare configuration, but i want to put this card into the alpha, as it's 64bit, and the other machine needing quadport ethernet (i386) just has 32bit slots. "It just looks better this way" :) > Port range on alpha is just a separate range of memory mapped anyway. Thought so. I think there are not much CPUs besides Intel differentiating between I/O and memory ranges this way. Everything else i know does memory mapped I/O. ...Michael -- http://www.unixiron.org/ Home Powered by: (Net|Open|Free)BSD IRIX NonStop-UX Solaris AIX HP-UX Tru64 MUNIX Ultrix VMS SINIX Dolphin_Unix OpenStep MacOS A/UX
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040622211907.Y3751>
