Reto Achermann
Assistant Professor
Systopia Lab
Department of Computer Science
University of British Columbia
Towards Correct-by-Construction Interrupt Routing on Real Hardware
Authors
Lukas Humbel, Reto Achermann, David Cock and Timothy Roscoe
Venue
Proceedings of the 9th Workshop on Programming Languages and Operating Systems (PLOS'17)
Links
Abstract
In this paper we address the problem of correctly configuring interrupts. The interrupt subsystem of a computer is increasingly complex: a zoo of different controllers with varying constraints and capabilities form a network with limited connectivity. An OS which aspires to provable correctness must manage a limited set of interrupt vectors, delegate interrupts to device drivers and configure the controllers correctly. No well-specified approach exists.
As a foundation for applying language-level techniques like program sketching and synthesis to this problem, we present a formal model for interrupt routing which can capture all the system topologies and interrupt controllers we have encountered in the wild, show applications of such a model not possible with informal, ad-hoc approaches like DeviceTrees, and finally discuss an implementation based on the model which forms the new interrupt subsystem of the Barrelfish OS.
Bibtex
@inproceedings{Humbel:2017:TCI, author = {Humbel, Lukas and Achermann, Reto and Cock, David and Roscoe, Timothy}, booktitle = {Proceedings of the 9th Workshop on Programming Languages and Operating Systems}, doi = {10.1145/3144555.3144557}, id = {Humbel:2017:TCI}, isbn = {978-1-4503-5153-9}, location = {Shanghai, China}, pages = {8--14}, publisher = {Association for Computing Machinery}, series = {PLOS'17}, title = {Towards Correct-by-Construction Interrupt Routing on Real Hardware}, url = {https://doi.org/10.1145/3144555.3144557}, year = {2017} }