Re: NetBSD/ofppc boots multiuser on Pegasos
Jochen Kunz <[email protected]> Fri, 28 Jul 2006 17:00:56 +0200
| Newsgroups | gmane.os.netbsd.ports.ofppc,gmane.os.netbsd.ports.powerpc,gmane.os.netbsd.ports |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 28 Jul 2006 11:53:22 +0200 "Matt Sealey" <[email protected]> wrote: > Do you care that the "ranges" property is empty? Yes. My code will call panic(9) if there is a PCI-ISA bridge without or with an invalid "ranges" property. The ISA/EISA binding to OFW clearly states on page 11, section 3.1.1 The [ranges] property _shall_ be present for all ISA/EISA bus bridges. There _shall_ be an entry in the "ranges" property for each of the Memory and/or I/O spaces if that address space is mapped through the bridge. I am no native englich speaker, but this sounds to me like: "It is broken, if it is not there." > The Linux guys seem to think it is really important (even though they > never needed it before :) As most PCI to ISA bridges do mostly the same mapping we can guess what the ISA ranges are, add a quirk to the bus_space(9) code and get away with it. The Linux guys seem to do this already. Anyway: Thanks for your immediate reply. This is certainly informative and helpfull. :-) BTW: My code relies on the "config-l@" and "config-l!" methods of the PCI device node for PCI configuration space access. I.e. these methods are called from the kernel during (multi user) runtime. If the Pegasos firmware doesn't suport them it needs an other quirk... -- tschüß, Jochen Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/