Выпуск гипервизора Xen 4.20

После 7 месяцев разработки опубликован релиз свободного гипервизора Xen 4.20. В разработке нового выпуска приняли участие такие компании, как Amazon, Arm, EPAM Systems и AMD. Формирование обновлений для ветки Xen 4.20 продлится до сентября 2026 года, а публикация исправлений уязвимостей до марта 2028 года. Код проекта написан на языке Си и распространяется под лицензией GPLv2+. Разработка ведётся в составе организации Linux Foundation.

Ключевые изменения в Xen 4.20:

  • Изменения для систем на базе архитектуры x86:
    • В утилиту “xl” добавлены команды “suspend” и “resume” для перевода виртуальной машины в спящий режим (эквивалент перевода компьютера в режим сна). Для операционной системы в гостевом окружении симуляция спящего режима может быть более естественным процессом, чем остановка выполнения командой “pause”.
    • Добавлена поддержка технологии Intel EPT Paging-Write, позволяющей повысить производительность за счёт снижения числа передачи управления гипервизору из виртуальной машины со сменой контекста (VM-exit) при работе с расширенными таблицами страниц памяти (EPT – Extended Page Table). Оптимизация сводится к выставлению в EPT-записях бита PWA (paging-write access), разрешающего операции записи в память без ресурсоёмкой проверки прав доступа EPT, требующей переключения контекста.
    • Добавлена поддержка процессоров AMD на базе микроархитектуры Zen 5, имеющих аппаратную защиту от уязвимости SRSO (Speculative Return Stack Overflow, кодовое имя Inception) в механизме спекулятивного выполнения инструкций.
    • Добавлена опция командной строки “wallclock” для выбора источника времени. Может принимать значения: auto, xen (Xen shared_info), cmos (CMOS RTC) и efi (метод EFI_GET_TIME из EFI-прошивки).
    • Драйвер контроллера прерываний xAPIC переведён на использование физического режима обработки внешних прерываний (“physical destination”) вместо логического режима (“logical destination”).
    • Прекращена поддержка кластерного режима x2APIC (Cluster Mode) для внешних прерываний. Оставлена поддержка физического (x2APIC Physical) и смешанного (x2APIC Mixed) режимов.
    • Прекращена поддержка опции командной строки “ucode=allow-same”.
    • Прекращена поддержка процессоров Intel Xeon Phi.
  • Изменения для систем на базе архитектуры ARM:
    • Добавлена поддержка “раскраски” кэша последнего уровня (LLC, Last Level Cache) для выделения смежных страниц памяти с целью повышения эффективности кэширования.
    • Добавлена экспериментальная поддержка архитектуры Armv8-R, предлагающей дополнительные расширения для виртуализации.
    • Добавлена поддержка семейства процессоров NXP S32G3. Реализован драйвер для UART-контроллера NXP LINFlexD, используемого в процессорах NXP S32.
    • Добавлен слой для обработки запросов ARM SCMI (System Control and Management Interface) поверх SMC (Secure Monitor Call), что позволяет перенаправлять подобные вызовы обработчику в прошивке, используя разделяемую память.
  • Сокращено число зависимостей у библиотеки xenstore.
  • Продолжена реализация требований к разработке безопасных и надёжных программ на языке Си, сформулированных в спецификациях MISRA-C для критически важных систем.
  • Продолжена работа над пробросом доступа к PCI на системах ARM.
  • В порте Xen для архитектуры RISC-V представлена поддержка настройки управления памятью, а также маппинга и разбора Device Tree.
Release. Ссылка here.