From: Sohil Mehta <sohil.mehta@intel.com>
To: Joerg Roedel <joro@8bytes.org>
Cc: Ashok Raj <ashok.raj@intel.com>,
David Woodhouse <dwmw2@infradead.org>,
iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
Jacob Pan <jacob.jun.pan@linux.intel.com>,
Gayatri Kammela <gayatri.kammela@intel.com>,
Sohil Mehta <sohil.mehta@intel.com>,
Ravi V Shankar <ravi.v.shankar@intel.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Lu Baolu <baolu.lu@linux.intel.com>,
Fenghua Yu <fenghua.yu@intel.com>
Subject: [PATCH v8 0/6] Add Intel IOMMU debugfs support
Date: Tue, 11 Sep 2018 17:11:35 -0700 [thread overview]
Message-ID: <20180912001141.64025-1-sohil.mehta@intel.com> (raw)
Hi All,
This series aims to add debugfs support for Intel IOMMU. It exposes IOMMU
registers, internal context and dumps individual table entries to help debug
Intel IOMMUs.
Patches 1-3 do the ground work for the following patches by reorganizing
some Intel IOMMU data structures, creating a new config option -
INTEL_IOMMU_DEBUGFS and adding an Intel IOMMU debugfs directory. The following
patches add debugfs support for IOMMU resigter contents, Interrupt remapping
and context internals in that order. The information can be accessed in sysfs
at '/sys/kernel/debug/iommu/intel/'.
This series is based on the new VT-d 3.0 specification [1]. The scalable mode
and PASID table debugfs patches are not part of this series. They would be
submitted later once the IOMMU driver patches for the same are accepted and
merged upstream.
Regards,
Sohil
[1] https://software.intel.com/sites/default/files/managed/c5/15/vt-directed-io-spec.pdf
Changes since v7:
- Move to the common iommu directory approach suggested by Joerg
- Remove ECS debugfs support that has been deprecated with the new VT-d spec
- Change filename to intel-iommu-debugfs.c
- Remove the pasid table debugfs patch
- Add MTRR and Virtual command register support
- Use locks to protect register and table access
- Improve seq_printf formatting
- Simplify and split the patches differently
Changes since v6:
- Split patch 1/5 and 2/5 differently
- Simplify and improve code formatting
- Use macro for register set definitions
- Fix compiler warning for readq
- Add Co-Developed-by tag to commit messages
Changes since v5:
- Change the order of includes to an alphabetical order
- Change seq_printf and seq_puts formatting
Changes since v4:
- Change to a SPDX license tag
- Fix seq_printf formatting and remove leading '\n's
Changes since v3:
- Remove an unused function parameter from some of the functions
- Fix checkpatch.pl warnings
- Remove error reporting for debugfs_create_file functions
- Fix unnecessary reprogramming of the context entries
- Simplify and merge the show context and extended context patch into one
- Remove redundant IOMMU null check under for_each_active_iommu
- Update the commit title to be consistent
Changes since v2:
- Added a macro for seq file operations based on recommendation by Andy
Shevchenko. The marco can be moved to seq_file.h at a future point
- Changed the debugfs file names to more relevant ones
- Added information for MTRR registers in the regset file
Changes since v1:
- Fixed seq_printf formatting
- Handled the case when Interrupt remapping is not enabled
Gayatri Kammela (1):
iommu/vt-d: Add debugfs support to show register contents
Sohil Mehta (5):
iommu/vt-d: Relocate struct/function declarations to its header files
iommu/vt-d: Update register definitions to VT-d 3.0 specification
iommu/vt-d: Enable base Intel IOMMU debugfs support
iommu/vt-d: Add debugfs support for Interrupt remapping
iommu/vt-d: Add debugfs support to show context internals
arch/x86/include/asm/irq_remapping.h | 2 +
drivers/iommu/Kconfig | 13 ++
drivers/iommu/Makefile | 1 +
drivers/iommu/intel-iommu-debugfs.c | 314 +++++++++++++++++++++++++++
drivers/iommu/intel-iommu.c | 32 +--
drivers/iommu/intel_irq_remapping.c | 2 +-
include/linux/intel-iommu.h | 72 ++++++
7 files changed, 407 insertions(+), 29 deletions(-)
create mode 100644 drivers/iommu/intel-iommu-debugfs.c
--
2.18.0
next reply other threads:[~2018-09-12 0:10 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-12 0:11 Sohil Mehta [this message]
2018-09-12 0:11 ` [PATCH v8 1/6] iommu/vt-d: Relocate struct/function declarations to its header files Sohil Mehta
2018-09-12 0:11 ` [PATCH v8 2/6] iommu/vt-d: Update register definitions to VT-d 3.0 specification Sohil Mehta
2018-09-12 0:11 ` [PATCH v8 3/6] iommu/vt-d: Enable base Intel IOMMU debugfs support Sohil Mehta
2018-09-12 0:11 ` [PATCH v8 4/6] iommu/vt-d: Add debugfs support to show register contents Sohil Mehta
2018-09-12 0:11 ` [PATCH v8 5/6] iommu/vt-d: Add debugfs support for Interrupt remapping Sohil Mehta
2018-09-12 0:11 ` [PATCH v8 6/6] iommu/vt-d: Add debugfs support to show context internals Sohil Mehta
2018-09-25 12:34 ` [PATCH v8 0/6] Add Intel IOMMU debugfs support Joerg Roedel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180912001141.64025-1-sohil.mehta@intel.com \
--to=sohil.mehta@intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=ashok.raj@intel.com \
--cc=baolu.lu@linux.intel.com \
--cc=dwmw2@infradead.org \
--cc=fenghua.yu@intel.com \
--cc=gayatri.kammela@intel.com \
--cc=iommu@lists.linux-foundation.org \
--cc=jacob.jun.pan@linux.intel.com \
--cc=joro@8bytes.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ravi.v.shankar@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).