QEMU 4.0 эмуляторунун чыгарылышы

Түзүлгөн долбоор чыгаруу QEMU 4.0. Эмулятор катары QEMU сизге такыр башка архитектурасы бар системада бир аппараттык платформа үчүн түзүлгөн программаны иштетүүгө мүмкүндүк берет, мисалы, x86-шайкеш компьютерде ARM тиркемесин иштетүү. QEMUдагы виртуалдаштыруу режиминде, обочолонгон чөйрөдө коддун аткарылышынын көрсөткүчү процессордогу көрсөтмөлөрдү түздөн-түз аткаруунун жана Xen гипервизорунун же KVM модулунун колдонулушунан улам түпкү системага жакын.

Долбоор алгач Fabrice Bellard тарабынан x86 эмес архитектураларда x86 платформасы үчүн түзүлгөн Linux аткаруучу файлдарын иштетүү мүмкүнчүлүгүн берүү үчүн түзүлгөн. Өнүгүү жылдарында 14 аппараттык архитектура үчүн толук эмуляцияны колдоо кошулду, эмуляцияланган аппараттык түзүлүштөрдүн саны 400дөн ашты. 4.0 версиясын даярдоодо 3100 иштеп чыгуучулардан 220дөн ашык өзгөртүүлөр киргизилди.

Ачкыч жакшыртууларQEMU 4.0 кошулган:

  • ARM архитектура эмуляторуна ARMv8+ нускама кеңейтүүлөрүн колдоо кошулду: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT жана BTI. Musca жана MPS2 такталарын эмуляциялоо үчүн кошумча колдоо. Жакшыртылган ARM PMU (Power Management Unit) эмуляциясы. Платформага вирт 255 ГБ ашык оперативдүү эстутумду колдонуу мүмкүнчүлүгүн жана "noload" түрү менен жүктөө сүрөттөрүн колдоону кошту;

  • Виртуализацияны тездетүү кыймылдаткычындагы x86 архитектуралык эмулятордо HAX (Intel Hardware Accelerated Execution) Linux жана NetBSD (мурда Дарвин платформасы гана колдоого алынган) сыяктуу POSIX шайкеш келген хостторго колдоо кошту. Негизги PCIe порттору үчүн Q35 чипсет эмуляторунда (ICH9), PCIe 16 спецификациясында аныкталган максималдуу ылдамдык (32GT/s) жана туташуу линияларынын саны (x4.0) эми факультативдик түрдө жарыяланышы мүмкүн (илешүүнү камсыз кылуу үчүн, 2.5GT QEMU машиналарынын /s жана x1) эски түрлөрү үчүн демейки боюнча орнотулган. Xen PVH сүрөттөрүн "-ядро" опциясы менен жүктөсө болот;
  • MIPS архитектура эмулятору классикалык TCG (Tiny Code Generator) код генераторун колдонуу менен көп жиптүү эмуляцияны колдоону кошту. Ошондой эле CPU I7200 (nanoMIPS32 ISA) жана I6500 (MIPS64R6 ISA) эмуляциясын колдоо, QMP (QEMU Башкаруу Протоколу) аркылуу CPU түрүндөгү суроо-талаптарды иштетүү мүмкүнчүлүгү, SAARI жана SAAR конфигурация регистрлери үчүн колдоо кошулду. Fulong 2E тибиндеги виртуалдык машиналардын иштеши жакшырды. Interthread Communication Unit жаңыртылган ишке ашыруу;
  • PowerPC архитектура эмуляторунда XIVE үзгүлтүктүү контроллерин эмуляциялоо үчүн колдоо кошулду, POWER9 үчүн колдоо кеңейтилди жана P сериясы үчүн PCI хост көпүрөлөрүн (PHB, PCI хост көпүрөсү) ысык туташтыруу мүмкүнчүлүгү кошулду. Spectre жана Meltdown чабуулдарынан коргоо демейки боюнча иштетилген;
  • PCI жана USB эмуляциясын колдоо RISC-V архитектура эмуляторуна кошулду. Камтылган мүчүлүштүктөрдү оңдоо сервери (gdbserver) азыр XML файлдарында реестр тизмелерин көрсөтүүнү колдойт. TSR, TW жана TVM mstatus талаалары үчүн кошумча колдоо;
  • s390 архитектуралык эмулятору z14 GA 2 CPU моделин колдоону, ошондой эле калкыма чекит жана вектордук операциялар үчүн нускама кеңейтүүлөрүн эмуляциялоону колдоду. vfio-апка түзмөктөрдү ысык туташтыруу мүмкүнчүлүгү кошулду;
  • Tensilica Xtensa үй-бүлөлүк процессор эмулятору Linux үчүн SMP колдоосун жакшыртты жана FLIX үчүн колдоону кошту (Ийкемдүү узундуктагы нускамаларды кеңейтүү);
  • QEMU GTK интерфейсине окшош дизайн менен Spice аралыктан кирүү кардарынын версиясын конфигурациялоо жана ишке киргизүү үчүн графикалык интерфейске "-display spice-app" опциясы кошулду;
  • VNC серверин ишке ашырууга tls-authz/sassl-authz опцияларын колдонуу менен кирүү мүмкүнчүлүгүн башкаруу үчүн колдоо кошулду;
  • QMP (QEMU Management Protocol) борборлоштурулган/тышкы (Out-of-band) командаларды аткаруу үчүн колдоону кошту жана блоктук түзүлүштөр менен иштөө үчүн кошумча буйруктарды ишке ашырды;
  • Колдоого алынган mdev'дер (Intel vGPUs) үчүн VFIO'го EDID интерфейсинин ишке ашырылышы кошулду, бул сизге xres жана yres опцияларын колдонуу менен экрандын чечилишин өзгөртүүгө мүмкүндүк берет;
  • Xen үчүн жаңы "xen-disk" түзмөгү кошулду, ал өз алдынча Xen PV үчүн дисктин серверин түзө алат (xenstoreге кирбестен). Xen PV дискинин иштеши жогорулатылды жана дисктин өлчөмүн өзгөртүү мүмкүнчүлүгү кошулду;
  • Тармактык блоктордун түзүлүштөрүндө диагностика жана көзөмөлдөө мүмкүнчүлүктөрү кеңейтилди жана көйгөйлүү NBD серверин ишке ашыруу менен кардар шайкештиги жакшырды. Qemu-nbd үчүн “--bitmap”, “--list” жана “--tls-authz” опциялары кошулду;
  • Эмуляцияланган IDE/түзмөк аркылуу PCI IDE режимине колдоо кошулду;
  • dmg сүрөттөрүн кысуу үчүн lzfse алгоритмин колдонуу үчүн кошумча колдоо. qcow2 форматы үчүн тышкы маалымат файлдарын туташтыруу үчүн колдоо кошулду. qcow2 таңгактан чыгаруу операциялары өзүнчө жипке жылдырылат. Vmdk сүрөттөрүндө "blockdev-create" операциясына колдоо кошулду;
  • virtio-blk блок түзмөгү DISCARD (блоктордун чыгышы жөнүндө маалымат берүү) жана WRITE_ZEROES (логикалык блоктордун диапазонун нөлдөө) операцияларын колдоого кошту;
  • pvrdma аппараты RDMA Management Datagram кызматтарын (MAD) колдойт;
  • Тапшырылган өзгөрүүлөр, артка карай шайкештикти бузуу. Мисалы, "-fsdev" жана "-virtfs" ичиндеги "тушка" опциясынын ордуна "локалдык" же "прокси" параметрлерин колдонушуңуз керек. "-virtioconsole" ("-device virtconsole" менен алмаштырылган), "-no-frame", "-clock", "-enable-hax" ("-accel hax" менен алмаштырылган) параметрлери алынып салынды. "ivshmem" аппараты алынып салынды ("ivshmem-doorbell" жана "ivshmem-plain" колдонулушу керек). SDL1.2 менен курууну колдоо токтотулду (сиз SDL2 колдонушуңуз керек).

Source: opennet.ru

Комментарий кошуу