linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Patch v4 0/9] *** Fix kdump failure in system with amd iommu***
@ 2016-05-25  6:28 Baoquan He
  2016-05-25  6:28 ` [Patch v4 1/9] iommu/amd: clean up the cmpxchg64 invocation Baoquan He
                   ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Baoquan He @ 2016-05-25  6:28 UTC (permalink / raw)
  To: joro; +Cc: iommu, vincent.wan, xlpang, dyoung, linux-kernel, Baoquan He

Hi Joerg,

Recently I have time to continue the work of fixing AMD IOMMU faults in
kdump kernel. The situation is I tried to make change at the time point
as Intel iommu has done, but still Ethernet NIC will trigger the printing
of IO_PAGE_FAULT. I got 2 machines with AMD IOMMU v1 and v2 separately,
the test result is similar, always there are IO_PAGE_FAULT message for
Ethernet network card. I have no idea why it happened though I did it
just like Intel IOMMU did.

In this v4 change, I just made changes as follows:

1) Several clean up patches when I reviewed AMD IOMMU code.
2) Detect if it's pre-enabled in kdump kernel.
3) Copy dev tables in kdump kernel. Since dev table is per device we just
   need to copy the content in dev table, the io page table pointer and
   irq table pointer are contained in each dev table entry.
4) Reserved the domain id which has been allocated in 1st kernel
5) Do not re-enable or re-init the dev table entry bits or control bit
   of AMD IOMMU.

Post this to mailing list, hope it can be figured out which need be further
changed.

v3->v4:
    1)Define several PTE/DTE bits MACRO definition according to Zongshun's
      comments.
    2)Learned the implementation of vt-d fix done by Joerg and did the AMD
      IOMMU change similiarly.

Baoquan HE (4):
  iommu/amd: add early_enable_iommu() helper function
  iommu/amd: copy old trans table from old kernel
  iommu/amd: Do not initialize dev tables again in kdump
  iommu/amd: Check the validation of irq table and domain id

Baoquan He (5):
  iommu/amd: clean up the cmpxchg64 invocation
  iommu/amd: Use standard bitmap operation to set bitmap
  iommu/amd: Detect pre enabled translation
  iommu/amd: Define bit fields for DTE particularly
  iommu/amd: Add function copy_dev_tables

 drivers/iommu/amd_iommu.c       |  21 +++----
 drivers/iommu/amd_iommu_init.c  | 136 +++++++++++++++++++++++++++++++++++-----
 drivers/iommu/amd_iommu_types.h |  29 +++++++--
 3 files changed, 156 insertions(+), 30 deletions(-)

-- 
2.5.5

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2016-05-30  5:11 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-25  6:28 [Patch v4 0/9] *** Fix kdump failure in system with amd iommu*** Baoquan He
2016-05-25  6:28 ` [Patch v4 1/9] iommu/amd: clean up the cmpxchg64 invocation Baoquan He
2016-05-25  6:28 ` [Patch v4 2/9] iommu/amd: Use standard bitmap operation to set bitmap Baoquan He
2016-05-25  6:28 ` [Patch v4 3/9] iommu/amd: Detect pre enabled translation Baoquan He
2016-05-28 12:49   ` Wan Zongshun
2016-05-30  3:24     ` Baoquan He
2016-05-30  3:27       ` Baoquan He
2016-05-25  6:28 ` [Patch v4 4/9] iommu/amd: add early_enable_iommu() helper function Baoquan He
2016-05-25  6:28 ` [Patch v4 5/9] iommu/amd: Define bit fields for DTE particularly Baoquan He
2016-05-25  6:28 ` [Patch v4 6/9] iommu/amd: Add function copy_dev_tables Baoquan He
2016-05-28 13:08   ` Wan Zongshun
2016-05-30  3:32     ` Baoquan He
2016-05-25  6:28 ` [Patch v4 7/9] iommu/amd: copy old trans table from old kernel Baoquan He
2016-05-28 13:25   ` Wan Zongshun
2016-05-25  6:28 ` [Patch v4 8/9] iommu/amd: Do not initialize dev tables again in kdump Baoquan He
2016-05-25  6:28 ` [Patch v4 9/9] iommu/amd: Check the validation of irq table and domain id Baoquan He
2016-05-28 13:30   ` Wan Zongshun
2016-05-30  5:10     ` Baoquan He
2016-05-25  7:02 ` [Patch v4 0/9] *** Fix kdump failure in system with amd iommu*** Baoquan He
2016-05-25  7:15   ` Baoquan He

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).