QEMU 4.0 էմուլյատորի թողարկում

Ձևավորվել է նախագծի թողարկում QEMU 4.0. Որպես էմուլյատոր՝ QEMU-ն թույլ է տալիս գործարկել մեկ ապարատային պլատֆորմի համար կազմված ծրագիր բոլորովին այլ ճարտարապետություն ունեցող համակարգում, օրինակ՝ գործարկել ARM հավելվածը x86-ի հետ համատեղելի համակարգչի վրա: QEMU-ում վիրտուալացման ռեժիմում կոդերի կատարման կատարումը մեկուսացված միջավայրում մոտ է հայրենի համակարգին՝ պրոցեսորի վրա հրահանգների ուղղակի կատարման և Xen հիպերվիզորի կամ KVM մոդուլի օգտագործման պատճառով:

Նախագիծն ի սկզբանե ստեղծվել է Ֆաբրիս Բելարդի կողմից՝ x86 պլատֆորմի համար ստեղծված Linux գործադիրներին թույլ տալու համար աշխատել ոչ x86 ճարտարապետություններով: Մշակման տարիների ընթացքում ամբողջական էմուլյացիոն աջակցություն է ավելացվել 14 ապարատային ճարտարապետության համար, ընդօրինակվող ապարատային սարքերի թիվը գերազանցել է 400-ը: 4.0 տարբերակի նախապատրաստման ընթացքում կատարվել են ավելի քան 3100 փոփոխություններ 220 մշակողների կողմից:

Բանալի բարելավումներավելացված է QEMU 4.0-ում.

  • ARMv8+ հրահանգների ընդարձակման աջակցությունն ավելացվել է ARM ճարտարապետության էմուլյատորին՝ SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT և BTI: Ավելացվեց աջակցություն Musca և MPS2 տախտակների նմանակման համար: Բարելավված ARM PMU (Power Management Unit) էմուլացիա: Դեպի հարթակ առաքինություն ավելացրել է ավելի քան 255 ԳԲ օպերատիվ հիշողություն օգտագործելու հնարավորություն և «noload» տիպի u-boot պատկերների աջակցություն.

  • X86 ճարտարապետության էմուլատորում վիրտուալացման արագացման շարժիչում ՀԱՔՍ (Intel Hardware Accelerated Execution) ավելացրել է աջակցություն POSIX-ին համապատասխանող հոստերներին, ինչպիսիք են Linux-ը և NetBSD-ը (նախկինում միայն Darwin պլատֆորմն էր աջակցվում): Հիմնական PCIe պորտերի Q35 չիպսեթի էմուլատորում (ICH9) այժմ կարող են կամայականորեն հայտարարվել PCIe 16 բնութագրում սահմանված առավելագույն արագությունը (32GT/վ) և միացման գծերի քանակը (x4.0) (համատեղելիությունն ապահովելու համար 2.5GT է լռելյայն տեղադրվել է QEMU մեքենաների հին տեսակների համար /s և x1): Հնարավոր է բեռնել Xen PVH պատկերները «-kernel» տարբերակով;
  • MIPS ճարտարապետության էմուլյատորն ավելացրել է բազմաշերտ էմուլյացիայի աջակցություն՝ օգտագործելով դասական TCG կոդերի գեներատորը (Tiny Code Generator): Նաև ավելացվել է CPU I7200 (nanoMIPS32 ISA) և I6500 (MIPS64R6 ISA) էմուլյացիայի աջակցությունը, պրոցեսորի տիպի հարցումները QMP-ի (QEMU կառավարման արձանագրություն) մշակման հնարավորությունը, SAARI և SAAR կազմաձևման ռեգիստրների աջակցությունը: Fulong 2E տիպի վիրտուալ մեքենաների բարելավված կատարումը: Interthread կապի միավորի թարմացված իրականացում;
  • PowerPC ճարտարապետության էմուլյատորում ավելացվել է XIVE ընդհատման կարգավորիչի նմանակման աջակցություն, ընդլայնվել է POWER9-ի աջակցությունը, իսկ P շարքի համար ավելացվել է PCI հյուրընկալող կամուրջները տաքացնելու հնարավորությունը (PHB, PCI host bridge): Spectre-ի և Meltdown-ի հարձակումներից պաշտպանությունը լռելյայն միացված է.
  • RISC-V ճարտարապետության էմուլյատորին ավելացվել է PCI-ի և USB էմուլյացիայի աջակցություն: Ներկառուցված վրիպազերծման սերվերը (gdbserver) այժմ աջակցում է XML ֆայլերում գրանցումների ցուցակների ճշգրտմանը: Ավելացվել է mstatus դաշտերի աջակցություն TSR, TW և TVM;
  • S390 ճարտարապետության էմուլյատորն ավելացրել է z14 GA 2 պրոցեսորի մոդելի աջակցությունը, ինչպես նաև լողացող կետի և վեկտորի գործողությունների հրահանգների ընդարձակման նմանակման աջակցություն: Սարքերը տաք միացնելու հնարավորությունն ավելացվել է vfio-ap-ին;
  • Tensilica Xtensa ընտանիքի պրոցեսորների էմուլյատորը բարելավել է SMP աջակցությունը Linux-ի համար և ավելացրել է աջակցություն FLIX-ի համար (Ճկուն երկարության հրահանգների ընդլայնում);
  • «-display spice-app» տարբերակը ավելացվել է գրաֆիկական ինտերֆեյսին՝ կարգավորելու և գործարկելու Spice հեռահար մուտքի հաճախորդի տարբերակը QEMU GTK ինտերֆեյսի նման դիզայնով;
  • Ավելացվել է մուտքի վերահսկման աջակցություն՝ օգտագործելով tls-authz/sasl-authz տարբերակները VNC սերվերի իրականացման համար;
  • QMP-ը (QEMU Management Protocol) ավելացրեց աջակցություն կենտրոնացված/արտաքին (Out-of-of-band) հրամանների կատարմանը և իրականացրեց լրացուցիչ հրամաններ բլոկ սարքերի հետ աշխատելու համար.
  • EDID ինտերֆեյսի իրականացումը ավելացվել է VFIO-ին աջակցվող mdevs-ի համար (Intel vGPUs), որը թույլ է տալիս փոխել էկրանի լուծաչափը՝ օգտագործելով xres և yres տարբերակները;
  • Xen-ի համար ավելացվել է նոր «xen-disk» սարք, որը կարող է ինքնուրույն ստեղծել սկավառակի հետնամաս Xen PV-ի համար (առանց xenstore մուտք գործելու): Ավելացվել է Xen PV սկավառակի հետին մասի կատարումը և ավելացվել է սկավառակի չափը փոխելու հնարավորությունը.
  • Ախտորոշման և հետագծման հնարավորություններն ընդլայնվել են ցանցային բլոկների սարքերում, և բարելավվել է հաճախորդի համատեղելիությունը խնդրահարույց NBD սերվերի ներդրման հետ: Qemu-nbd-ին ավելացվել է «--bitmap», «--list» և «--tls-authz» տարբերակները;
  • Ավելացվել է PCI IDE ռեժիմի աջակցություն էմուլացված IDE/ սարքի միջոցով;
  • Ավելացվեց աջակցություն lzfse ալգորիթմի օգտագործման համար dmg պատկերները սեղմելու համար: qcow2 ձևաչափի համար ավելացվել է արտաքին տվյալների ֆայլերի միացման աջակցություն: qcow2 ապափաթեթավորման գործողությունները տեղափոխվում են առանձին թեմա: Ավելացվել է vmdk պատկերներում «blockdev-create» գործողության աջակցությունը.
  • virtio-blk բլոկ սարքն ավելացրել է աջակցություն DISCARD (տեղեկացնում է բլոկների թողարկման մասին) և WRITE_ZEROES (տրամաբանական բլոկների մի շարք զրոյացում) գործողությունների համար;
  • Pvrdma սարքն աջակցում է RDMA Management Datagram ծառայություններին (MAD);
  • Ներկայացված է փոփոխություններ, խախտելով հետընթաց համատեղելիությունը։ Օրինակ, «-fsdev» և «-virtfs» «handle» տարբերակի փոխարեն դուք պետք է օգտագործեք «local» կամ «proxy» տարբերակները: Հեռացվել են «-virtioconsole» (փոխարինված «-device virtconsole»), «-no-frame», «-clock», «-enable-hax» (փոխարինված «-accel hax») ընտրանքները: Հեռացվել է «ivshmem» սարքը (պետք է օգտագործի «ivshmem-doorbell» և «ivshmem-plain»): SDL1.2-ով կառուցելու աջակցությունը դադարեցվել է (դուք պետք է օգտագործեք SDL2):

Source: opennet.ru

Добавить комментарий