Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

Автоматизация разработки моделей устройств и вычислительных машин для QEMU

https://doi.org/10.15514/ISPRAS-2017-29(6)-4

Abstract

Разработка виртуальных устройств и машин для QEMU - трудоёмкий процесс. С целью поддержки разработчика, в данной работе был проведён анализ архитектуры QEMU и процесса разработки моделей отдельных устройств и виртуальных машин для QEMU. Предлагается подход к разработке, в рамках которого начальный этап ощутимо автоматизируется, благодаря применению декларативного описания устройств и машин, а также средств графического представления разрабатываемых устройств и машин. Подход реализован в интегрированном инструменте, позволяющем разработчику QEMU получить компилируемый набор файлов с исходным Си-кодом. Разработчик задаёт параметры генерации устройств и описывает состав машины на языке Python или в графическом редакторе, обеспечивающем визуализацию текстового описания. Результатом применения инструмента при построении машины становится фактически готовый Си-код, требующий только уточнить конфигурацию процессора и обработать параметры командной строки. В случае периферийного устройства от разработчика потребуется реализовать поведенческий аспект. Проведённые эксперименты с платформами Q35 и Cisco 2621XM показали, что количество строк в описании устройства в 11-26 раз меньше числа строк получаемой заготовки на языке Си. Такая разница в объёме достигнута за счёт генерации формального кода, реализующего служебные интерфейсы QEMU. Такой код составляет ощутимую долю кода устройства, в то время как может быть сгенерирован по сравнительно небольшому описанию. Суммарный объём сгенерированного кода заготовок составил от ¼ до ¾. Исходный код разработанного инструмента доступен по адресу https://github.com/ispras/qdt.

About the Authors

V. Yu. Efimov
Ivannikov Institute for System Programming of the RAS
Russian Federation


A. A. Bezzubikov
Ivannikov Institute for System Programming of the RAS
Russian Federation


D. A. Bogomolov
Ivannikov Institute for System Programming of the RAS
Russian Federation


O. V. Goremykin
Ivannikov Institute for System Programming of the RAS
Russian Federation


V. A. Padaryan
Ivannikov Institute for System Programming of the RAS; Lomonosov Moscow State University (MSU)
Russian Federation


References

1. Dovgalyuk P.M., Makarov V.A., Padaryan V.A., Romaneev M.S., Fursova N.I. Application of software emulators for the binary code analysis. Trudy ISP RAN / Proc. ISP RAS, vol. 26, issue 1, pp. 277-296 (In Russian). DOI: 10.15514/ISPRAS-2014-26(1)-9

2. F. Bellard QEMU, a Fast and Portable Dynamic Translator. USENIX Annual Technical Conference, FREENIX Track. USENIX, 2007. P. 41-465 p.

3. J. Bennett. Howto: GDB Remote Serial Protocol. Writing a RSP Server. Application Note 4. Issue 2, Embecosm, Available at: http://www.embecosm.com/appnotes/ean4/embecosm-howto-rsp-server-ean4-issue-2.pdf, November 2008.

4. Python programing language site. Available at: https://www.python.org/, accessed: 06.07.2017.

5. AMD SimNow Simulator site. Available at: http://developer.amd.com/simnow-simulator/, accessed: 12.10.2017.

6. D. Aarno, J. Engblom. Software and System Development using Virtual Platforms. Full-System Simulation with Wind River Simics. Elsevier Inc. 15.09.2014. 366c.

7. N. Binkert, B. Beckmann, G. Black, S.K. Reinhardt, A. Saidi, A. Basu, J. Hestness, D.R. Hower, T. Krishna, S. Sardashti, R. Sen, K. Sewell, M. Shoaib, N. Vaish, M.D. Hill, and D.A. Wood. The gem5 simulator. SIGARCH Comput. Archit. News 39, 2, August 2011, 1-7pp.

8. Open Virtual Platforms documentation web page. Available at: http://www.ovpworld.org/documentation/, accessed: 17.11.2017.

9. PyCParser library page at GitHub. Available at: https://github.com/eliben/pycparser, retrieved: 20.03.2017.

10. Git SCM. Available at: https://git-scm.com/about, retrieved: 09.03.2017.

11. Tkinter GUI library site. Available at: https://wiki.python.org/moin/TkInter, accessed: 2017.03.13.

12. V. Yu. Efimov, K. A. Batuzov, V. A. Padaryan, A. I. Avetisyan. Features of the deterministic replay in the case of a minimum device set. Programming and Computer Software, April 2016, Volume 42, Issue 3, pp. 174-186. DOI: 10.1134/S0361768816030038

13. Dynamips Manual. Available at: http://www.iteasypass.com/Dynamips.htm, accessed: 30.06.2017.

14. GNS3 network simulator site. Available at: https://gns3.com, 30.06.2017.

15. MPC860 chip series user manual. Available at: http://www.nxp.com/docs/en/reference-manual/MPC860UM.pdf, accessed: 30.06.2017.


Review

For citations:


Efimov V.Yu., Bezzubikov A.A., Bogomolov D.A., Goremykin O.V., Padaryan V.A. . Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2017;29(6):77-104. (In Russ.) https://doi.org/10.15514/ISPRAS-2017-29(6)-4



Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)