From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753624AbcEYG3H (ORCPT ); Wed, 25 May 2016 02:29:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55129 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753364AbcEYG3D (ORCPT ); Wed, 25 May 2016 02:29:03 -0400 From: Baoquan He To: joro@8bytes.org Cc: iommu@lists.linux-foundation.org, vincent.wan@amd.com, xlpang@redhat.com, dyoung@redhat.com, linux-kernel@vger.kernel.org, Baoquan He Subject: [Patch v4 0/9] *** Fix kdump failure in system with amd iommu*** Date: Wed, 25 May 2016 14:28:46 +0800 Message-Id: <1464157735-8865-1-git-send-email-bhe@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Wed, 25 May 2016 06:29:02 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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