Device Driver Development Resources

From Genunix

Search:

Sun training

Sun offers courses in Solaris OS internals, crash dump analysis, writing device drivers, DTrace, Sun Studio, and other topics useful to Solaris developers.

Sun documentation

  • Device Driver Tutorial. This tutorial provides hands-on information about how to develop device drivers for the Solaris OS. This book includes step-by-step descriptions of writing, building, installing, loading, and testing real device drivers. These instructions help you understand how drivers control devices. This book also gives an overview of the driver development environment, tools available to you to develop drivers, and techniques for avoiding some driver development problems. An excerpt from the Device Driver Tutorial, including plain text files of the sample drivers, is available on the OpenSolaris Academic and Research community as OpenSolaris Device Driver Template Files.
  • Writing Device Drivers. Writing Device Drivers provides information on developing drivers for character-oriented devices, block-oriented devices, network devices, SCSI target and HBA devices, and USB devices. It discusses how to develop multithreaded reentrant device drivers for all architectures that conform to the Solaris OS DDI/DKI. It takes a common driver development approach to avoid platform-specific issues, such as endianness and data ordering. Additional topics include hardening Solaris drivers; power management; driver autoconfiguration; programmed I/O; Direct Memory Access (DMA); device context management; compilation, installation, and testing drivers; debugging drivers; and porting Solaris drivers to a 64-bit environment.
  • Advanced Interrupt Handlers in the Solaris Express 6/05 OS. The Solaris OS provides a new DDI interrupt framework for registering interrupts and deregistering interrupts. This article describes mechanisms for handling interrupts, such as registering, servicing, and removing interrupts.(March 2006)

Man pages

For detailed reference information about the device driver interfaces, see the section 9 man pages. Section 9E describes DDI/DKI (Device Driver Interface, Driver-Kernel Interface) driver entry points. Section 9F describes DDI/DKI kernel functions. Sections 9P and 9S describe DDI/DKI properties and data structures.

MDB

  • Solaris Modular Debugger Guide. This book describes the Solaris Modular Debugger (MDB), which is a general purpose debugging tool for the Solaris operating system. The primary feature of MDB is its extensibility. This book describes how to use MDB to debug complex software systems, with a particular emphasis on the facilities available for debugging the Solaris kernel and associated device drivers and modules. The book also includes a complete reference for and discussion of the MDB language syntax, debugger features, and MDB Module Programming API.

DTrace

  • Solaris Dynamic Tracing Guide. DTrace is a comprehensive dynamic tracing framework for the Solaris OS. DTrace provides a powerful infrastructure to permit administrators, developers, and service personnel to concisely answer arbitrary questions about the behavior of the operating system and user programs. The Solaris Dynamic Tracing Guide describes how to use DTrace to observe, debug, and tune system behavior. This book also includes a complete reference for bundled DTrace observability tools and the D programming language.

OpenSolaris Communities

OpenSolaris Projects

OpenSolaris articles

Books

  • Solaris Internals; Jim Mauro, Richard McDougall; Prentice Hall; 2 edition; June 16, 2006; ISBN: 978-0131482098
  • Solaris Performance and Tools: DTrace and MDB Techniques for Solaris 10 and OpenSolaris; Richard McDougall, Jim Mauro, Brendan Gregg; Prentice Hall; 1 edition; July 20, 2006; ISBN: 978-0131568198
  • Solaris Systems Programming; Rich Teer; Prentice Hall; August 19, 2004; ISBN: 0201750392
  • Solaris 10 : The Complete Reference; Paul Watters; McGraw-Hill Osborne Media; 1 edition; January 19, 2005; ISBN: 0072229985

Hardware User Resources