From fb3608fa6d3a7544336bdb004170640d59131bdc Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Sep 05 2017 07:19:04 +0000 Subject: import ipxe-20170123-1.git4e85b27.el7_4.1 --- diff --git a/SOURCES/ipxe-Support-VIRTIO_NET_F_IOMMU_PLATFORM.patch b/SOURCES/ipxe-Support-VIRTIO_NET_F_IOMMU_PLATFORM.patch new file mode 100644 index 0000000..96dc56a --- /dev/null +++ b/SOURCES/ipxe-Support-VIRTIO_NET_F_IOMMU_PLATFORM.patch @@ -0,0 +1,61 @@ +From 615cbcc0d0ebf1509aa15bfc4468aabae3e93626 Mon Sep 17 00:00:00 2001 +From: Xiao Wang +Date: Tue, 18 Jul 2017 09:05:06 +0200 +Subject: [PATCH] Support VIRTIO_NET_F_IOMMU_PLATFORM + +RH-Author: Xiao Wang +Message-id: <1500368706-1228-1-git-send-email-jasowang@redhat.com> +Patchwork-id: 75798 +O-Subject: [RHEL7.4z ipxe PATCH] [virtio] Support VIRTIO_NET_F_IOMMU_PLATFORM +Bugzilla: 1481180 +RH-Acked-by: wexu@redhat.com +RH-Acked-by: Jens Freimann +RH-Acked-by: Maxime Coquelin +RH-Acked-by: Michael S. Tsirkin + +Bugzilla: 1467887 +Test status: Tested by my self +Brew Build: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=13674196 + +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 +(cherry picked from commit 6a258d8d5523c9b529ae2607d7f49e48eea8beeb) +Signed-off-by: Miroslav Rezanina +--- + 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 4151532..fe79a92 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 e608e62..852769f 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) + +-- +1.8.3.1 + diff --git a/SPECS/ipxe.spec b/SPECS/ipxe.spec index 6a31e15..8d18b23 100644 --- a/SPECS/ipxe.spec +++ b/SPECS/ipxe.spec @@ -40,7 +40,7 @@ Name: ipxe Version: %{date} -Release: 1.git%{hash}%{?dist} +Release: 1.git%{hash}%{?dist}.1 Summary: A network boot loader Group: System Environment/Base @@ -56,6 +56,8 @@ Patch3: 0003-add-custom-Makefile-for-EfiRom-RHEL-only.patch Patch4: 0005-Use-spec-compliant-timeouts.patch Patch5: 0008-Enable-IPv6-protocol-in-non-QEMU-builds.patch Patch6: 0009-Strip-802.1Q-VLAN-0-priority-tags.patch +# For bz#1481180 - iommu platform support for ipxe [rhel-7.4.z] +Patch7: ipxe-Support-VIRTIO_NET_F_IOMMU_PLATFORM.patch %ifarch %{buildarches} BuildRequires: perl @@ -128,6 +130,7 @@ patch_command="patch -p1 -s" %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 %build %ifarch %{buildarches} @@ -224,6 +227,11 @@ done %endif %changelog +* Thu Aug 17 2017 Miroslav Rezanina - 20170123-1.git4e85b27.el7_4.1 +- ipxe-Support-VIRTIO_NET_F_IOMMU_PLATFORM.patch [bz#1481180] +- Resolves: bz#1481180 + (iommu platform support for ipxe [rhel-7.4.z]) + * Fri Mar 10 2017 Miroslav Rezanina - 20170123-1.git4e85b27.el7 - Rebase to commit 4e85b27 [bz#1413781] - Resolves: bz#1413781