Projekti Xen arendajad on rakenduse Xen Hypervisor kasutamise võimaluse mateeria Raspberry Pi 4 plaatidel teostamisel. Xen-i kohandamine töötamiseks varasemate Raspberry Pi plaatide variantidega takistas mittestandardne katkestuste kontroller, mis ei toetanud virtualiseerimist. Raspberry Pi 4-l rakendati tavaline katkestuste kontroller GIC-400, mida Xen toetab, ja arendajad lootsid, et Xen-i käivitamisel probleeme ei esine. Kuid tegelikkuses ei osutunud kõik nii lihtsaks ning Xen-i töötamiseks Raspberry Pi 4-l tuli teha olulisi muutusi mälu käsitlemise koodis.
Esimeste Raspberry Pi 4 plaatide versioonide puhul oli juurdepääs piirdunud ainult esimese gigabaidi mälu aadressiruumiga, mis ei olnud piisav Dom0 jaoks. Vajalikud muudatused tehti Xen 4.14 väljalaske puhul, kuid kohe kerkis välja teine probleem — Xen-i alamprotsessis virtuaalsete aadresside füüsilisteks aadressideks muutmiseks kasutati virt_to_phys kutset, mis ei töötanud kõikide virtuaalsete aadresside jaoks ning teatud virtuaalsete aadresside konverteerimise katsed lõpetasid vea. Selle probleemi lahendamiseks tuli lisada teine aadresside muutmisfunktsioon.
Sellega probleemi ei olnud veel lahendatud ja ilmus eripära DMA töös — kõikides varasemalt toetatud Xen platvormides (x86, ARM ja ARM64) olid DMA aadressid ja füüsilised aadressid alati identsed, kuid Raspberry Pi 4 puhul olid need erinevad. Lahenduse leidmine sellele probleemile osutus kõige keerulisemaks ja nõudis Linuxi tuuma patšide väljatöötamist, mis teostavad konversiooni füüsiliste aadresside ja DMA aadresside vahel.
Valmistatud parandused on sisse viidud Linuxi tuumasse 5.9 ja nüüd on Xen tunnustatud virtuaalprotsesside korraldamiseks Raspberry Pi 4 plaatidel. Sealhulgas on Raspberry Pi 4-l nüüd võimalik kasutada (Edge Virtualization Engine), pilvepõhiste rakenduste loomise ja käitamise mootor, mis kasutab Xen-i, ja virtuaalprotsesside infrastruktuuri ehitamiseks kaasaskantavates seadmetes.
Lisaks võib märkida Xen-is. Haavatavused ,
ja
võivad võimaldada külalisüsteemil saada host-keskkonna privileege. Probleemid
, ,
,
,
,
ja
on piiratud teenuse tagamise keelamisega.
Allikas: opennet.ru
