From 6a258d8d5523c9b529ae2607d7f49e48eea8beeb Mon Sep 17 00:00:00 2001 From: Jason Wang Date: Mon, 10 Jul 2017 17:10:41 +0800 Subject: [PATCH] [virtio] Support VIRTIO_NET_F_IOMMU_PLATFORM Since we don't enable IOMMU at all, we can then simply enable the IOMMU support by claiming the support of VIRITO_F_IOMMU_PLATFORM. This fixes booting failure when iommu_platform is set from qemu cli. Signed-off-by: Jason Wang Signed-off-by: Michael Brown --- src/drivers/net/virtio-net.c | 3 ++- src/include/ipxe/virtio-ring.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/drivers/net/virtio-net.c b/src/drivers/net/virtio-net.c index 4151532e..fe79a92c 100644 --- a/src/drivers/net/virtio-net.c +++ b/src/drivers/net/virtio-net.c @@ -259,7 +259,8 @@ static int virtnet_open_modern ( struct net_device *netdev ) { ( 1ULL << VIRTIO_NET_F_MAC ) | ( 1ULL << VIRTIO_NET_F_MTU ) | ( 1ULL << VIRTIO_F_VERSION_1 ) | - ( 1ULL << VIRTIO_F_ANY_LAYOUT ) ) ); + ( 1ULL << VIRTIO_F_ANY_LAYOUT ) | + ( 1ULL << VIRTIO_F_IOMMU_PLATFORM ) ) ); vpm_add_status ( &virtnet->vdev, VIRTIO_CONFIG_S_FEATURES_OK ); status = vpm_get_status ( &virtnet->vdev ); diff --git a/src/include/ipxe/virtio-ring.h b/src/include/ipxe/virtio-ring.h index e608e624..852769f2 100644 --- a/src/include/ipxe/virtio-ring.h +++ b/src/include/ipxe/virtio-ring.h @@ -20,6 +20,7 @@ #define VIRTIO_F_ANY_LAYOUT 27 /* v1.0 compliant. */ #define VIRTIO_F_VERSION_1 32 +#define VIRTIO_F_IOMMU_PLATFORM 33 #define MAX_QUEUE_NUM (256)