Re: Pegasos port status
Jochen Kunz <[email protected]> Tue, 18 Jul 2006 01:50:22 +0200
| Newsgroups | gmane.os.netbsd.ports.ofppc,gmane.os.netbsd.ports,gmane.os.netbsd.ports.powerpc |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 17 Jul 2006 21:22:35 +0200 Jorge Acereda Maciá <[email protected]> wrote: > OFW also provides interrupt handling. How? AFAIK OFW provides interrupt mapping information via the properties of device nodes. But there is no generic interrupt interface. (E.g. OFW calls OS back if a device has signaled an interrupt or the like.) That is why port ofppc runs so slow. All OFW device drivers use polling. What I did in my work for port ofppc is a generic bus_space(9) interface for PCI and ISA. Bus mappings are parameterised by the ranges properties. Access to PCI configuration space is done by calls to OFW methods. So in theory this bus_space(9) will work on any generic OFW machine that provides correct device properties and OFW methods. (To my experience the Motorola PowerStack II provides wrong ranges properties and I needed to add a quirk to my code...) That way NetBSD can use the MI PCI drivers including interrupts on a generic OFW machine. The interrupt code is missing at the moment, but autoconf(9) can iterate over the device tree and attach MI PCI / ISA device drivers. -- tschüß, Jochen Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/