Linux Device Driver Emulation in Mach

Shantanu Goel
Computer Science Department
Columbia University, and University of Utah
goel@cs.utah.edu

Dan Duchamp
Computer Science Department
Columbia University
djd@cs.columbia.edu

January 1996

Abstract

We describe the design and performance of code added to the Mach microkernel (Mach 4.0, version UK02p21) that permits one to build a Mach kernel which includes unmodified Linux device drivers. We have written emulation code to support all Linux 1.3.35 network and SCSI drivers for the ISA and PCI I/O buses. Emulation increases latency, but very little. The degree depends on both device and operation, and varies from 2 microseconds for receiving small (60 byte) network packets up to 197 microseconds for writing 16KB to an ISA SCSI device.

Full paper appeared in Proceedings of the USENIX 1996 Annual Technical Conference, January 1996.