Subject: PCI device driver for sparc, sparc64, and i386
To: None <tech-kern@netbsd.org>
From: Steven Grunza <steven_grunza@ieee.org>
List: tech-kern
Date: 02/06/2001 09:01:36
I'm not sure if this is the correct list for this question but:

I plan on writing a device driver for a PCI card.  I would like the same
source to work on sparc, sparc64, and i386.  Are there any issues betwen
the 32-bit sparc and i386 and the 64-bit sparc64 of which I should be
aware?  I'm expecting to be calling hton and ntoh to deal with the endian
problems...

I've done pseudo-drivers for NetBSD before but this is the first "real"
driver I've attempted.  I'll probably need a header file for things private
to the driver and one for things public to the users of the driver.  Where
should these two files go and is there a standard naming convention for
them?  I seem to recall X11 using a capital P at the end of the Public
header....

If I don't hear otherwise, I'll probably try:

/usr/include/jaguar.h	for the public file (the board is called a jaguar)
/usr/include/sys/jag.h	for the driver's private file

Thanks in advance....


PS
  If someone could provide a rough framework for calls necessary to set up
bus master dma's for a PCI card, that would really be appreciated.
Specifically, how to allocate memory for the PCI card and get it locked
(prevent it from being paged out).  I realize the details of informing the
card of the location of this memory (or chunks of memory for
scatter-gather) are my own problem...


----------------------------------------------------------------------
"Luke, you're going to find that many | Steven Grunza
of the truths we cling to depend      | voice:  (856) 787 - 2759 
greatly on our own point of view."    | fax:    (856) 866 - 2033
 - Obi Wan Kenobi, Return of the Jedi | e-mail: steven_grunza@ieee.org
----------------------------------------------------------------------