มีการนำเสนอการเปิดตัวโครงการ QEMU 11.0.0 แล้ว ในฐานะอีมูเลเตอร์ QEMU ช่วยให้คุณสามารถรันโปรแกรมที่คอมไพล์สำหรับแพลตฟอร์มฮาร์ดแวร์เดียวบนระบบที่มีสถาปัตยกรรมที่แตกต่างไปจากเดิมอย่างสิ้นเชิง เช่น รันแอปพลิเคชัน ARM บนพีซีที่รองรับ x86 ในโหมดการจำลองเสมือนใน QEMU ประสิทธิภาพของการเรียกใช้โค้ดในสภาพแวดล้อมแบบแยกจะใกล้เคียงกับระบบฮาร์ดแวร์เนื่องจากการสั่งการโดยตรงบน CPU และการใช้ Xen hypervisor หรือโมดูล KVM ใน Linux หรือโมดูล NVMM ใน เน็ตบีเอสดี.
เดิมทีโปรเจ็กต์นี้สร้างขึ้นโดย Fabrice Bellard เพื่อให้โปรแกรมปฏิบัติการ Linux ที่สร้างขึ้นสำหรับแพลตฟอร์ม x86 ทำงานบนสถาปัตยกรรมที่ไม่ใช่ 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
