Efter 8 mÄnaders utveckling har den fria hypervisorn Xen 4.21 slÀppts. Företag som Amazon, Arm, EPAM Systems och AMD har deltagit i utvecklingen av den nya versionen. Projektets kod Àr skriven i C och distribueras under GPLv2+-licensen. Utvecklingen sker under Linux Foundations organisation.
NyckelförÀndringar i Xen 4.21:
- FullstÀndigt stöd för Linux stubdomain-enhetsmodell har tillhandahÄllits, vilket gör det möjligt att köra komponenter för att emulera enheter under en separat icke-privilegierad anvÀndare. Linux stubomains-modellen har utvecklats av QUBES OS-projektet och stöder anvÀndning av emulatorer frÄn de senaste QEMU-versionerna, samt QEMU:s tillgÀngliga funktioner för gÀstsystem.
- Ăndringar för system baserade pĂ„ x86-arkitekturen:
- Stöd för den nya PDX (Page inDeX) komprimeringsalgoritmen har lagts till, vilket förbÀttrar Xen:s prestanda pÄ Intel Sierra Forest och Granite Rapids-processorer vid icke-linjÀr avbildning av fysisk minne (sparse memory map) som tillÄter tomma omrÄden.
- Möjlighet att kontrollera cache-attributet i MTRR (Memory Type Range Registers) för BAR (Base Address Register) i grund-PIC-enheten pÄ Xen-plattformen har lagts till, vilket anvÀnds av gÀstsystem i HVM-lÀge. Som standard anges UC (uncacheable) attribut för det reflekterade minnet av PCI-enheter i MTRR, vilket Àr meningsfullt för verkliga PCI-enheter, men som endast sÀnker prestandan för PCI-enheten pÄ Xen-plattformen.
- För AMD-processorer har en ny drivrutin, amd-cppc/amd-cppc-epp, lagts till för att styra CPU-frekvensÀndringar för att uppnÄ optimal prestanda. Drivrutinen anvÀnder CPPC (Collaborative Processor Performance Control) mekanismen, som till skillnad frÄn acpi-cpufreq inte Àr begrÀnsad till tre prestandanivÄer och kan reagera snabbare pÄ förÀndrade tillstÄnd.
- I xenstore-stubdom-lÀget, som anvÀnds för att köra xenstored utan privilegier frÄn Dom0, har stöd för live-uppdatering implementerats för paravirtualiserade miljöer i PVH-lÀge.
- För Dom0 i PVH-lÀge har stöd för teknologin Resizable BAR (Resizable Base Address Register) implementerats, vilket gör det möjligt att fÄ tillgÄng till hela minnet för PCI Express-enheten, istÀllet för att endast vara kopplad till block.
- Möjligheten att vidarebefordra PCI-enheter till domU-miljöer i HVM-lÀge (fullstÀndig hÄrdvaruvirtualisering) har implementerats i konfigurationer dÀr dom0 körs i PVH-lÀge (hybrid hÄrdvaruvirtualisering och paravirtualisering).
- Ăndringar för system baserade pĂ„ ARM-arkitekturen:
- Möjligheten att aktivera en stackskyddsmekanism (kompilering med flaggan â-fstack-protectorâ), baserat pĂ„ att kanariefĂ„glar, slumpmĂ€ssiga sekvenser, lĂ€ggs till i stacken, har lagts till. Vid ett buffertöverskridande under utnyttjande av en sĂ„rbarhet kommer kanariefĂ„gelstecknet att skrivas över med andra data, vilket leder till att den efterföljande kontrollen av att steget inte har Ă€ndrats aktiveras och orsakar en nödstopp av applikationen.
- Stödet för eSPI-mekanismen (Extended Shared Peripheral Interrupts) som tillhandahÄlls av GICv3.1 avbrottskontroller har lagts till.
- Behandling av SMMU (System Memory Management Unit) vid vidarebefordran av PCIe-enheter har implementerats.
- Stödet för PCI-vÀrdkontroller som anvÀnds i den fjÀrde generationens SoC Renesas R-Car har lagts till.
- Inledande stöd för processorerna Cortex-R52 och Cortex-R82 med MPU (Memory Protection Unit) har lagts till.
- I Xen-porten för RISC-V-arkitekturen har grundlÀggande stöd för UART och möjlighet att hantera externa avbrott (APLIC/IMSIC) i hypervisorlÀge implementerats.
- Arbetet med att uppfylla krav pÄ utveckling av sÀkra och pÄlitliga program i C, formulerat i MISRA-C-specifikationerna för kritiska system, har fortsatt.
- Stödet för gamla versioner av GCC och Clang har upphört, och minst versionerna GCC 5.1, Clang 11, Binutils 2.25 och GNU Make 3.80 krÀvs nu för kompilering.
KĂ€lla: opennet.ru
