iommu/amd: Don't copy GCR3 table root pointer
authorBaoquan He <bhe@redhat.com>
Wed, 9 Aug 2017 08:33:43 +0000 (16:33 +0800)
committerJoerg Roedel <jroedel@suse.de>
Tue, 15 Aug 2017 16:14:41 +0000 (18:14 +0200)
commitdaae2d25a4779b272a66ddd01f5810bcee822b9e
tree739b63a3bdaf1d65e4edc17681637e0b2bf39a69
parentb336781b82cc12c7940a2b1c806fbe7f78ecd72a
iommu/amd: Don't copy GCR3 table root pointer

When iommu is pre_enabled in kdump kernel, if a device is set up with
guest translations (DTE.GV=1), then don't copy GCR3 table root pointer
but move the device over to an empty guest-cr3 table and handle the
faults in the PPR log (which answer them with INVALID). After all these
PPR faults are recoverable for the device and we should not allow the
device to change old-kernels data when we don't have to.

Signed-off-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd_iommu.c
drivers/iommu/amd_iommu_init.c
drivers/iommu/amd_iommu_proto.h
drivers/iommu/amd_iommu_types.h
drivers/iommu/amd_iommu_v2.c