Utvecklarna av projektet Xen om implementeringen av möjligheten att anvÀnda Xen Hypervisor pÄ Raspberry Pi 4-kort. Anpassningar av Xen för att fungera pÄ tidigare versioner av Raspberry Pi-hÄrdvara hindrades av anvÀndningen av en icke-standard avbrottskontroller som saknade stöd för virtualisering. PÄ Raspberry Pi 4 anvÀndes en vanlig avbrottskontroller, GIC-400, som stöds i Xen, och utvecklarna förvÀntade sig att det inte skulle uppstÄ nÄgra problem med att starta Xen. Men i verkligheten visade sig allt inte vara som förvÀntat, och för att möjliggöra Xen:s funktion pÄ Raspberry Pi 4 var det nödvÀndigt att göra betydande Àndringar i koden för att hantera minnet.
De första versionerna av Raspberry Pi 4 begrÀnsade tillgÄngen endast till adressutrymmet av den första gigabyten av minnet, vilket var otillrÀckligt för Dom0. NödvÀndiga Àndringar gjordes i Xen 4.14, men redan dÄ dök ett annat problem upp - i den virtuella adresskonverteringsmodulen i Xen anvÀndes ett anrop till virt_to_phys, som inte fungerade för alla virtuella adresser, och försök att konvertera vissa virtuella adresser resulterade i fel. För att lösa detta problem var det nödvÀndigt att lÀgga till en annan adresskonverteringsfunktion.
Problemen slutade inte hÀr och en sÀrskild funktion i DMA blev uppenbar - pÄ alla tidigare stödja plattformar i Xen (x86, ARM och ARM64) var DMA-adresser och fysiska adresser alltid lika, men pÄ Raspberry Pi 4 skilde de sig Ät. Att hitta en lösning pÄ detta problem visade sig vara det svÄraste och krÀvde utveckling av patchar för Linux-kÀrnan som utförde konvertering mellan fysiska adresser och DMA-adresser.
De förberedda korrigeringarna ingick i Linux-kÀrnan 5.9 och nu Àr Xen erkÀnd som redo för att organisera virtualisering pÄ Raspberry Pi 4-kort. Inklusive pÄ Raspberry Pi 4 kan nu anvÀndas (Edge Virtualization Engine), en motor för att skapa och köra cloud-native-appar som anvÀnder Xen, och för att bygga virtualiseringsinfrastruktur pÄ bÀrbara enheter.
Dessutom kan vi notera avhjÀlpandet av i Xen. SÄrbarheterna ,
och
kan potentiellt tillÄta gÀstsystmet att erhÄlla behörigheter till vÀrdmiljöen. Problemen
, ,
,
,
,
och
begrÀnsas till att utföra överbelastningsattacker.
KĂ€lla: opennet.ru
