From: Igor Druzhinin Date: Tue, 26 Nov 2019 17:08:19 +0000 (+0000) Subject: AMD/IOMMU: honour IR setting while pre-filling DTEs X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~1144 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=195b79a97e6721ba8830036f47d2454545f32e44;p=xen.git AMD/IOMMU: honour IR setting while pre-filling DTEs IV bit shouldn't be set in DTE if interrupt remapping is not enabled. It's a regression in behavior of "iommu=no-intremap" option which otherwise would keep interrupt requests untranslated for all of the devices in the system regardless of wether it's described as valid in IVRS or not. Signed-off-by: Igor Druzhinin Reviewed-by: Andrew Cooper Release-acked-by: Juergen Gross --- diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c index 16e84d43d4..2b81e38f16 100644 --- a/xen/drivers/passthrough/amd/iommu_init.c +++ b/xen/drivers/passthrough/amd/iommu_init.c @@ -1279,7 +1279,7 @@ static int __init amd_iommu_setup_device_table( for ( bdf = 0, size /= sizeof(*dt); bdf < size; ++bdf ) dt[bdf] = (struct amd_iommu_dte){ .v = true, - .iv = true, + .iv = iommu_intremap, }; }