Re: [PATCH v3 0/3] iommu/amd: IVMD handling cleanup and ivmd= boot override
From: Sairaj Kodilkar
Date: Fri Nov 06 2026 - 03:39:58 EST
On 11/6/2026 2:04 PM, Jindal, Akshay wrote:
>
>
> 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.
Thanks for pointing it out
Sairaj
>>
>> 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
>>
>>