From: Sairaj Kodilkar <sarunkod@amd.com>
To: "Joerg Roedel (AMD)" <joro@8bytes.org>,
Adrian Huang <ahuang12@lenovo.com>,
Joerg Roedel <jroedel@suse.de>,
Robin Murphy <robin.murphy@arm.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Vasant Hegde <vasant.hegde@amd.com>,
"Will Deacon" <will@kernel.org>, <iommu@lists.linux.dev>,
<linux-kernel@vger.kernel.org>
Cc: Sairaj Kodilkar <sarunkod@amd.com>
Subject: [PATCH v3 0/3] iommu/amd: IVMD handling cleanup and ivmd= boot override
Date: Fri, 6 Nov 2026 09:46:47 +0530 [thread overview]
Message-ID: <20261106041650.24076-1-sarunkod@amd.com> (raw)
This series refreshes how the AMD IOMMU driver models IVRS IVMD entries
after the hardware exclusion range registers were repurposed.
The first patch renames the associated MMIO offsets to reflect completion-wait
store base/limit.
The second patch drops the workaround that forced IVMD exclusion ranges to
r/w unity mappings; the driver no longer programs exclusion range
registers, so that the workaround is obsolete.
The third patch centralizes IVMD flag definitions, renames the unity-map
structures to ivmd_entry, stores the raw IVMD flags byte from ACPI, and
derives IOMMU reserved regions (including exclusion as IOMMU_RESV_RESERVED)
from those flags.
The fourth patch adds an ivmd= kernel parameter so up to four per-device
IVMD-style ranges can be supplied from the command line when the IVRS
table is wrong or incomplete, documented in kernel-parameters.txt.
Changes from v2:
https://lore.kernel.org/all/20260424092213.16976-1-suravee.suthikulpanit@amd.com/#t
*Patch 2: Report an IVMD exclusion range as IOMMU_RESV_RESERVED in this
patch, instead of leaving that for patch 3. This patch stops
forcing the exclusion to read/write unity, the range has no read
or write permission. iommu_map() rejects that, so a tree checked
out at patch 2 does not boot. Reserving the range in the same
patch keeps the series bisectable.
* Patch 4: Drop this patch, ivmd= command line does not have any real use and
complicates driver
Change from v1:
(https://lore.kernel.org/linux-iommu/20260420170033.6780-1-suravee.suthikulpanit@amd.com/)
* Rebase on top of patch "[PATCH] iommu/amd: Remove dead code for exclusion ranges in IVMD"
that was submitted by Yu Zhang <zhangyu1@linux.microsoft.com>.
(https://lore.kernel.org/all/20260331152550.479841-1-zhangyu1@linux.microsoft.com/)
* Patch 1: Modified to only rename the marco.
* Patch 3: Reintroduce logic to parse IVMD exclusion flag to allow
reserve region of type IOMMU_RESV_RESERVED.
* Patch 4:
- Update the sscan function to scan start, length, flags in hex format only.
- Fix apply_ivmd_cmdline_entries() to not free the cmd, which points to
the early_ivmd_cmdline_map[] on failure path.
Suravee Suthikulpanit (2):
iommu/amd: Drop unused global exclusion range fields and init
iommu/amd: Do not convert IVMD exclusion range to unity range
iommu/amd: Rename unity_map_entry and unit_map to ivmd_entry and
ivhd_entry_map
drivers/iommu/amd/amd_iommu_types.h | 22 ++++++------
drivers/iommu/amd/init.c | 54 ++++++++++++-----------------
drivers/iommu/amd/iommu.c | 28 ++++++++++++---
3 files changed, 58 insertions(+), 46 deletions(-)
Base: 945b3729fca6176fdbb83e38c8116b0132c68fbe
--
2.34.1
next reply other threads:[~2026-11-06 4:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-06 4:16 Sairaj Kodilkar [this message]
2026-11-06 4:16 ` [PATCH v3 1/3] iommu/amd: Drop unused global exclusion range fields and init Sairaj Kodilkar
2026-11-06 8:45 ` Jindal, Akshay
2026-11-06 4:16 ` [PATCH v3 2/3] iommu/amd: Do not convert IVMD exclusion range to unity range Sairaj Kodilkar
2026-11-06 10:02 ` Jindal, Akshay
2026-11-06 4:16 ` [PATCH v3 3/3] iommu/amd: Rename unity_map_entry and unit_map to ivmd_entry and ivhd_entry_map Sairaj Kodilkar
2026-11-06 10:15 ` Jindal, Akshay
2026-11-06 8:34 ` [PATCH v3 0/3] iommu/amd: IVMD handling cleanup and ivmd= boot override Jindal, Akshay
2026-11-06 8:36 ` Sairaj Kodilkar
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=20261106041650.24076-1-sarunkod@amd.com \
--to=sarunkod@amd.com \
--cc=ahuang12@lenovo.com \
--cc=iommu@lists.linux.dev \
--cc=joro@8bytes.org \
--cc=jroedel@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=robin.murphy@arm.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=vasant.hegde@amd.com \
--cc=will@kernel.org \
/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
all inboxes | Powered by JetHome®