Help with device driver for ISC 2.2?

Help with device driver for ISC 2.2?

Post by Hibbard T. Smith » Thu, 02 Apr 1992 00:39:25



I have to convert a device driver for use with ISC 2.2.  The driver is
for a board which communicates with an ISA machine via a shared memory
segment.  The segment can be placed at 0xA0000-0xF0000 by strapping.

The sample driver code I was given uses a routine named physmap to map
the board's address range into kernel virtual space.  It also tries to
include <kmem.h>.  A define(?) KM_NO_DMA is used in the call to physmap.
Apparently this tag is defined in kmem.h?

The code in the sample looks like:
        #define START 0xa0000          /* Board's starting address */
        #define END  0xb0000          /* Past board's end address */
        char *mem;
        mem = (addr_t) physmap(START,END - START,KM_NO_DMA);

ISC has no addr_t, physmap or KM_NO_DMA.

Much searching (ISC documentation, and the ATT device driver reference
and guide) has yielded no help with how to talk to a memory mapped device.
Dis-assembly in the ISC kernel led me to a routine called mapphys.  
However, I can't find anything on it's use.  Is this the equivalent of
physmap (which needs three arguments)?

All I really need is help with how to map the board's addresses to kernel
addresses which can be used as arguments to copyin and copyout.

I would *really* appreciate any help with this.  Please answer via e-mail.

Thanks in advance for any help....

--
                Smitty
-------------------------------------------

ESSNJAY Systems Inc.                uunet!hsi!essnj1!smitty

 
 
 

1. Help with simple Device Driver for ISC

Hello netters,

I have been given the task of writing a device driver for a digital i/o
board to be used under ISC 2.2 . I have no device driver writing experience
which is why I am posting this request. I am looking for :

        1. good advice (always welcome)

        2. possibly some code segments of examples of similar drivers

        3. or even a sample driver of a similar device.

I realize as devices go that this is relativley simple but my lack of
experience with drivers makes me uncomfortable just 'diving in'.
I have looked through the ISC Integrated Software Development Guide but would
feel more comfortable after seeing some examples.  The device is a RTI-817
card made by Analog Devices and is a 24-bit channel which can be divided into
(3) 8 bit ports. Each port can be either input or output (hardware selectable).
One port supports an interrupt when the inputs on it have changed. I would like
to have read capabilities for one port and write for the other 2. Any
experience/advice which anyone would like to share will be much appreciated.
The card occupies an 8-bit bus slot also.

Thanks,
Jeff Hanson


2. pppd help

3. ISC SysV/386 r3.2.2 help

4. system hangs

5. Sol 2.2 device driver

6. Redhat 5 telnet as root user

7. Looking for device driver references for Linux 2.2 kernel.

8. Determining whether filesystem has large file support

9. Kernel 2.2 and device driver/modules

10. Q: Linux Device Drivers book code example in 2.2?

11. Updating device driver from 2.0 -> 2.2... what's changed?

12. Porting device driver from 2.2 to 2.4

13. SCSI device drivers on 2.2 and 2.3