A Xen projekt fejlesztői a Xen Hypervisor Raspberry Pi 4-es lapokon történő használatának megvalósításáról. A Xen Raspberry Pi korábbi verzióin való működését a virtualizációt nem támogató, nem szabványos megszakító vezérlő alkalmazása akadályozta. A Raspberry Pi 4-ben egy standard GIC-400 megszakító vezérlő lett alkalmazva, amelyet a Xen támogat, és a fejlesztők arra számítottak, hogy nem lesznek problémák a Xen indításával. De a valóságban minden másképp alakult, és a Xen Raspberry Pi 4-en történő működésének biztosítása érdekében jelentős módosításokat kellett végezni a memória kezelésével kapcsolatos kódban.
A Raspberry Pi 4 első változatai csak az első gigabájt memória címteréhez biztosítottak hozzáférést, ami nem volt elegendő a Dom0 számára. A szükséges módosításokat a Xen 4.14-es kiadásába hajtották végre, de azonnal felmerült egy másik probléma: a Xen alrendszerben a virtuális címek fizikai címekre történő átalakításához használt virt_to_phys hívás nem működött minden virtuális címre, és néhány virtuális cím átalakítási kísérlete hibaüzenettel zárult. E probléma megoldása érdekében egy másik címátalakító funkciót kellett hozzáadni.
Ezzel azonban még nem zárultak le a problémák, és felmerült a DMA működésének sajátossága — a Xen eddig támogatott platformjain (x86, ARM és ARM64) a DMA-címek és a fizikai címek mindig egybeestek, de a Raspberry Pi 4 esetében ezek eltértek. A probléma megoldása a legnehezebbnek bizonyult, és Linux kernel patch-ek fejlesztését igényelte, amelyek a fizikai címek és a DMA-címek közötti átalakítást végezték.
A készített javítások a Linux kernel 5.9-es verziójába bekerültek, és most a Xen készen áll a virtualizáció megvalósítására Raspberry Pi 4-es lapokon. Most már a Raspberry Pi 4-en is használható (Edge Virtualization Engine), a Xen-t használó felhőalapú alkalmazások létrehozásához és futtatásához szükséges motor, és alkalmazás virtuális infrastruktúra létrehozásához hordozható eszközökön.
Ezenkívül meg kell említeni a Xen-ben. A sebezhetőségek ,
és
potenciálisan lehetővé teszik, hogy a vendégrendszer jogosultságokat szerezzen a hoszt környezetében. A problémák
, ,
,
,
,
és
a szolgáltatásmegvonás végrehajtására korlátozódnak.
Forrás: opennet.ru
