Verification of TLB Virtualization Implemented in C
Efficient TLB virtualization is a core component of modern hypervisors. Verifying such code is challenging; the code races with TLB virtualization code in other processors, with other guest threads, and with the hardware TLBs, and implements an abstract TLB that races with other abstract TLBs and gu...
Saved in:
Published in | Verified Software: Theories, Tools, Experiments Vol. 7152; pp. 209 - 224 |
---|---|
Main Authors | , , , |
Format | Book Chapter |
Language | English |
Published |
Germany
Springer Berlin / Heidelberg
2012
Springer Berlin Heidelberg |
Series | Lecture Notes in Computer Science |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | Efficient TLB virtualization is a core component of modern hypervisors. Verifying such code is challenging; the code races with TLB virtualization code in other processors, with other guest threads, and with the hardware TLBs, and implements an abstract TLB that races with other abstract TLBs and guest threads. We give a general methodology for verifying virtual device implementations, and demonstrate the verification of TLB virtualization code (using shadow page tables) in the concurrent C verifier VCC. To our knowledge, this is the first verification of any kind against a realistic model of a modern hardware MMU. |
---|---|
Bibliography: | Work partially funded by the German Federal Ministry of Education and Research (BMBF) in the Verisoft XT project under grant 01 IS 07 008. |
ISBN: | 9783642277047 3642277047 |
ISSN: | 0302-9743 1611-3349 |
DOI: | 10.1007/978-3-642-27705-4_17 |