Message ID | 1574788099-11821-1-git-send-email-igor.druzhinin@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [for-4.13,v2] AMD/IOMMU: honour IR setting while pre-filling DTEs | expand |
On 26/11/2019 17:08, Igor Druzhinin wrote: > 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 <igor.druzhinin@citrix.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> Juergen: 4.13 justification - this is a regression from 4.12. ~Andrew
On 26.11.19 18:08, Igor Druzhinin wrote: > 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 <igor.druzhinin@citrix.com> Release-acked-by: Juergen Gross <jgross@suse.com> Juergen
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c index 16e84d4..2b81e38 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, }; }
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 <igor.druzhinin@citrix.com> --- xen/drivers/passthrough/amd/iommu_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)