[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4134f54f-9b01-47fc-be40-6829aeae1fcd@amd.com>
Date: Fri, 25 Jul 2025 15:58:52 +0530
From: Sairaj Kodilkar <sarunkod@....com>
To: Ashish Kalra <Ashish.Kalra@....com>, <joro@...tes.org>,
<suravee.suthikulpanit@....com>, <thomas.lendacky@....com>,
<Sairaj.ArunKodilkar@....com>, <Vasant.Hegde@....com>,
<herbert@...dor.apana.org.au>
CC: <seanjc@...gle.com>, <pbonzini@...hat.com>, <will@...nel.org>,
<robin.murphy@....com>, <john.allen@....com>, <davem@...emloft.net>,
<michael.roth@....com>, <iommu@...ts.linux.dev>,
<linux-kernel@...r.kernel.org>, <linux-crypto@...r.kernel.org>,
<kvm@...r.kernel.org>
Subject: Re: [PATCH v4 1/4] iommu/amd: Add support to remap/unmap IOMMU
buffers for kdump
On 7/22/2025 3:22 AM, Ashish Kalra wrote:
> From: Ashish Kalra <ashish.kalra@....com>
>
> After a panic if SNP is enabled in the previous kernel then the kdump
> kernel boots with IOMMU SNP enforcement still enabled.
>
> IOMMU completion wait buffers (CWBs), command buffers and event buffer
> registers remain locked and exclusive to the previous kernel. Attempts
> to allocate and use new buffers in the kdump kernel fail, as hardware
> ignores writes to the locked MMIO registers as per AMD IOMMU spec
> Section 2.12.2.1.
>
> This results in repeated "Completion-Wait loop timed out" errors and a
> second kernel panic: "Kernel panic - not syncing: timer doesn't work
> through Interrupt-remapped IO-APIC"
>
> The list of MMIO registers locked and which ignore writes after failed
> SNP shutdown are mentioned in the AMD IOMMU specifications below:
>
> Section 2.12.2.1.
> https://docs.amd.com/v/u/en-US/48882_3.10_PUB
>
> Reuse the pages of the previous kernel for completion wait buffers,
> command buffers, event buffers and memremap them during kdump boot
> and essentially work with an already enabled IOMMU configuration and
> re-using the previous kernel’s data structures.
>
> Reusing of command buffers and event buffers is now done for kdump boot
> irrespective of SNP being enabled during kdump.
>
> Re-use of completion wait buffers is only done when SNP is enabled as
> the exclusion base register is used for the completion wait buffer
> (CWB) address only when SNP is enabled.
>
> Signed-off-by: Ashish Kalra <ashish.kalra@....com>
Tested-by: Sairaj Kodilkar <sarunkod@....com>
Powered by blists - more mailing lists