Trustworthy Systems

The seL4 device driver framework

Authors

Lucy Parker

    School of Computer Science and Engineering
    UNSW,
    Sydney 2052, Australia

Abstract

Here we present a framework for high-performance I/O on seL4 that enables formal reasoning, eventual verification and demonstrates performance competitive with Linux in a networking focused system. Unlike monolithic kernels, the seL4 microkernel prescribes device drivers to run as user level programs. This has the advantage that a driver’s special privileges are reduced to just the ability to access the control registers of the device it drives, thus significantly reducing the system’s trusted computing base. However, the extra context switches involved in such a system can degrade performance. The seL4 Device Driver Framework (sDDF) aims to provide interfaces and protocols for writing and porting device drivers to run as seL4 user-level programs. It assumes a simple and general device model, and presents an asynchronous transport layer as a means of communication to other components in the system. It currently supports network devices to run at near wire speed.

BibTeX Entry

  @misc{Parker_22:sel4s,
    author           = {Lucy Parker},
    location         = {Munich, DE},
    month            = oct,
    note             = {Talk at the 4th {seL4} {Summit}},
    title            = {The {seL4} Device Driver Framework},
    video            = {https://youtu.be/watch?v=INBEKSkAiTA},
    year             = {2022}
  }

Download