QEMU 6.0 emulaatori väljalaskmine

Esitleti projekti QEMU 6.0 väljalaset. Emulaatorina võimaldab QEMU ühe riistvaraplatvormi jaoks koostatud programmi käivitada hoopis teistsuguse arhitektuuriga süsteemis, näiteks käivitada ARM rakendus x86-ühilduval arvutil. QEMU virtualiseerimisrežiimis on koodi täitmise jõudlus isoleeritud keskkonnas lähedane riistvarasüsteemi omale tänu käskude otsesele täitmisele protsessoris ja Xeni hüpervisori või KVM-mooduli kasutamisele.

Projekti lõi algselt Fabrice Bellard, et võimaldada x86 platvormile loodud Linuxi käivitatavatel failidel töötada mitte-x86 arhitektuuridel. Aastate jooksul on arendustegevusega lisandunud täielik emulatsioonitugi 14 riistvaraarhitektuurile, emuleeritud riistvaraseadmete arv on ületanud 400. Versiooni 6.0 ettevalmistamisel on tehtud üle 3300 muudatuse 268 arendajalt.

QEMU 6.0-sse lisatud peamised täiustused:

  • NVMe kontrolleri emulaator on viidud vastavusse NVMe 1.4 spetsifikatsiooniga ja on varustatud eksperimentaalse toega tsoneeritud nimeruumidele, mitmeteelisele sisendile/väljundile ja andmete otspunkti krüptimisele draivil.
  • Seadme emulatsiooni teisaldamiseks välistesse protsessidesse on lisatud eksperimentaalsed valikud "-machine x-remote" ja "-device x-pci-proxy-dev". Selles režiimis toetatakse praegu ainult SCSI-adapteri lsi53c895 emuleerimist.
  • Lisatud eksperimentaalne tugi RAM-i sisu hetktõmmiste loomiseks.
  • Lisatud on FUSE moodul plokkseadmete eksportimiseks, mis võimaldab teil ühendada mis tahes külalissüsteemis kasutatava plokkseadme oleku osa. Eksport toimub QMP käsu block-export-add või utiliidi qemu-storage-daemon suvandi „--export” kaudu.
  • ARM-emulaator lisab toe ARMv8.1-M 'Helium' arhitektuurile ja Cortex-M55 protsessoritele, samuti ARMv8.4 laiendatud TTST, SEL2 ja DIT juhistele. Lisatud on tugi ka ARM-plaatidele mps3-an524 ja mps3-an547. Täiendav seadme emulatsioon on rakendatud xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx ja sabrelite plaatide jaoks.
  • ARM-i jaoks on emuleerimisrežiimides süsteemi- ja kasutajakeskkonna tasemel juurutatud ARMv8.5 MTE (MemTag, Memory Tagging Extension) laienduse tugi, mis võimaldab siduda silte iga mälujaotustoiminguga ja korraldada osuti kontrolli, kui juurdepääsu mälule, mis peab olema seotud õige sildiga . Laiendust saab kasutada haavatavuste ärakasutamise blokeerimiseks, mis on põhjustatud juba vabastatud mäluplokkidele juurdepääsust, puhvri ületäitumisest, juurdepääsust enne lähtestamist ja kasutusest väljaspool praegust konteksti.
  • 68k arhitektuuri emulaator on lisanud tuge uut tüüpi emuleeritud masinale "virt", mis kasutab jõudluse optimeerimiseks virtio seadmeid.
  • X86 emulaator lisab võimaluse kasutada külalissüsteemis kasutatavate protsessoriregistrite krüptimiseks AMD SEV-ES (Secure Encrypted Virtualization) tehnoloogiat, muutes registrite sisu hostkeskkonnale kättesaamatuks, välja arvatud juhul, kui külalissüsteem neile selgesõnaliselt juurdepääsu annab.
  • Klassikaline TCG (Tiny Code Generator) koodigeneraator rakendab x86 süsteemide emuleerimisel PKS (Protection Keys Supervisor) mehhanismi tuge, mida saab kasutada privilegeeritud mälulehtedele juurdepääsu kaitsmiseks.
  • MIPS-i arhitektuuri emulaatorisse on lisatud uut tüüpi emuleeritud masinate "virt", mis toetab Hiina Loongson-3 protsessoreid.
  • Emuleeritud masinate PowerPC arhitektuuri emulaatorisse "powernv" on lisatud väliste BMC-kontrollerite tugi. Emuleeritud Pseries-masinate puhul kuvatakse mälu ja protsessori eemaldamise katsel tõrgete kohta märguanne.
  • Lisatud tugi Qualcomm Hexagon protsessorite emuleerimiseks DSP-ga.
  • Klassikaline TCG (Tiny Code Generator) koodigeneraator toetab uue Apple M1 ARM kiibiga süsteemides macOS-i hostikeskkondi.
  • Microchip PolarFire plaatide RISC-V arhitektuuri emulaator toetab QSPI NOR välku.
  • Tricore emulaator toetab nüüd uut TriBoardi plaadimudelit, mis emuleerib Infineon TC27x SoC-d.
  • ACPI emulaator annab võimaluse määrata külalissüsteemide võrguadapteritele nimesid, mis ei sõltu nende PCI siiniga ühendamise järjekorrast.
  • virtiofs on lisanud toe valikule FUSE_KILLPRIV_V2, et parandada külaliste jõudlust.
  • VNC on lisanud toe kursori läbipaistvusele ja toe ekraani eraldusvõime skaleerimisele virtio-vga-s, sõltuvalt akna suurusest.
  • QMP (QEMU Machine Protocol) on lisanud varundusülesannete täitmisel asünkroonse paralleeljuurdepääsu toe.
  • USB-emulaator on lisanud võimaluse salvestada USB-seadmetega töötamisel tekkinud liiklus eraldi pcap-faili, et seda hiljem Wiresharkis kontrollida.
  • Lisatud on uued QMP-käsud load-snapshot, save-snapshot ja delete-snapshot, et hallata qcow2 hetktõmmiseid.
  • Haavatavused CVE-2020-35517 ja CVE-2021-20263 on virtiofides parandatud. Esimene probleem võimaldab juurdepääsu hostikeskkonnale külalissüsteemist, luues privilegeeritud kasutaja külalissüsteemis spetsiaalse seadmefaili hostikeskkonnaga jagatud kataloogis. Teine probleem on põhjustatud veast suvandi 'xattrmap' laiendatud atribuutide käsitlemisel ja see võib põhjustada kirjutusõiguste ignoreerimist ja õiguste eskalatsiooni külalissüsteemis.

Allikas: opennet.ru

Lisa kommentaar