[haiku-development] Re: FW: (Belated) answers to your questions...

On Nov 6, 2007 12:32 AM, Humdinger <humdingerb@xxxxxxxxxxxxxx> wrote:
> 2007/11/6, Thom Holwerda slakje@xxxxxxxxxxx:
>
> > Back when QNX contacted me (under embargo) about opening up the QNX source
> > code, I was very curious about the possibilities this would mean for Haiku
> -
> > mostly on the driver front.
> --snip--
>
> That's nice... potentionally. :)
> Has anyone had a look at QNX drivers? If not, why not? I'm just curious...
> While sniffing around the QNX site, I found this "Master Chart for BSD
> Licenses":
> http://www.qnx.com/legal/licensing/dev_license/eula/tposltg1_04.html ,
> listing various parts and license. Not some hidden treasure really. Maybe
> it's useful for someone.
>
> Humdinger

I have worked with QNX for the last several years of grad school,
particularly in the area of drivers.  QNX doesn't have a wide array of
drivers available for desktop systems (not compared to Linux/BSD, at
least), but it does have drivers for many embedded devices that
traditional operating systems don't support.  Due to the common UNIX
heritage, many QNX drivers are simple ports of Linux drivers.
However, since QNX is a real-time OS and is designed to run well on
embedded devices with limited resources, many of the QNX drivers are
highly optimized for memory usage and for speed (although sometimes at
the expense of features).

However, if there is a QNX driver available for a device not (yet)
supported by Haiku, we can port it to Haiku much more easily than a
driver from just about any other OS (IMHO).  QNX drivers (or "resource
managers" as they call them) run as user space programs, not in the
protected kernel space.  This makes developing and debugging drivers
much easier, since a rogue driver can be killed and restarted like a
normal program.  Also, QNX drivers tend to be much easier to read
through and understand since they have little OS-related overhead and
use most of the same standard POSIX features/functions as Linux.

If there are any Haiku driver needs that can be filled with a driver
from QNX, I would be happy to help port over the code.  My experience
with BeOS/Haiku drivers is rather limited, but if my QNX driver
experience is useful to anyone trying to port over a driver, drop me a
line and I will be more than happy to help.

-Ben

Other related posts: