Linux Device Drivers Examples

Purpose

The examples below show some code and explanations to solve various problems with Linux device drivers that I run into while writing drivers for our development projects.

Mapping Memory to user space

This example shows how to map vmalloc() allocated memory from a device driver to user space.
It contains a function virt_to_kseg() that calculates the address in the 1:1 virtual to physical mapping kernel virtual memory view out of a general kernel virtual memory address. This function can also be useful e.g. to do DMA into such an address.

Starting and Stopping Kernel Threads

This example shows how to start and stop kernel threads in a loadable module.

Examples

Get the examples here: examples.tar.gz

Other Patches

Tru64 Server for NFS Root

These patches allow Linux to use a NFS share from a Tru64 server as root file system. They take care about different RPC authentication and different major/minor number encoding.
frey@scs.ch