Dla Xen rozwijany jest mechanizm parawirtualizacji IOMMU

Deweloperzy projektu XCP-NG, który rozwija otwartą platformę do wdrażania i zarządzania infrastrukturą chmurową, przedstawili projekt PV-IOMMU, umożliwiający systemom gościnnym dostęp do ograniczonej funkcjonalności IOMMU, realizowanej z wykorzystaniem infrastruktury parawirtualizacji Xen. W praktyce PV-IOMMU może być stosowane do wdrażania ochrony DMA w Dom0 lub zapewnienia wsparcia dla podsystemu jądra Linux VFIO. Wcześniej hipernadzorca Xen używał IOMMU do przekazywania dostępu do urządzeń PCI i ograniczania dostępu urządzeń do pamięci, jednak z powodów stabilności i bezpieczeństwa systemy gościnne nie mogły bezpośrednio odnosić się do dostarczonego sprzętowego bloku IOMMU.

IOMMU to specjalizowany blok zarządzania pamięcią, który wykonuje translację wirtualnych adresów widocznych dla urządzenia sprzętowego na adresy fizyczne, umożliwiając wykonywanie i filtrowanie operacji DMA na wirtualnych adresach oraz ograniczanie i izolowanie operacji wejścia-wyjścia. W kontekście wirtualizacji IOMMU pozwala systemom gościnnym na bezpośredni dostęp do urządzeń peryferyjnych, takich jak adaptery Ethernet, karty graficzne i kontrolery urządzeń pamięci. Implementacja IOMMU od firmy Intel nosi nazwę VT-d (Technologia Wirtualizacji dla Zdalnego I/O), AMD — AMD-Vi (Wirtualizacja I/O), a ARM — SMMU (Jednostka Zarządzania Pamięcią Systemu).

Proponowana parawirtualizowana implementacja (PV-IOMMU) pozwala systemom gościnnym korzystać z podstawowych możliwości IOMMU, ale abstrahuje od wszelkich niskopoziomowych szczegółów sprzętowych. Aby włączyć ją do składu Xen, zaproponowano nowy hipernadzorca (analog systemowego wywołania dla hipernadzorców) HYPERVISOR_iommu_op, z którego mogą korzystać systemy gościnne do wykonywania operacji IOMMU. Między innymi, systemy gościnne mogą teraz tworzyć i modyfikować domeny IOMMU (domena IOMMU), nazywane w Xen kontekstami IOMMU (kontekst IOMMU), aby uniknąć zamieszania z terminem „domena” w Xen. Konteksty IOMMU pozwalają zorganizować dostęp systemu gościnnego do pamięci urządzeń i definiować operacje translacji pamięci stosowane do jednego lub wielu urządzeń.

Na obecnym etapie rozwoju w PV-IOMMU obsługiwana jest tylko technologia Intel VT-d, ale wkrótce planowane jest dodanie wsparcia dla AMD-Vi i SMMUv3.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster