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

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

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

Ключавыя паляпшэнні, дададзеныя ў QEMU 7.0:

  • У эмулятары архітэктуры x86 дададзеная падтрымка набору інструкцый Intel AMX (Advanced Matrix Extensions), рэалізаваных у серверных працэсарах Intel Xeon Scalable. AMX прапануе новыя наладжвальныя рэгістры TMM "TILE" і інструкцыі для маніпуляцыі з дадзенымі ў гэтых рэгістрах, такія як TMUL (Tile matrix MULtiply) для множання матрыц.
  • Прадастаўлена магчымасць часопісавання падзей ACPI ад гасцявой сістэмы праз інтэрфейс ACPI ERST.
  • У модулі virtiofs, ужывальным для пракіду часткі файлавай сістэмы хост-акружэнні ў гасцёўню сістэму, палепшаная падтрымка пазнак бяспекі (security label). Ухіленая ўразлівасць CVE-2022-0358, якая дазваляе падняць свае прывілеі ў сістэме праз стварэнне выкананых файлаў у пропробываемых праз virtiofs каталогах, прыналежных іншай групе і забяспечаных сцягам SGID.
  • Падвышаная гнуткасць рэзервовага капіявання змешчаных у працы актыўных сістэмных выяў (ствараецца снапшот, пасля чаго для актуалізацыі стану снапшота ўжываецца фільтр copy-before-write (CBW), які капіюе дадзеныя з абласцей, у якія гасцёўня сістэма выконвае запіс). Дададзена падтрымка выяў у фарматах выдатных ад qcow2. Забяспечана магчымасць доступу да снапшота з бэкапам не напрамую, а праз драйвер блокавай прылады snapshot-access. Пашыраныя магчымасці па кіраванні працай фільтра CBW, напрыклад, можна выключаць з апрацоўкі вызначаныя бітавыя карты.
  • У эмулятары ARM для машын 'virt' дададзеная падтрымка virtio-mem-pci, азначэнні тапалогіі CPU для гасцёўні сістэмы і ўключэнні PAuth пры выкарыстанні гіпервізара KVM з паскаральнікам hvf. У эмулятары поплаткаў 'xlnx-versal-virt' дададзеная падтрымка PMC SLCR і эмуляцыі кантролера Flash-памяці OSPI. Для эмуляваных машын 'xlnx-zynqmp' дададзены новыя мадэлі кіравання CRF і APU. Дададзена эмуляцыя пашырэнняў FEAT_LVA2, FEAT_LVA (Large Virtual Address space) і FEAT_LPA (Large Physical Address space).
  • У класічным генератары кода TCG (Tiny Code Generator) спынена падтрымка хастоў з CPU ARMv4 і ARMv5, у якіх адсутнічае падтрымка невыраўнаванага доступу да памяці і недастаткова АЗП для выканання QEMU.
  • У эмулятар архітэктуры RISC-V дададзеная падтрымка гіпервізара KVM і рэалізаваны вектарныя пашырэнні Vector 1.0, а таксама інструкцыі Zve64f, Zve32f, Zfhmin, Zfh, zfinx, zdinx і zhinx{min}. Для эмуляваных машын 'spike' дададзена падтрымка загрузкі бінарных файлаў OpenSBI (RISC-V Supervisor Binary Interface). Для эмуляваных машын 'virt' рэалізавана магчымасць выкарыстання да 32 працэсарных ядраў і падтрымка AIA.
  • У эмулятары архітэктуры HPPA прадстаўлена магчымасць выкарыстання да 16 vCPU і палепшаны графічны драйвер для карыстацкіх асяродкаў HP-UX VDE/CDE. Дададзена магчымасць змены парадку загрузкі для SCSI-прылад.
  • У эмулятары архітэктуры OpenRISC для поплаткаў 'sim' дададзеная падтрымка выкарыстання да 4 ядраў CPU, загрузкі вонкавай выявы initrd і аўтаматычнай генерацыі device tree для загружанага ядра.
  • У эмулятар архітэктуры PowerPC для эмуляваных машын 'pseries' рэалізавана магчымасць запуску гасцявых сістэм пад кіраваннем укладзенага гіпервізара KVM. Дададзена падтрымка прылады spapr-nvdimm. Для эмуляваных машын 'powernv' дададзеная падтрымка кантролера перапыненняў XIVE2 і кантролераў PHB5, палепшана падтрымка XIVE і PHB 3/4.
  • У эмулятар архітэктуры s390x дададзеная падтрымка пашырэнняў z15 (Miscellaneous-Instruction-Extensions Facility 3).

Крыніца: opennet.ru

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