Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

Devil: An IDL for Hardware Programming

To keep up with the frantic pace at which devices come out, drivers need to be quickly developed, debugged and tested. Although a driver is a critical system component, the driver development process has made little (if any) progress. The situation is particularly disastrous when considering the hardware operating code (i.e., the layer interacting with the device). Writing this code often relies on inaccurate or incomplete device documentation and involves assembly-level operations. As a result, hardware operating code is tedious to write, prone to errors, and hard to debug and maintain. This paper presents a new approach to developing hardware operating code based on an Interface Definition Language (IDL) for hardware functionalities, named Devil. This IDL allows a high-level definition of the communication with a device. A compiler automatically checks the consistency of a Devil definition and generates efficient low-level code. Because the Devil compiler checks safety critical properties, the long-awaited notion of robustness for hardware operating code is made possible. Finally, the wide variety of devices that we have already specified (mouse, sound, DMA, interrupt, Ethernet, video, and IDE disk controllers) demonstrates the expressiveness of the Devil language.

Fabrice Mérillon, IRISA/INRIA, Campus de Beaulieu

Laurent Réveillère, IRISA/INRIA, Campus de Beaulieu

Charles Consel, IRISA/INRIA, Campus de Beaulieu

Renaud Marlet, IRISA/INRIA, Campus de Beaulieu

Gilles Muller, IRISA/INRIA, Campus de Beaulieu

BibTeX
@inproceedings {271176,
author = {Fabrice M{\'e}rillon and Laurent R{\'e}veill{\`e}re and Charles Consel and Renaud Marlet and Gilles Muller},
title = {Devil: An {IDL} for Hardware Programming},
booktitle = {Fourth Symposium on Operating Systems Design and Implementation (OSDI 2000)},
year = {2000},
address = {San Diego, CA },
url = {https://www.usenix.org/conference/osdi-2000/devil-idl-hardware-programming},
publisher = {USENIX Association},
month = oct
}
Download

Links

Paper: 
http://www.usenix.org/events/osdi2000/full_papers/merillon/merillon.pdf
Paper (HTML): 
http://www.usenix.org/events/osdi2000/full_papers/merillon/merillon_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us