Ներկայացվել է QEMU 7.1 նախագծի թողարկումը։ Որպես էմուլյատոր՝ QEMU-ն թույլ է տալիս գործարկել մեկ ապարատային պլատֆորմի համար կազմված ծրագիր բոլորովին այլ ճարտարապետություն ունեցող համակարգում, օրինակ՝ գործարկել ARM հավելվածը x86-ի հետ համատեղելի համակարգչի վրա: QEMU-ի վիրտուալացման ռեժիմում կոդերի կատարման կատարումը մեկուսացված միջավայրում մոտ է ապարատային համակարգի կատարողականին` պրոցեսորի վրա հրահանգների ուղղակի կատարման և Xen հիպերվիզորի կամ KVM մոդուլի օգտագործման պատճառով:
Նախագիծը սկզբնապես ստեղծվել է Ֆաբրիս Բելլարի կողմից՝ x86 հարթակի համար կազմված կատարվող ֆայլերը գործարկելու հնարավորություն ապահովելու համար։ Linux x86-ից բացի այլ ճարտարապետությունների վրա: Մշակման տարիների ընթացքում 14 ապարատային ճարտարապետությունների համար ավելացվել է լիարժեք էմուլյացիայի աջակցություն, և էմուլացված ապարատային սարքերի թիվը գերազանցել է 400-ը: 7.1 տարբերակի պատրաստման ընթացքում 238 մշակողների կողմից կատարվել է ավելի քան 2800 փոփոխություն:
QEMU 7.1-ում ավելացված հիմնական բարելավումներ.
- Պլատֆորմում Linux Ներդրվել է «զրոյական պատճեն ուղարկելու» տարբերակը, որը թույլ է տալիս հիշողության էջերը փոխանցել ուղիղ միգրացիայի ընթացքում՝ առանց միջանկյալ բուֆերացման։
- QMP-ը (QEMU Machine Protocol) ավելացրել է block-export-add հրամանը օգտագործելու հնարավորություն՝ NBD պատկերները էջի տվյալների հետ «կեղտոտ» վիճակում արտահանելու համար: «query-stats» և «query-stats-schema» նոր հրամանները նույնպես ավելացվել են QEMU-ի տարբեր ենթահամակարգերի հարցումների վիճակագրությանը:
- Guest Agent-ը բարելավել է Solaris պլատֆորմի աջակցությունը և ավելացրել է նոր «guest-get-diskstats» և «guest-get-cpustats» հրամաններ՝ սկավառակի և պրոցեսորի կարգավիճակը ցուցադրելու համար: NVMe SMART-ից տեղեկատվության ելքը ավելացվել է «guest-get-disks» հրամանին, իսկ NVMe ավտոբուսի տեսակի մասին տեղեկատվության ելքը՝ «guest-get-fsinfo» հրամանին:
- Ավելացվեց նոր LoongArch էմուլյատորը, որն աջակցում է LoongArch հրահանգների հավաքածուի ճարտարապետության 64-բիթանոց տարբերակին (LA64): Էմուլյատորն աջակցում է Loongson 3 5000 պրոցեսորներին և Loongson 7A1000 հյուսիսային կամուրջներին:
- ARM էմուլյատորն իրականացնում է նմանակված մեքենաների նոր տեսակներ՝ Aspeed AST1030 SoC, Qaulcomm և AST2600/AST1030 (fby35): Ավելացվել է Cortex-A76 և Neoverse-N1 պրոցեսորների էմուլյացիայի աջակցություն, ինչպես նաև պրոցեսորի ընդլայնումներ SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) և հրամաններ՝ ներքին քեշից արտահոսքի արգելափակման համար հրահանգների սպեկուլյատիվ կատարման ժամանակ: CPU. «virt» մեքենաների համար իրականացվել է GICv4 ընդհատման կարգավորիչի էմուլյացիա:
- x86 ճարտարապետության էմուլյատորում KVM Ավելացվել է LBR (Վերջին ճյուղի գրառում) հետևման մեխանիզմի վիրտուալիզացիայի աջակցություն։
- HPPA ճարտարապետության էմուլյատորն առաջարկում է նոր որոնվածը, որը հիմնված է SeaBIOS v6-ի վրա, որն աջակցում է PS/2 ստեղնաշարի օգտագործմանը boot menu-ում: Բարելավված սերիական պորտի էմուլացիա: Ավելացվեց STI վահանակի լրացուցիչ տառատեսակներ:
- MIPS ճարտարապետության էմուլյատորը Nios2 տախտակների համար (-machine 10m50-ghrd) իրականացնում է վեկտորային ընդհատումների վերահսկիչի և ռեգիստրների ստվերային հավաքածուի նմանակում: Բացառությունների բարելավված կառավարում:
- OpenRISC ճարտարապետության էմուլյատորը «or1k-sim» մեքենայի համար ավելացրել է մինչև 4 16550A UART սարքեր օգտագործելու հնարավորություն:
- RISC-V ճարտարապետության էմուլյատորն ավելացրել է աջակցություն նոր հրահանգների հավաքածուի ընդլայնումների (ISAs) համար, որոնք սահմանված են 1.12.0 ճշգրտման մեջ, ինչպես նաև ավելացրել է աջակցություն Sdtrig ընդլայնման համար և բարելավված աջակցություն վեկտորի հրահանգներին: Բարելավված վրիպազերծման հնարավորություններ: TPM (Trusted Platform Module) աջակցությունն ավելացվել է «virt» նմանակված մեքենային, իսկ Ibex SPI աջակցությունը ավելացվել է «OpenTitan» մեքենային:
- 390x ճարտարապետության էմուլյատորը ապահովում է VEF 2 (Vector-Enhancements Facility 2) ընդարձակման աջակցություն: s390-ccw BIOS-ն ապահովում է 512 բայթից տարբեր հատված ունեցող սկավառակներից բեռնաթափվելու հնարավորություն:
- Xtensa ճարտարապետության էմուլյատորն ավելացրել է աջակցություն lx106 միջուկների և օբյեկտների կոդերի քեշի փորձարկման համար:
Source: opennet.ru
