Выпуск эмулятара QEMU 5.1

Прадстаўлены рэліз праекта QEMU 5.1. У якасці эмулятара QEMU дазваляе запусціць праграму, сабраную для адной апаратнай платформы, на сістэме з зусім іншай архітэктурай, напрыклад, выканаць прыкладанне для ARM на x86-сумяшчальным ПК. У рэжыме віртуалізацыі ў QEMU прадукцыйнасць выканання кода ў ізаляваным асяроддзі блізкая да натыўнай сістэмы за кошт прамога выканання інструкцый на CPU і задзейнічанні гіпервізара Xen ці модуля KVM.

Першапачаткова праект быў створаны Фабрысам Беларам (Fabrice Bellard) з мэтай забеспячэння магчымасці запуску сабраных для платформы x86 выкананых файлаў Linux на архітэктурах, адрозных ад x86. За гады распрацоўкі была дададзена падтрымка поўнай эмуляцыі для 14 апаратных архітэктур, колькасць эмуляваных апаратных прылад перавысіла 400. Пры падрыхтоўцы версіі 5.1 унесена больш за 2500 змяненняў ад 235 распрацоўшчыкаў.

ключавыя паляпшэння, дададзеныя ў QEMU 5.1:

  • Дададзена падтрымка эмуляцыі CPU на базе архітэктуры Красавік. Рэалізавана падтрымка поплаткаў 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). Палепшана падтрымка паскарэння ГВФ для 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 слотаў АЗП.

Крыніца: opennet.ru

Дадаць каментар