GNU/Linux >> Tutoriales Linux >  >> Linux

¿Pci-stub Vs Vfio-pci?

Me gustaría preguntarle, ¿cuál es la ventaja de usar VFIO-PCI sobre PCI-STUB?

Encontré este artículo "Paso a través de PCI a través de OVMF", pero no dicen todas las ventajas, solo dicen que VFIO tiene algunos beneficios.

Gracias

Respuesta aceptada:

PCI-STUB es un controlador ficticio. Se desarrolló originalmente porque
la asignación del dispositivo KVM original en realidad no se vinculaba con el dispositivo
asignado como controlador de host, simplemente tomaba el dispositivo y comenzaba a usarlo
. Como KVM no es un controlador de dispositivo adecuado, otro controlador de host podría intentar vincularse al dispositivo mientras KVM lo tenía asignado a un usuario. El controlador pci-stub se introdujo para ocupar la ranura del controlador del dispositivo mientras que KVM lo usaba.

A diferencia de pci-stub, vfio es una interfaz completa para controladores de espacio de usuario
. Proporciona acceso seguro, aislado y protegido por IOMMU al
dispositivo.

Ventajas de vfio:

  1. pci-stub a menudo está integrado en el kernel, lo que le permite vincularse a dispositivos antes que los controladores que son módulos cargables. Con esta configuración, podemos indicarle a pci-stub que se vincule a los dispositivos antes de que el controlador del host pueda acceder a ellos, de modo que podamos mantener el dispositivo en un estado impecable para asignarlo a un
    invitado.

  2. El otro caso de uso menor con vfio es con la agrupación IOMMU. Si
    tiene un grupo con varios dispositivos, todos los dispositivos del grupo deben estar
    vinculados a controladores compatibles o, de lo contrario, vfio considerará que el grupo
    no es viable. Esto tiene como objetivo evitar que los controladores de host se encuentren dentro del mismo grupo
    que un dispositivo controlado por el usuario, ya que no estarían aislados
    entre sí. Con pci-stub, sabemos que este controlador no inicia ninguna
    DMA en nombre del host, por lo que lo consideramos compatible.

    Por lo tanto, si tiene puntos finales en su grupo IOMMU con los que necesita hacer algo para que el grupo sea viable, pero quiere asegurarse de que el usuario no tenga acceso a él, puede vincular el dispositivo a pci-stub. Esto agrega un poco de protección adicional en lugar de vincular el dispositivo a vfio-pci, ya que un usuario comprometido no podría simplemente abrir otros dispositivos dentro del grupo que están vinculados a vfio-pci a través de la interfaz de vfio.

Relacionado:¿Cómo determinar la codificación de caracteres que usa una terminal en un programa C/C++?
Linux
  1. ¿Configurar el dispositivo Alsa predeterminado (hw:0,0) en Asoundrc?

  2. Cómo crear un dispositivo de bloque virtual (dispositivo de bucle/sistema de archivos) en Linux

  3. Comando setpci:configurar el dispositivo PCI

  4. no queda espacio en el dispositivo

  5. el dispositivo sshfs está ocupado

Cómo instalar un controlador de dispositivo en Linux

Todo es archivo en Linux – Parte 1

¿Replicar una tarjeta SD?

¿Usar un dispositivo a través de SSH?

¿Dispositivo de bucle permanente?

¿Cómo montar un dispositivo en Linux?