Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-doc
Path: blob/main/website/content/ru/status/report-2025-10-2025-12/qemu-vmm-accelerator.adoc
18096 views
=== Поддержка акселератора 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 <[email protected]>

==== Описание

Этот проект направлен на реализацию бэкенда-акселератора 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
//