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

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

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

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

  • Hygon Dhyana և Intel SnowRridge CPU մոդելների աջակցությունն ավելացվել է x86 ճարտարապետության էմուլյատորին: Ավելացվել է RDRAND ընդլայնման էմուլյացիա (ապարատային կեղծ պատահական թվերի գեներատոր): Ավելացված դրոշներ
    md-clear և mds-no հարձակումներից պաշտպանելու համար MDS (Microarchitectural Data Sampling) Intel պրոցեսորների վրա: Ավելացվեց ինտեգրալ սխեմաների տոպոլոգիաները որոշելու հնարավորություն՝ օգտագործելով «-smp ...,dies=» դրոշը: Տարբերակումն իրականացվել է բոլոր x86 պրոցեսորի մոդելների համար;

  • SSH բլոկի դրայվերը հեռացվել է օգտագործելուց libssh2 մասին լիբշշ;
  • virtio-gpu դրայվերը (վիրտուալ GPU մշակվել է որպես նախագծի մաս Virgil) ավելացրել է աջակցություն 2D/3D մատուցման գործողությունները արտաքին vhost-user գործընթացին տեղափոխելու համար (օրինակ՝ vhost-user-gpu);
  • ARM ճարտարապետության էմուլյատորն ավելացրել է ARMv8.5-RNG ընդլայնման աջակցություն՝ կեղծ պատահական թվեր ստեղծելու համար: FPU էմուլյացիայի աջակցությունն իրականացվել է Cortex-M ընտանիքի չիպերի համար, և Cortex-R5F-ի համար FPU էմուլյացիայի հետ կապված խնդիրները լուծվել են: Առաջարկվել է կառուցման ընտրանքների տեղադրման նոր համակարգ՝ մշակված Kconfig ոճով: SoC Exynos4210-ի համար ավելացվել է աջակցություն PL330 DMA կարգավորիչների համար.
  • MIPS ճարտարապետության էմուլյատորը կատարելագործել է MSA ASE հրահանգների աջակցությունը, երբ օգտագործում է մեծ-էնդիան բայթերի կարգը և հավասարեցրել է զրոյական պատյաններով բաժանումը հղման սարքաշարի հետ: Բարձրացվել է MSA հրահանգների էմուլյացիայի կատարումը ամբողջ թվերի հաշվարկների և փոխակերպման գործողությունների համար.
  • PowerPC ճարտարապետության էմուլյատորն այժմ աջակցում է NVIDIA V100/NVLink2 GPU-ների վերահասցեավորումը VFIO-ի միջոցով: Կեղծիների համար ներդրվել է XIVE ընդհատման կարգավորիչի էմուլյացիայի արագացում և ավելացվել է PCI կամուրջների տաք խցանման աջակցություն: Օպտիմալացումներ են կատարվել վեկտորի հրահանգների ընդօրինակման համար (Altivec/VSX);
  • RISC-V ճարտարապետության էմուլյատորին ավելացվել է ապարատային նոր մոդել՝ «spike»: Ավելացվեց աջակցություն ISA 1.11.0-ին: Բարելավվել է ABI-ի 32-բիթանոց համակարգի կանչը, կատարելագործվել է անվավեր հրահանգների մշակումը, և ներկառուցված վրիպազերծիչը բարելավվել է: Ավելացվել է պրոցեսորի տոպոլոգիայի աջակցություն սարքի ծառում;
  • S390 ճարտարապետության էմուլյատորն ավելացրել է աջակցություն «Vector Facility» խմբի բոլոր վեկտորային հրահանգների նմանակման համար և ավելացրել է լրացուցիչ տարրեր՝ աջակցելու gen15 համակարգերին (ներառյալ vfio-ap-ի AP Queue Interruption Facility-ի հավելյալ աջակցությունը): Իրականացված BIOS-ի աջակցություն ECKD DASD-ից բեռնման համար, որը կապված է հյուրի համակարգին vfio-ccw-ի միջոցով;
  • SPARC ճարտարապետության էմուլյատորում sun4m համակարգերի համար, OpenBIOS-ի համար «-vga none» դրոշակի օգտագործման հետ կապված խնդիրները լուծվել են.
  • Tensilica Xtensa ընտանիքի պրոցեսորի էմուլյատորը ներառում է MPU (հիշողության պաշտպանության միավոր) և բացառիկ մուտքի տարբերակներ.
  • «-salvage» տարբերակը ավելացվել է «qemu-img convert» հրամանին՝ I/O սխալների դեպքում պատկերի փոխակերպման գործընթացի խափանումն անջատելու համար (օրինակ՝ կարող է օգտագործվել մասամբ վնասված qcow2 ֆայլերը վերականգնելու համար): Թիմում
    «qemu-img rebase»-ն աշխատում է, երբ մուտքային ֆայլի համար աջակցող ֆայլ դեռ չի ստեղծվել.

  • Ավելացրել է «semihosting» տեխնոլոգիայի միջոցով կազմակերպված ելքը վերահղելու հնարավորությունը (թույլ է տալիս նմանակված սարքին օգտագործել stdout, stderr և stdin ֆայլեր հյուրընկալող կողմում ստեղծելու համար) դեպի chardev backend ("-semihosting-config enable=on,target=native": ,chardev=[ ID]");
  • VMDK բլոկի դրայվերում seSparse ենթաֆորմատի աջակցություն է ավելացվել միայն կարդալու ռեժիմում.
  • Ավելացվել է աջակցություն SiFive GPIO կարգավորիչին GPIO էմուլյացիայի դրայվերում:

Source: opennet.ru

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