AMD/IOMMU: introduce 128-bit IRTE non-guest-APIC IRTE format
authorJan Beulich <jbeulich@suse.com>
Wed, 31 Jul 2019 11:17:01 +0000 (13:17 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 31 Jul 2019 11:17:01 +0000 (13:17 +0200)
commit8f3c86381c3f3b58e77c45db7cfa5c31525f397c
tree9093e28820cef273f64295e1c243b53017f989e1
parentd4919102cf31c070ccc908421ea24f4246b08eda
AMD/IOMMU: introduce 128-bit IRTE non-guest-APIC IRTE format

This is in preparation of actually enabling x2APIC mode, which requires
this wider IRTE format to be used.

A specific remark regarding the first hunk changing
amd_iommu_ioapic_update_ire(): This bypass was introduced for XSA-36,
i.e. by 94d4a1119d ("AMD,IOMMU: Clean up old entries in remapping
tables when creating new one"). Other code introduced by that change has
meanwhile disappeared or further changed, and I wonder if - rather than
adding an x2apic_enabled check to the conditional - the bypass couldn't
be deleted altogether. For now the goal is to affect the non-x2APIC
paths as little as possible.

Take the liberty and use the new "fresh" flag to suppress an unneeded
flush in update_intremap_entry_from_ioapic().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Brian Woods <brian.woods@amd.com>
xen/drivers/passthrough/amd/iommu_intr.c