AMD/IOMMU: suppress PTE merging after initial table creation
authorJan Beulich <jbeulich@suse.com>
Tue, 20 Nov 2018 13:55:14 +0000 (14:55 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 20 Nov 2018 13:55:14 +0000 (14:55 +0100)
commit937ef32565fa3a81fdb37b9dd5aa99a1b87afa75
tree8e1289a2297a6b2c68a9db51f6f87de1edb5b01c
parent1a7ffe466cd057daaef245b0a1ab6b82588e4c01
AMD/IOMMU: suppress PTE merging after initial table creation

The logic is not fit for this purpose, so simply disable its use until
it can be fixed / replaced. Note that this re-enables merging for the
table creation case, which was disabled as a (perhaps unintended) side
effect of the earlier "amd/iommu: fix flush checks". It relies on no
page getting mapped more than once (with different properties) in this
process, as that would still be beyond what the merging logic can cope
with. But arch_iommu_populate_page_table() guarantees this afaict.

This is part of XSA-275.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
xen/drivers/passthrough/amd/iommu_map.c
xen/include/asm-x86/iommu.h