Test environment for verification of multi-processor interrupt system with virtualization support
https://doi.org/10.15514/ISPRAS-2020-32(2)-5
Abstract
Interrupt system is an important part of microprocessors. Interrupts are widely used for interaction with hardware and responding to stimuli. Modern microprocessor interrupt systems include hardware support of virtualization. Hardware support helps to increase the performance of virtual machines. However, including additional functionality may lead to potential errors. The paper presents an overview of approaches used for multi-core microprocessors interrupt system with virtualization support verification. Some definitions and characteristics of interrupt systems that needed to be taken into account in the process of verification are described. Stand-alone verification environment general scheme is presented. Universal Verification Methodology was applied to construct test system. To simplify development of checking module discrete-event with time accounting reference model was used. Sequences of primary requests and automatically generated secondary requests in the special modules named auto-handlers were used for test system behavior randomization. We describe some difficulties discovered in the verification process and corresponding solving methods. Generalized test algorithm stages are presented. Some other techniques for checking the correctness of interrupt system have been reviewed. In conclusion, we provide the case study of applying the suggested approaches for interrupt system verification of microprocessors with “Elbrus” and “SPARC-V9” architectures developed by MCST. The results and further plan of the test system development are presented.
About the Authors
Dmitry Alexeyevich LEBEDEVRussian Federation
Hardware verification engineer
Vitaliy Nikolaevich KUTSEVOL
Russian Federation
Senior Software Engineer
References
1. Makoto Higashi, Tetsuo Yamamoto, Yasuhiro Hayase, Takashi Ishio, and Katsuro Inoue. An effective method to control interrupt handler for data race detection. In Proce. of the 5th Workshop on Automation of Software Test, 2010, pp. 79–86.
2. ARM Generic Interrupt Controller Architecture Specification version 4.0, 2107, available at: https://static.docs.arm.com/ihi0069/c/IHI0069C_gic_architecture_specification.pdf, accessed 25.05.2020.
3. Intel Virtualization Technology for Directed I/O, Architecture Specification. Intel, 2019, available at: https://software.intel.com/sites/default/files/managed/c5/15/vt-directed-io-spec.pdf, accessed 25.05.2020.
4. Znamenskiy D.V. Alternatives of hardware virtualization support inplementation for Elbrus processor architecture. Voprosy radioelektroniki, 2014, vol. 4, no. 3, pp. 64–73 (In Russian) / Знаменский Д.В. Выбор вариантов реализации средств аппаратной поддержки виртуализации архитектуры «Эльбрус». Вопросы радиоэлектроники, том 4, no. 3, стр. 64–73.
5. Hennessy J.L., Patterson D.A. Computer Architecture: A Quantitative Approach. Fifth Edition. Morgan Kaufmann, 2012. 857 p.
6. Chungha Sung, Markus Kusano, Chao Wang. Modular Verification of Interrupt-Driven Software. In Proc. of the 32nd IEEE/ACM International Conference on Automated Software Engineering, 2017, pp. 206–216.
7. Lebedev D.A., Petrochenkov M.V. Test environment for verification of multi-processor memory subsystem unit. Trudy ISP RAN/Proc. ISP RAS, vol. 31, issue 3, 2019. pp. 67-76. DOI: 10.15514/ISPRAS-2019-31(3)-6.
8. John Regehr. Random testing of interrupt-driven software. In Proc. Of the International Conference on Embedded Software, 2005, pp. 290–298.
9. Standard Universal Verification Methodology, available at: http://accellera.org/downloads/standards/uvm, accessed 25.05.2020.
10. Kamkin A., Chupilko M. A TLM-based approach to functional verification of hardware components at different abstraction levels. Proc. of the 12th Latin-American Test Workshop (LATW), 2011, pp. 1-6.
11. Petrochenkov M., Stotland I., Mushtakov R. Approaches to Stand-alone Verification of Multicore Multiprocessor Cores. Trudy ISP RAN/Proc.ISP RAS, vol. 28, issue 3, 2016, pp. 161-172. DOI: 10.15514/ISPRAS-2016-28(3)-10.
12. Averill M. Law, W. David Kelton. Simulation Modelling and Analysis. 3rd edition. McGraw-Hill Education, 2000, 784 p.
13. TLM-2.0.1. TLM Transaction-Level Modeling Library, available at: http://www.accellera.org/downloads/standards/systemc, accessed 25.05.2020.
14. -2017 - IEEE Standard for SystemVerilog--Unified Hardware Design, Specification, and Verification Language, available at: https://standards.ieee.org/standard/1800-2017.html, accessed 25.05.2020.
Review
For citations:
LEBEDEV D.A., KUTSEVOL V.N. Test environment for verification of multi-processor interrupt system with virtualization support. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2020;32(2):53-60. https://doi.org/10.15514/ISPRAS-2020-32(2)-5