Pärast 8 kuu arengut on avaldatud tasuta hüperviisori Xen 4.21 väljaanne. Uue väljaande arendamises osalesid sellised ettevõtted nagu Amazon, Arm, EPAM Systems ja AMD. Projekti kood on kirjutatud C keeles ja levitatakse GPLv2+ litsentsi alusel. Arendust juhib Linux Foundation.
Peamised muudatused Xen 4.21-s:
- Tagatud on täielik tugi Linuxi stubdomainite seadmemudelile, mis võimaldab emuleerida seadmete komponente eraldi mitteprivileegitud kasutaja kaudu. Linuxi stubomains mudeli on välja töötanud QUBES OS projekt ja see toetab uusimate QEMU väljaannete emulatsioonidraiverite kasutamist ning QEMU kinnitusvõimalusi külalissüsteemide jaoks.
- Muudatused x86 arhitektuuri põhinevates süsteemides:
- Lisatud on tugi uue PDX (Page inDeX) struktuuri compressioonialgoritmi jaoks, mis parandab Xen-i toimimist Intel Sierra Forest ja Granite Rapids protsessoritel ebaühtliku füüsilise mälu kaardistamise (sparse memory map) korral, mis lubab tühje alasid.
- Lisatud on võimalus kontrollida MTRR (Memory Type Range Registers) kandevahetust BAR (Base Address Register) baas PCI-seadmest Xen platvormil, mida kasutavad külalissüsteemid HVM režiimis. MTRR-is on vaikimisi PCI-seadmete peegeldatud mälu jaoks seatud UC (uncacheable) atribuudi, mis on reaalsete PCI-seadmete jaoks mõttekas, kuid vähendab Xen platvormi PCI-seadmete jõudlust.
- AMD protsessoritele on lisatud uus draiver amd-cppc/amd-cppc-epp, mis haldab CPU sageduse muutmist optimaalse jõudluse saavutamiseks. Draiveris on kasutusel CPPC (Collaborative Processor Performance Control) mehhanism, mis erineb acpi-cpufreq-st, sest ei ole piiratud kolme jõudluse tasemega ja võimaldab kiiremini reageerida oleku muutustele.
- xenstore-stubdom-i vahekiht, mida kasutatakse xenstored käivitamiseks ilma Dom0 privileegideta, rakendab para-võrgustikes PVH režiimis eluaegse uuendamise toetust.
- Dom0-s PVH režiimis on saavutatud Resizable BAR (Resizable Base Address Register) tehnoloogia tugi, mis võimaldab kohe juurdepääsu kogu PCI Express seadme mälule, mitte ainult blokeeritud kujul.
- PCI-seadmete edastamise võimalus on ellu viidud domU-keskkondades HVM-režiimis (täielik riistvaraline virtualiseerimine) konfiguratsioonides, kus dom0 töötab PVH-režiimis (hübriidne riistvaraline virtualiseerimine ja para-virtualiseerimine).
- Muutused ARM-arhitektuuriga süsteemides:
- Käivitamise võimalus on lisatud stack kaitse mehhanismi jaoks (kood koos "-fstack-protector" lipuga), mis põhineb kanareidie märkide lisamisel stack'i nagu juhuslikud järjendid. Bufferi ülevoolu korral rikutakse kanareidie marke teiste andmete poolt, põhjustades hilisema kontrolli ebatäpsuse ja rakenduse katkestamise.
- Lisatud eSPI (Extended Shared Peripheral Interrupts) mehhanismi tugi, mida pakuvad GICv3.1 katkestuskontrollerid.
- SMMU (System Memory Management Unit) töötlemine on ellu viidud PCIe seadmete edastamisel.
- Lisatud tugi PCI host kontrolleritele, mida kasutatakse neljandas põlvkonnas SoC Renesas R-Car.
- Algne tugi Cortex-R52 ja Cortex-R82 protsessoritele koos MPU (Memory Protection Unit) on lisatud.
- Xeni RISC-V arhitektuuris on ellu viidud põhitoe UART-ile ja võimalus väliste katkestuste töötlemiseks (APLIC/IMSIC) hüperviisori režiimis.
- Continued implementation of secure and reliable programming requirements in C, as outlined in the MISRA-C specifications for critical systems.
- Toetused vanadele GCC ja Clang versioonidele on lõpetatud, nüüd on vähemalt vajalikud GCC 5.1, Clang 11, Binutils 2.25 ja GNU Make 3.80 versioonid.
Allikas: opennet.ru
