Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Aug 1995 10:23:38 -0500
From:      "Eric L. Hernes" <erich@lodgenet.com>
To:        terry@cs.weber.edu (Terry Lambert)
Cc:        doc@freebsd.org
Subject:   Re: device driver writers guide 
Message-ID:  <199508031523.KAA10229@jake.lodgenet.com>
In-Reply-To: Your message of "Wed, 02 Aug 1995 18:44:53 MDT." <9508030044.AA24117@cs.weber.edu> 

next in thread | previous in thread | raw e-mail | index | archive | help

>
> I would be *very* interested in one of these existing.
> 
> One of the issues in BSD is lack of documentation for internal
> system interfaces.  VM would be a good place to start, as would
> vn_ for kernel level file I/O and bXXX, the block I/O interface.
> 

Yea, but lack of documentation is a problem for all unixes.
Sco, even though you can pay for a device driver class, and
they have man pages for kernel support routines, still
is about 80% of what I would have liked.  (that is still
much better than FreeBSD, though)

I'm much more familiar with the drivers and entry points, and
that type of stuff.  The details VM has always been a big 
mystery for me.

My outline is as follows:

  I. Linking a driver into the kernel

     A. Standard Device Driver
     B. Loadable Kernel Modules (LKM's) 

 II. FreeBSD Entry Points

     A. Required Data Structures
        1. isa_device
        2. isa_driver
        3. ...

     B. Required Entry Points
        1. XXprobe()
        2. XXattach()
        3. XXopen()
        4. XXclose()

     C. Optional Entry Points
 
        1. Device Switch Entry Points

          a. XXread()
          b. XXwrite()
          c. XXioctl()
          d. XXdevtotty()
          e. XXstart()
          f. XXstop()
          g. XXreset()
          h. XXstrategy()

     D. Interrupt type Entry Points

        a. XXintr()
        b. XXpoll()

III. Kernel Support Routines


> 
> 					Terry Lambert
> 					terry@cs.weber.edu
> ---
> Any opinions in this posting are my own and not those of my present
> or previous employers.
> 

eric.

--
erich@lodgenet.com
erich@rrnet.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199508031523.KAA10229>