Запуск новая версія праекта QEMU 6.0 у якіх было падрыхтавана больш за 3300 змен ад 268 распрацоўшчыкаў, і змены ўключаюць удасканаленне драйвераў, падтрымку новых платформаў і эксперыментальныя параметры.
Для тых, хто не знаёмы з QEMU, вы павінны ведаць, што гэта праграмнае забеспячэнне, якое дазваляе запускаць скампіляваную праграму для апаратнай платформы ў сістэме з зусім іншай архітэктурай, напрыклад, запускаць прыкладанне ARM на сумяшчальным з x86 ПК.
У рэжыме віртуалізацыі ў QEMU прадукцыйнасць выканання кода ў асяроддзі пясочніцы набліжаецца да апаратнай сістэмы з-за непасрэднага выканання інструкцый на працэсары і выкарыстання гіпервізара Xen альбо модуля KVM.
Асноўныя навінкі QEMU 6.0
У гэтай новай версіі Qemu 6.0 Цяпер эмулятар драйвераў NVMe адпавядае спецыфікацыі NVMe 1.4 і ўключае ў сябе эксперыментальную падтрымку занаваных прастор імёнаў, шматразовага ўводу / высновы і поўнага шыфравання сховішча.
Эмулятар ARM дадае падтрымку архітэктуры ARMv8.1-M 'Helium' і працэсары Cortex-M55, а таксама пашыраныя інструкцыі ARMv8.4 TTST, SEL2 і DIT. Таксама была дададзена падтрымка плат ARM mps3-an524 і mps3-an547. Дадатковая эмуляцыя прылады рэалізавана для плат xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx і sabrelite.
Для ARM у карыстацкім асяроддзі і рэжымах эмуляцыі на ўзроўні сістэмы, Рэалізавана падтрымка пашырэння ARMv8.5 MTE (MemTag, пашырэнне тэгаў памяці), якое дазваляе прывязваць тэгі да кожнай аперацыі адлюстравання памяці і арганізоўваць праверку паказальнікаў пры доступе да памяці, якая павінна быць звязана з правільным тэгам. Пашырэнне можа быць выкарыстана для блакавання выкарыстання ўразлівасцяў, выкліканых доступам да ўжо вызваленых блокаў памяці, перапаўненнем буфера, выклікамі папярэдняй ініцыялізацыі і выкарыстаннем па-за бягучым кантэкстам.
Эмулятар 68k дадае падтрымку для новага тыпу эмуляванай машыны "virt" выкарыстанне прылад virtio для аптымізацыі прадукцыйнасці, у той час як эмулятар архітэктуры x86 дадае магчымасць выкарыстоўваць тэхналогію AMD SEV-ES (бяспечная зашыфраваная віртуалізацыя) для шыфравання рэгістраў працэсара, якія выкарыстоўваюцца ў гасцявой сістэме, робячы змест рэгістраў недаступным для хаставай асяроддзя, калі гасцявая сістэма відавочна не прадастаўляе доступ да іх.
Таксама ў Qemu 6.0 дададзены эксперыментальныя варыянты "-Machine x-remote" і "-device x-pci-proxy-dev" для перамяшчэння эмуляцыі прылады на знешнія працэсы. У гэтым рэжыме ў цяперашні час падтрымліваецца толькі эмуляцыя адаптара SCSI lsi53c895.
Таксама як новы модуль FUSE для экспарту блокавых прылад, што дазваляе змантаваць частку стану любога блокавага прылады, якое выкарыстоўваецца ў госце. Экспарт ажыццяўляецца з дапамогай каманды block-export-add QMP альбо з дапамогай опцыі "–export" ва ўтыліты qemu-storage-daemon.
З іншага боку, згадваецца, што Virtualofs звяртаецца да ўразлівасцяў:
- CVE-2020-35517 - Дазваляе доступ да хоставай асяроддзя з гасцявой сістэмы шляхам стварэння спецыяльнага файла прылады ў гасцявой сістэме прывілеяваным карыстальнікам у каталогу, які абагульваецца з хастовым асяроддзем.
- CVE-2021-20263 - выклікана памылкай у апрацоўцы пашыраных атрыбутаў у опцыі "xattrmap" і можа ігнараваць дазволы на запіс і эскалацыю прывілеяў у гасцях.
З іншых змен, якія вылучаюцца ў гэтай новай версіі:
- Дададзена эксперыментальная падтрымка для стварэння здымкаў змесціва аператыўнай памяці.
- Дададзена падтрымка эмуляцыі працэсараў Qualcomm Hexagon з DSP.
- Класічны генератар кода TCG (Tiny Code Generator) сумяшчальны з хастовымі асяроддзямі macOS у сістэмах з новым чыпам Apple M1 ARM.
- Эмулятар RISC-V для плат Microchip PolarFire падтрымлівае ўспышку QSPI NOR.
- Цяпер эмулятар Tricore падтрымлівае новую мадэль плат TriBoard, якія эмулююць SoC Infineon TC27x.
- Эмулятар ACPI прапануе магчымасць называць сеткавыя адаптары ў гасцявых сістэмах незалежна ад парадку падлучэння да шыны PCI.
- Virtiofs дадае падтрымку опцыі FUSE_KILLPRIV_V2 для паляпшэння прадукцыйнасці гасцей.
- VNC дадае падтрымку празрыстасці курсора і падтрымку маштабавання дазволу экрана ў virtio-vga на аснове памеру акна.
- QMP (QEMU Machine Protocol) дадае падтрымку асінхроннага паралельнага доступу пры выкананні задач рэзервовага капіявання.
- Эмулятар USB дадаў магчымасць захоўваць трафік, які ствараецца пры працы з прыладамі USB, у асобны файл pcap для наступнай праверкі ў Wireshark.
- Для кіравання здымкамі qcow2 былі дададзены новыя каманды QMP load-snapshot, save-snapshot і delete-snapshot.
Нарэшце, калі вы хочаце даведацца пра гэта больш, вы можаце праверыць дэталі Па наступнай спасылцы.
Будзьце першым, каб каментаваць