Re: [PATCH v3 0/3] iommu/amd: IVMD handling cleanup and ivmd= boot override
From: Jindal, Akshay
Date: Fri Nov 06 2026 - 03:38:15 EST
On 06-11-2026 09:46, Sairaj Kodilkar wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>
>
> 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.
if patch 4 is dropped, you can drop mention of patch 4 from cover letter as well.
>
> Changes from v2:
> https://lore.kernel.org/all/20260424092213.16976-1-suravee.suthikulpanit@xxxxxxx/#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@xxxxxxx/)
>
> * Rebase on top of patch "[PATCH] iommu/amd: Remove dead code for exclusion ranges in IVMD"
> that was submitted by Yu Zhang <zhangyu1@xxxxxxxxxxxxxxxxxxx>.
> (https://lore.kernel.org/all/20260331152550.479841-1-zhangyu1@xxxxxxxxxxxxxxxxxxx/)
>
> * 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
>
>