GNU/Linux >> Znalost Linux >  >> Linux

Pci-stub vs Vfio-pci?

Chtěl bych se vás zeptat, jaká je výhoda použití VFIO-PCI oproti PCI-STUB?

Našel jsem tento článek “PCI passthrough via OVMF”, ale neříkají všechny výhody, jen říkají, že VFIO má nějaké výhody.

Děkuji

Přijatá odpověď:

PCI-STUB je fiktivní ovladač. Původně byl vyvinut, protože
původní přiřazení zařízení KVM se ve skutečnosti nesvázalo s přiřazeným
zařízením jako hostitelský ovladač, jednoduše zařízení uchopil a začal jej používat
. Protože KVM není správný ovladač zařízení, mohl by se jiný hostitelský ovladač pokusit navázat na zařízení, zatímco KVM jej měl přiřazeno uživateli. Ovladač pci-stub byl představen, aby zabíral slot ovladače pro zařízení, zatímco KVM jej využívalo.

Na rozdíl od pci-stub je vfio kompletní rozhraní pro ovladače uživatelského prostoru
. Poskytuje bezpečný, izolovaný a IOMMU chráněný přístup k
zařízení.

Výhody vfio:

  1. pci-stub je často zabudován do jádra, což mu umožňuje vázat se na zařízení dříve než ovladače, které jsou zaváděcími moduly. S tímto nastavením můžeme instruovat pci-stub, aby se navázal na zařízení dříve, než se k nim dostane hostitelský ovladač, takže můžeme zařízení udržet v původním stavu pro přiřazení
    hostovi.

  2. Dalším menším případem použití s ​​vfio je seskupení IOMMU. Pokud
    máte skupinu s více zařízeními, všechna zařízení ve skupině musí být
    svázána s kompatibilními ovladači, jinak vfio bude skupinu považovat
    za neživotaschopnou. To má zabránit hostitelským ovladačům ve stejné
    skupině jako uživatelsky ovládané zařízení, protože by od sebe nebyly
    izolovány. U pci-stub víme, že tento ovladač neiniciuje žádné
    DMA jménem hostitele, takže jej považujeme za kompatibilní.

    Pokud tedy máte ve své skupině IOMMU koncové body, se kterými potřebujete něco udělat, aby byla skupina životaschopná, ale chcete se ujistit, že k nim uživatel nemá přístup, můžete zařízení svázat s pci-stub. To přidává trochu extra ochrany oproti navázání zařízení na vfio-pci, protože kompromitovaný uživatel nemohl jednoduše otevřít další zařízení ve skupině, která jsou vázána na vfio-pci přes rozhraní vfio.

Související:Jak určit kódování znaků, které terminál používá v programu C/C++?
Linux
  1. Linux – Sysfs a Devtmpfs?

  2. uflash:příkaz nenalezen

  3. příkaz setpci – konfigurace PCI zařízení

  1. Bash:Na zařízení nezbývá místo

  2. V zařízení nezbývá místo

  3. Používat zařízení přes SSH?

  1. Jak nainstalovat ovladač zařízení v systému Linux

  2. Konfigurace výchozího zařízení Alsa (hw:0,0) v Asoundrc?

  3. sshfs zařízení je zaneprázdněné