29 сентября 2020 года разработчики проекта Xen рассказали, что в новую версию гипервизора (Xen 4.14) добавлена поддержка Raspberry Pi 4.

Это стало возможным после появления в составе Raspberry Pi 4 контроллера прерываний GIC-400, который поддерживается Xen.

Разработчикам Xen пришлось обойти несколько ограничений в архитектуре микрокомпьютера, добавив необходимые патчи в Xen 4.14. Они решили проблему ограничения доступа только к адресному пространству первого гигабайта памяти, чего было недостаточно для Dom0.

Также в коде Xen 4.14 была добавлена новая функция для преобразования виртуальных адресов в физические вдобавок к существующей в подсистеме Xen в Linux функции virt_to_phys. Оказалось, что ядро ​​Linux для Raspberry Pi 4 иногда передает виртуальные адреса, которые нельзя преобразовать в физические адреса с помощью virt_to_phys, и это может привести к серьезным ошибкам.

Третья проблема, которую решили разработчики Xen — в Raspberry Pi 4 адреса DMA и физические адреса отличаются. Патчи для ее решения находятся в стадии разработки и будут доступны в составе ядра Linux 5.9, тогда Xen будет полноценно работать с Raspberry Pi 4 из коробки.

Проект «Build Xen for Raspberry Pi 4» доступен на GitHub.

См. также: