QEMU 11.0.0 模擬器發布

QEMU 11.0.0計畫的發布已經發布。作為一個模擬器,QEMU 允許您在具有完全不同架構的系統上運行為一個硬體平台編譯的程序,例如,在兼容 x86 的 PC 上運行 ARM 應用程式。 QEMU 中的虛擬化模式,由於在 CPU 上直接執行指令,並且使用 Xen hypervisor 或 Linux 中的 KVM 模組,或 Linux 中的 NVMM 模組,因此在隔離環境中程式碼執行的效能接近硬體系統。

該項目最初由 Fabrice Bellard 創建,旨在允許為 x86 平台構建的 Linux 可執行文件在非 x86 架構上運行。 經過多年的發展,已經為 14 種硬件架構增加了完整的仿真支持,仿真的硬件設備數量超過 400 個。在準備 11.0.0 版本的過程中,2500 位開發人員進行了 237 多處更改。

QEMU 11.0 添加的主要改進:

  • Удалена поддержка 32-разрядных хост-систем, которая была объявлена устаревшей в апреле прошлого года в QEMU 10.0. В декабрьском выпуске 10.2 в генераторе кода TCG (Tiny Code Generator) была прекращена поддержка платформ mips32 и ppc32, а в выпуске QEMU 11.0 удалены оставшиеся платформы i386, arm, ppc и riscv32, а также проведена чистка кодовой базы и сборочной системы от компонентов для работы на 32-разрядных хостах.
  • Реализован ускоритель виртуализации «nitro» («-accel nitor») и новый тип эмулируемых систем «nitro», позволяющий запускать в QEMU изолированные анклавы на базе технологии конфиденциальных вычислений AWS Nitro Enclave, например, для локального тестирования в QEMU окружений Nitro Enclave. В AWS EC2 технология Nitro Enclave позволяет запускать в виртуальной машине вложенные изолированные анклавы для работы с конфиденциальными данными, выделяя им часть своих ресурсов.
  • Улучшена поддержка ускорителей виртуализации MSHV (Microsoft Hypervisor) и WHPX (Microsoft Windows Hypervisor Platform Extensions).
  • При использовании гипервизора KVM («-accel kvm») предоставлена поддержка виртуализации расширения Intel CET (Control-flow Enforcement Technology) для применения в 虛擬機 защиты от эксплоитов, использующих методы возвратно-ориентированного программирования (ROP — Return-Oriented Programming). Также добавлена поддержка перезагрузки конфиденциальных 虛擬機, использующих для шифрования памяти расширения AMD SEV-SNP (Secure Encrypted Virtualization — Secure Nested Paging) и Intel TDX (Trust Domain Extensions).
  • В устройство VirtIO-GPU, обеспечивающее работу виртуального GPU, добавлена возможность выставления отличающихся разрешений экрана для разных устройств вывода.
  • В VirtIO-GPU добавлена поддержка контекстов DRM (Direct Rendering Manager native context), позволяющих повысить производительность работы с виртуальным GPU из гостевой системы за счёт прямой передачи команд в реальный хостовый GPU. Поддержка контекстов DRM включается при использовании нового устройства virtio-gpu-gl с опцией «drm_native_context=on». В отличие от контекстов Virgl и Venus, работающих на уровне API OpenGL и Vulkan, контекст DRM реализован на уровне UAPI ядра Linux.
  • Добавлена возможность использования языка C++ для разработки плагинов к генератору кода TCG (Tiny Code Generator).
  • В блочный драйвер NFS добавлена поддержка сборки с библиотекой libnfs 6.
  • В блочный драйвер curl добавлена опция «force-range» для принудительного использования HTTP-заголовка «Range» при загрузке изображений без предварительной проверки его поддержки отдельным запросом с заголовком HEAD.
  • В блочном драйвере FUSE отключена обработка операций экспорта в синхронном режиме, приводивших к блокировке запуска виртуальной машины до окончания обработки других FUSE-запросов. Добавлена возможность использования нескольких потоков ввода/вывода (iothread) при выполнении экспорта в FUSE.
  • В эмулятор архитектуры x86 добавлена поддержка CPU Intel Diamond Rapids («Xeon 7»).
  • В эмулятор архитектуры ARM добавлена процессорных расширений FEAT_ASID2 и FEAT_E2H0. В генераторе кода TCG реализована эмуляция расширений SME (Scalable Matrix Extension).
  • В эмулятор архитектуры HPPA добавлена поддержка эмуляции 64-разрядных CPU c 40- и 44-разрядным адресным пространством. При помощи SeaBIOS-hppa 24 обеспечена инициализация PCI-контроллера Astro, позволяющая использовать PCI-видеокарты на 64-рядных системах.
  • В эмуляторе архитектуры LoongArch появилась возможность миграции PMU (Performance Monitoring Unit) при использовании гипервизора KVM. В генераторе кода TCG реализована эмуляция расширений LA v1.1, sc.q и llacq/screl, а также инструкций FRECIP и DRECIP для вычисления обратных значений.
  • В эмулятор архитектуры PowerPC добавлена поддержка снапршотов.
  • В эмуляторе архитектуры RISC-V реализована поддержка CPU MIPS P8700 и расширений набора команд Zilsd, Zclsd, ZALASR и Smpmpmt.
  • В эмуляторе архитектуры s390 появилась поддержка загрузки с устройств virtio-blk-pci и реализована эмуляции инструкции «DIVIDE TO INTEGER».
  • Принято исправление, в 50-80 раз сокращающее задержки при работе fdmon (file descriptor monitoring) в режиме «aio=io_uring» и нахождении системы в состоянии простоя (idle).

    來源: opennet.ru

添加評論