=== Поддержка акселератора VMM для QEMU Ссылки: + link:https://wiki.freebsd.org/SummerOfCode2025Projects/VMMAcceleratorSupportForQEMU[Ссылка на проект] URL: https://wiki.freebsd.org/SummerOfCode2025Projects/VMMAcceleratorSupportForQEMU[] + link:https://github.com/dumrich/freebsd-src[Код (форк FreeBSD)] URL: link:https://github.com/dumrich/freebsd-src[] + link:https://github.com/dumrich/qemu.git[Код (форк QEMU)] URL: https://github.com/dumrich/qemu.git[] Контакт: Abhinav Chavali ==== Описание Этот проект направлен на реализацию бэкенда-акселератора man:vmm[4] для QEMU. Путем организации взаимодействия QEMU с нативной инфраструктурой гипервизора FreeBSD пользователи смогут запускать виртуальные машины с производительностью, близкой к нативной, используя аппаратные расширения виртуализации (VMX/SVM), аналогично тому, как KVM функционирует на Linux. Это сочетает обширную экосистему эмуляции устройств QEMU с производительностью гипервизора ядра FreeBSD. ==== Статус Бэкенд теперь достаточно функционален для загрузки гостевой системы FreeBSD с использованием одного виртуального CPU (vCPU). Базовая инфраструктура для взаимодействия QEMU с `libvmmapi` создана. Критически важно, что контроллеры прерываний (8259 PIC, IOAPIC, LAPIC) теперь успешно используют реализации из `vmm` ядра, а не эмуляцию в пользовательском пространстве. ==== Открытые вопросы и призыв о помощи Хотя основная работа завершена, есть ключевые области, где вклад сообщества был бы очень ценен для того, чтобы объединить эту работу с вышестоящим проектом (upstream): - Поддержка гостевых SMP: В настоящее время гостевая система ограничена 1 vCPU. Мы ищем помощь в отладке существующей обработки циклов/потоков в бэкенде для включения поддержки многопроцессорности. - Вынос устройств (Device Offloading): Таймеры RTC и HPET в настоящее время всё ещё эмулируются в пользовательском пространстве QEMU. Их необходимо переработать для использования внутриядерных версий из `vmm` для лучшей производительности и корректности. - Общая стабильность: Как и для любого бэкенда гипервизора, нам нужна помощь в тестировании граничных случаев и стресс-тестировании с различными типами гостевых ОС. Я хотел бы поблагодарить Google за спонсорство и проект FreeBSD за наставничество и возможность внести свой вклад в систему. Спонсор: Google Summer of Code 2025 // // The FreeBSD Russian Documentation Project // // Original EN revision (09.01.2026): 2ab5232a62519b6e26bf931fe519fe0e21c20141 //