izdanje projekta . Kao emulatore, QEMU omogućava pokretanje programa koji su sastavljeni za jednu hardversku platformu na sistemu sa potpuno drugačijom arhitekturom, na primer, izvršavanje aplikacije za ARM na x86-kompatibilnom PC-u. U režimu virtualizacije, performanse izvršavanja koda u izolovanom okruženju su bliske onima na nativnom sistemu zahvaljujući direktnom izvršenju instrukcija na CPU-u i korišćenju hipervizora Xen ili KVM modula.
Проект изначально был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения работы исполняемых файлов Linux, собранных для платформы x86, на других архитектурах. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, а число эмулируемых аппаратных устройств превысило 400. В подготовке версии 4.0 было внесено более 3100 изменений от 220 разработчиков.
Ključne , добавленные в QEMU 4.0:
- В эмулятор архитектуры ARM добавлена поддержка расширений инструкций ARMv8+: SB, PredInv, HPD, LOR, FHM, AA32HPD,
PAuth, JSConv, CondM, FRINT и BTI. Также в поддержку эмуляции были добавлены платы «Musca» и «MPS2». Улучшено эмулирование ARM PMU (блок управления питанием). В платформу добавлена возможность использования более 255 Гб ОЗУ и поддержка образов u-boot с типом «noload»; - В эмуляторе архитектуры x86 в движке ускорения виртуализации (Intel Hardware Accelerated Execution) добавлена поддержка POSIX-совместимых хостов, таких как Linux и NetBSD (ранее поддерживалась только платформа Darwin). В эмуляторе чипсета Q35 (ICH9) для основных портов PCIe теперь опционально может быть заявлена максимальная скорость (16GT/s) и количество линий соединения (x32), определённых в спецификации PCIe 4.0 (для обеспечения совместимости по умолчанию для старых типов машин QEMU устанавливается 2.5GT/s и x1). Обеспечена возможность загрузки образов Xen PVH с опцией «-kernel»;
- В эмулятор архитектуры MIPS добавлена поддержка многопоточной эмуляции с использованием классического генератора кода TCG (Tiny Code Generator). Также добавлена поддержка эмуляции CPU I7200 (nanoMIPS32 ISA) и I6500 (MIPS64R6 ISA), возможность обработки запросов типа CPU с использованием протокола QMP (QEMU Management Protocol), поддержка конфигурационных регистров SAARI и SAAR внедрена. Улучшена работа виртуальных машин типа Fulong 2E. Обновлена реализация Interthread Communication Unit;
- В эмуляторе архитектуры PowerPC добавлена поддержка эмуляции контроллера прерываний XIVE, расширена поддержка POWER9, для P series добавлена возможность горячего подключения главных мостов PCI (PHB, PCI host bridge). Включена по умолчанию защита от атак Spectre и Meltdown;
- В эмулятор архитектуры RISC-V добавлена поддержка эмуляции PCI и USB. Во встроенном сервере отладки (gdbserver) реализована поддержка задания списков регистров в файлах XML. Добавлена поддержка mstatus-полей TSR, TW и TVM;
- V emulatorju arhitekture s390 je dodana podpora za model CPU z14 GA 2, prav tako pa je dodana podpora za emulacijo razširitev ukazov za računanja s plavajočo vejico in vektorske operacije. V vfio-ap je dodana možnost vročega povezovanja naprav;
- V emulatorju procesorjev družine Tensilica Xtensa je izboljšana podpora SMP za Linux in dodana podpora za razširitev FLIX (razširitev ukazov fleksibilne dolžine);
- V grafični vmesnik je dodana možnost ‘-display spice-app’ za nastavitev in zagon različice odjemalca oddaljenega dostopa Spice z oblikovanjem, podobnim GTK-vmesniku QEMU;
- V implementacijo VNC strežnika je dodana podpora za upravljanje dostopa s pomočjo možnosti tls-authz/sasl-authz;
- V QMP (QEMU Management Protocol) je dodana podpora za centralizirano/zunanje (Out-of-band) izvajanje ukazov ter implementirane dodatne ukaze za delo z blokovnimi napravami;
- V VFIO je dodana implementacija vmesnika EDID za podprte mdev (Intel vGPU), kar omogoča spreminjanje ločljivosti zaslona z uporabo možnosti xres in yres;
- Za Xen je dodana nova naprava ‘xen-disk’, ki samostojno lahko ustvari diskovni backend za Xen PV (brez obračanja na xenstore). Povečana je zmogljivost diskovnega backenda Xen PV in dodana možnost spreminjanja velikosti diska;
- V omrežnih blokovnih napravah so razširjene možnosti diagnostike in sledenja, izboljšana je združljivost odjemalca s problematičnimi implementacijami strežnika NBD. V qemu-nbd so dodane možnosti ‘—bitmap’, ‘—list’ in ‘—tls-authz’;
- V emulirano napravo IDE/via je dodana podpora za način PCI IDE;
- Dodana je podpora za uporabo algoritma lzfse za stiskanje slik dmg. Za format qcow2 je dodana podpora za povezovanje zunanjih datotek s podatki. Operacije razpakiranja qcow2 so preseljene v ločeno nit. V slikah vmdk je dodana podpora za operacijo ‘blockdev-create’;
- V blokovno napravo virtio-blk je dodana podpora za operacije DISCARD (obveščanje o sprostitvi blokov) in WRITE_ZEROES (ponastavitev obsega logičnih blokov);
- V napravi pvrdma je реализирана podpora za RDMA Management Datagram services (MAD);
- Vključene so , ki kršijo povratno združljivost. Na primer, namesto možnosti «handle» v «-fsdev» in «-virtfs» je treba uporabiti možnosti «local» ali «proxy». Odstranjene so možnosti «-virtioconsole» (nadomeščena z «-device virtconsole»), «-no-frame», «-clock», «-enable-hax» (nadomeščena z «-accel hax»). Odstranjena je naprava «ivshmem» (uporabiti je treba «ivshmem-doorbell» ali «ivshmem-plain»). Podpora za gradnjo z SDL1.2 je prenehala (potrebno je uporabiti SDL2).
Izvor: opennet.ru
