Utgivelse av QEMU 5.1-emulatoren

Introdusert prosjektutgivelse QEMU 5.1. Som emulator lar QEMU deg kjøre et program kompilert for én maskinvareplattform på et system med en helt annen arkitektur, for eksempel kjøre en ARM-applikasjon på en x86-kompatibel PC. I virtualiseringsmodus i QEMU er ytelsen til kodekjøring i et isolert miljø nær det opprinnelige systemet på grunn av direkte utførelse av instruksjoner på CPU og bruk av Xen hypervisor eller KVM-modul.

Prosjektet ble opprinnelig opprettet av Fabrice Bellard for å la Linux-kjørbare filer bygget for x86-plattformen kjøre på ikke-x86-arkitekturer. I løpet av årene med utvikling har full emuleringsstøtte blitt lagt til for 14 maskinvarearkitekturer, antallet emulerte maskinvareenheter har oversteget 400. Som forberedelse til versjon 5.1 er det gjort mer enn 2500 endringer fra 235 utviklere.

Nøkkel forbedringerlagt til i QEMU 5.1:

  • Добавлена поддержка эмуляции CPU на базе архитектуры AVR. Реализована поддержка плат Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560),
    Arduino Mega (ATmega1280) и Arduino UNO (ATmega328P).

  • В эмулятор архитектуры ARM добавлена возможность горячего отключения памяти (hot-unplug), а также горячего подключения памяти nvdimm для гостевых систем с ACPI. Реализована поддержка расширений ARMv8.2 TTS2UXN и ARMv8.5 MemTag. Обеспечена поддержка платы sonorapass-bmc.
  • В эмулятор архитектуры MIPS добавлена поддержка CPU Loongson 3A CPUs (R1 и R4). Повышена производительность эмуляции инструкций FPU и MSA.
  • В эмулятор архитектуры RISC-V добавлена поддержка CPU SiFive E34 и Ibex. Реализована поддержка плат HiFive1 revB и OpenTitan. Для машин Spike предоставлена поддержка более одного CPU.
  • В эмуляторе архитектуры PowerPC появилась поддержка восстановления ошибок в гостевых системах при помощи FWNMI.
  • Для архитектуры s390 добавлена поддержка KVM для защищённой виртуализации (режим безопасного выполнения).
  • В эмуляторе архитектуры x86 сокращены накладные расходы на виртуализацию неадаптированных гостевых систем с Windows, через предоставление таблицы эмулируемых устройств ACPI WAET (Windows ACPI Emulated Device Table). Улучшена поддержка ускорения HVF для macOS.
  • В драйвере блочных устройств появилась поддержка виртуальных устройств хранения с логическими и физическими блоками размером 2MB.
  • Добавлена возможность передачи в QEMU паролей и ключей для шифрования через keyring ядра Linux при помощи объектов нового типа «secret-keyring».
  • Для формата qcow2 реализована поддержка алгоритма сжатия zstd.
  • В утилите qemu-img добавлена новая команда ‘bitmap’ для манипуляции постоянными битовыми картами в файлах qcow2. В qemu-img также реализовано управления ключами LUKS (keyslot) и предложены дополнительные возможности для команд «map» (—start-offset, —max-length) и «convert» (—bitmaps), в команде «measure» добавлен вывод сведений о размере постоянных битовых карт в файлах qcow2.
  • В драйвере NVMe появилась поддержка постоянных областей памяти (Persistent Memory Region), появившихся в спецификации NVMe 1.4.
  • В virtio для гостевых систем c классическим генератором кода TCG (Tiny Code Generator) реализована возможность использования процессов vhost-user, включая virtiofsd. В vhost-user добавлено расширение VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS, позволяющее регистрировать более 8 слотов ОЗУ.

Kilde: opennet.ru

Legg til en kommentar