UnixWorld Online has a tutorial about kernel driver programming
with lots of code examples:
http://www.networkcomputing.com/unixworld/tutorial/010/010.txt.html
This is a site with links to tutorials on how to write several different
kinds
of device drivers; SCSI, Ethernet, Block, Character, etc. From what
I have
seen, the different sections do go into specifics.
http://www.linuxdoc.org/LDP/khg/HyperNews/get/devices/devices.html
For those in the class who haven't done much, or any, assembly-level
programming, I found a site that details some of the basics of how
it is
done on x86 Linux systems. We will most likely need this information
to get some of our drivers to work properly.
http://www-106.ibm.com/developerworks/linux/library/l-ia.html
(I know that I'll be digging into this one, as the only other compiler
that
I've done inline Asm in is Borland's C compiler, and for DOS at that.)
Searching google, I found the following web address:
http://lxr.linux.no/ident?i=sleep_on
Apperantly this site contains a whole bunch of linux source code in
HTML format which is searchable and has about a billion clickable links
for every function. I thought this
might be worthy of pointing out to the class.
VGA Graphics card programming http://www.brackeen.com/home/vga/basics.html
A PC Memory Map can be found at http://www.pcguide.com/ref/ram/umaMap-c.html