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

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

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

QEMU 7.2-ում ավելացված հիմնական բարելավումներ.

  • Դասական TCG կոդերի գեներատորի x86 էմուլյատորն ավելացրել է աջակցություն AVX, AVX2, F16C, FMA3 և VAES հրահանգներին, ինչպես նաև SSE հրահանգների օգտագործման հետ կապված կատարողականի օպտիմալացումներին: KVM-ի համար աջակցություն է ավելացվել վիրտուալ մեքենայի ելքերին հետևելու մեխանիզմի համար («ծանուցել vmexit»), որը թույլ է տալիս շրջանցել պրոցեսորի սխալները, որոնք կարող են հանգեցնել կախման:
  • ARM էմուլյատորն աջակցում է Cortex-A35 պրոցեսորի և պրոցեսորի ընդլայնումներին՝ ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (hardware control of discount of access) և E0PD (կանխում է EL0 մուտքը բաժանված հասցեների քարտեզներին):
  • LoongArch էմուլյատորն ավելացնում է fw_cfg DMA-ի, «hot-plug» հիշողության և TPM (Trusted Platform Module) սարքի էմուլյացիան:
  • OpenRISC ճարտարապետության էմուլյատորն իրականացնում է «virt» հարթակը սարքերի փորձարկման և շարունակական ինտեգրման համակարգերում օգտագործելու համար: Աջակցություն է իրականացվել դասական TCG (Tiny Code Generator) կոդերի գեներատորի բազմաշերտ կատարման համար:
  • RISC-V ճարտարապետության էմուլյատորը նմանակված մեքենաներում «virt» ունի S- ռեժիմում pflash-ից որոնվածը բեռնելու հնարավորություն: Բարելավված աշխատանքը սարքի ծառի հետ:
  • 390x էմուլյատորը աջակցություն է տրամադրում MSA5-ին (Message-Security-Assist Extension 5 with PRNO հրահանգ՝ կեղծ պատահական թվեր ստեղծելու համար), KIMD/KLM հրահանգներին (SHA-512-ի իրականացում) և ընդլայնված zPCI մեկնաբանություն KVM hypervis-ի վրա հիմնված հյուր համակարգերի համար: .
  • Հիշողության հետ աշխատելու համար նախատեսված Backend-ները ապահովում են հիշողության նախնական տեղաբաշխում՝ հաշվի առնելով NUMA ճարտարապետությունը:
  • Ամրապնդվել է LUKS ծածկագրված բլոկ սարքերի վերնագրերի ստուգումը և ավելացվել է macOS-ում LUKS պատկերներ ստեղծելու հնարավորությունը։
  • 9pfs backend-ը, որը թույլ է տալիս Plan 9 ցանցային ֆայլային համակարգի օգտագործումը մեկ վիրտուալ մեքենա մուտք գործելու համար մյուսը, անցավ նույնացուցիչների աղյուսակում GHashTable հեշի օգտագործմանը, ինչը որոշ իրավիճակներում հանգեցրեց կատարողականի 6-12 անգամ բարձրացման:
  • Ավելացվեց նոր netdev backends հոսք և dgram:
  • FreeBSD-ի աջակցությունն ավելացվել է ARM-ի վրա հիմնված հյուրերի գործակալին:
  • MacOS-ի համար GUI-ի կառուցումները հնարավորություն են տալիս ներառել Cocoa-ի և SDL/GTK-ի վրա հիմնված միջերեսները մեկ գործարկվող ֆայլում:
  • Ներկառուցված «slirp» ենթամոդուլը հանվել է, փոխարենը խորհուրդ է տրվում օգտագործել libslirp համակարգի գրադարանը:
  • Փորձարկման հնարավորության բացակայության պատճառով 32-բիթանոց MIPS պրոցեսորներով հյուրընկալող համակարգերի աջակցությունը, օգտագործելով Big Endian բայթերի կարգը, հնացել է:

Source: opennet.ru

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