Nyolc hónapos fejlesztés után megjelent a Xen 4.21 szabad hypervisor kiadása. Az új verzió fejlesztésében részt vett olyan vállalatok, mint az Amazon, az Arm, az EPAM Systems és az AMD. A projekt kódját C nyelven írták, és GPLv2+ licenc alatt terjesztik. A fejlesztés a Linux Foundation keretein belül zajlik.
Kulcsfontosságú változások a Xen 4.21-ben:
- Teljes támogatás biztosított a Linux stubdomain eszközmodeljának, amely lehetővé teszi az eszközök emulációjához szükséges komponensek végrehajtását elkülönített, nem privilegizált felhasználó alatt. A Linux stubomains modellt a QUBES OS projekt fejlesztette ki, és támogatja a friss QEMU kiadásokból származó emulációs meghajtók használatát, valamint a QEMU által a vendég rendszerek számára elérhető kiegészítő funkciókat.
- Változások az x86 architektúrájú rendszerek számára:
- Új PDX (Page inDeX) struktúra tömörítési algoritmus támogatása került bevezetésre, amely javítja a Xen teljesítményét az Intel Sierra Forest és Granite Rapids processzorain, nemlineáris fizikai memória leképezéssel (sparse memory map), amely lehetővé teszi üres területek meglétét.
- Lehetővé vált a MTRR (Memory Type Range Registers) cache attributumának ellenőrzése a Xen platform alap PCI-eszközének BAR (Base Address Register) regisztrátorához. Alapértelmezés szerint az MTRR-ben a PCI-eszközök nem átkonvertálható (UC) attributumot kapnak, amely valós PCI-eszközöknél ésszerű, de csökkenti a Xen platform PCI-eszközének teljesítményét.
- AMD processzorokhoz új amd-cppc/amd-cppc-epp meghajtó került bevezetésre, amely a CPU frekvenciájának változtatását irányítja az optimális teljesítmény elérése érdekében. A meghajtó a CPPC (Collaborative Processor Performance Control) mechanizmust alkalmazza, amely eltérően az acpi-cpufreq-től nem korlátozódik három teljesítmény szintre, és lehetővé teszi a gyorsabb reagálást az állapotváltozásokra.
- A xenstore-stubdom rétegben, amely a xenstored privilegált Dom0 nélküli indítására szolgál, a PVH módban futó paravirtualizált környezetek számára megvalósították az élő frissítés támogatását.
- A PVH módban működő Dom0 számára megvalósították a Technológiát, amely a Resizable BAR (Resizable Base Address Register), lehetővé téve, hogy az összes PCI Express eszköz memória elérhetővé váljon, nem csak a blokkokhoz kötötten.
- Megvalósult a PCI-eszközök átirányításának lehetősége HVM módban (teljes hardveres virtualizálás) a domU-környezetekben, ahol a dom0 PVH módban (hibridek hardveres virtualizálás és paravirtualizálás) működik.
- Változások az ARM architektúrájú rendszerek számára:
- Hozzáadva a veremvédelmi mechanizmus engedélyezésének lehetősége (a „-fstack-protector” zászlóval való buildeléssel), amely a verembe úgynevezett kannás címkéket — véletlenszerű sorrendeket — ad hozzá. Amennyiben a sebezhetőség kihasználása során a puffert túllépik, a kannás címke más adatokkal felülíródik, ami a címke változatlanságának későbbi ellenőrzését aktiválja és a program vészleállítását idézi elő.
- Hozzáadva az eSPI (Kiterjesztett Megosztott Perifériás Megszakítások) mechanizmus támogatása, amelyet a GICv3.1 megszakító vezérlők biztosítanak.
- Megvalósították az SMMU (Rendszer Memória Kezelő Egység) feldolgozását PCIe eszközök átirányításakor.
- Hozzáadva a negyedik generációs SoC Renesas R-Car-ban alkalmazott PCI hosztvezérlők támogatása.
- Kezdeti támogatás került hozzáadásra a Cortex-R52 és Cortex-R82 processzorokhoz MPU (Memória Védelem Egység) mellett.
- A RISC-V architektúrájú Xen portjában alap támogatás került bevezetésre UART és külső megszakítások (APLIC/IMSIC) feldolgozására hipervizor módban.
- Folytatódik a C programozási nyelven történő biztonságos és megbízható szoftverfejlesztés követelményeinek megvalósítása, ahogy azt a kritikus rendszerekhez készült MISRA-C specifikációk megfogalmazták.
- A régi GCC és Clang verziók támogatása megszűnt, a buildeléshez mostantól legalább GCC 5.1, Clang 11, Binutils 2.25 és GNU Make 3.80 szükséges.
Forrás: opennet.ru
