|
После 8 месяцев разработки опубликован релиз свободного гипервизора Xen 4.21. В разработке нового выпуска приняли участие такие компании, как Amazon, Arm, EPAM Systems и AMD. Код проекта написан на языке Си и распространяется под лицензией GPLv2+. Разработка ведётся в составе организации Linux Foundation.
Ключевые изменения в Xen 4.21:
- Обеспечена полная поддержка модели устройств Linux stubdomain, позволяющей организовать выполнение компонентов для эмуляции устройств под отдельным непривилегированным пользователем. Модель Linux stubomains разработана проектом QUBES OS и поддерживает использование драйверов эмуляции из свежих выпусков QEMU, а также доступных в QEMU сопутствующих возможностей для гостевых систем.
- Изменения для систем на базе архитектуры x86:
- Добавлена поддержка нового алгоритма сжатия структуры PDX (Page inDeX), позволяющего улучшить работу Xen на процессорах Intel Sierra Forest и Granite Rapids при нелинейном отображении физической памяти (sparse memory map), допускающем наличие пустых областей.
- Добавлена возможность контролировать атрибут кэширования в MTRR (Memory Type Range Registers) для регистра BAR (Base Address Register) базового PCI-устройства платформы Xen, используемого гостевыми системами в режиме HVM. По умолчанию в MTRR для отражённой памяти PCI-устройств выставляется атрибут UC (uncacheable), который имеет смысл для реальных PCI-устройств, но лишь снижает производительность PCI-устройства платформы Xen.
- Для процессоров AMD добавлен новый драйвер amd-cppc/amd-cppc-epp, управляющий изменением частоты CPU для достижения оптимальной производительности. В драйвере задействован механизм CPPC (Collaborative Processor Performance Control), который в отличие от acpi-cpufreq не ограничен тремя уровнями производительности и позволяет более оперативно реагировать на изменение состояния.
- В варианте прослойки xenstore-stubdom, используемой для запуска xenstored без привилегий Dom0, для паравиртуализированных окружений в режиме PVH реализована поддержка live-обновления.
- Для Dom0 в режиме PVH реализована поддержка технологии Resizable BAR (Resizable Base Address Register),
позволяющей сразу обращаться ко всей памяти устройства PCI Express, а не только в привязке к блокам.
- Реализована возможность проброса PCI-устройств в domU-окружения в режиме HVM (полная аппаратная виртуализация) в конфигурациях, в которых dom0 работает в режиме PVH (гибрид аппаратной виртуализации и паравиртуализации).
- Изменения для систем на базе архитектуры ARM:
- Добавлена возможность включения механизма защиты стека (сборка с флагом "-fstack-protector"), основанного на добавлении в стек канареечных меток - случайных последовательностей. В случае переполнения буфера в процессе эксплуатации уязвимости канареечная метка оказывается перезаписана другими данными, что приводит к срабатыванию последующей проверки неизменности метки и инициированию аварийного завершения приложения.
- Добавлена поддержка механизма eSPI (Extended Shared Peripheral Interrupts), предоставляемого контроллерами прерываний GICv3.1.
- Реализована обработка SMMU (System Memory Management Unit) при пробросе устройств PCIe.
- Добавлена поддержка хост контроллеров PCI, применяемых в четвёртом поколении SoC Renesas R-Car.
- Добавлена начальная поддержка процессоров Cortex-R52 и Cortex-R82
с MPU (Memory Protection Unit).
- В порте Xen для архитектуры RISC-V реализована базовая поддержка UART и возможность обработки внешних прерываний (APLIC/IMSIC) в режиме гипервизора.
- Продолжена реализация требований к разработке безопасных и надёжных программ на языке Си, сформулированных в спецификациях MISRA-C для критически важных систем.
- Прекращена поддержка старых версий GCC и Clang, для сборки теперь требуются как минимум версии GCC 5.1, Clang 11, Binutils 2.25 и GNU Make 3.80.
|