Re: [PATCH v8 0/9] iommu/arm-smmu-v3: Adopt the crashed kernel's stream table for kdump
From: Nicolin Chen
Date: Sun Jul 19 2026 - 17:00:02 EST
On Sat, Jul 18, 2026 at 01:20:52PM -0300, Jason Gunthorpe wrote:
> On Fri, Jul 17, 2026 at 09:43:24PM +0000, Pranjal Shrivastava wrote:
>
> > However, looking at your approach, I think I can slightly rework my
> > preservation logic and instead of bloating the KHO ABI with physical
> > addresses, I could re-use your exact table-walking logic during probe
> > to parse the live L1/L2 structures directly from registers, identify
> > the valid tables, and kho/dma_restore them. There could me small
> > differences though, for example instead of memremap stuff, we'd have to
> > use the kho/dma_restore API (which can be done by passing some op like
> > the data structure writers we have?) Similarly, maybe reserving ASID/VMID
> > can be potentially re-used as well..
>
> I think this will be true for all the iommu drivers as they pretty
> much all have this same kind of kdumpish adoption logic in one way or
> another.
>
> > for KHO), I wanted to start a discussion to see if it makes sense to
> > factor this common code out into an arm-smmu-v3-kexec.c (or similar)?
>
> Yeah maybe so
>
> It sounds great this helps the live update project as well!
I agree. I think the final layout can be:
# Kconfig
config ARM_SMMU_V3_KEXEC
- def_bool CRASH_DUMP
+ def_bool CRASH_DUMP || IOMMU_LIVEUPDATE
# Makefile
arm_smmu_v3-$(CONFIG_ARM_SMMU_V3_KEXEC) += arm-smmu-v3-kexec.o
arm_smmu_v3-$(CONFIG_CRASH_DUMP) += arm-smmu-v3-kdump.o
+arm_smmu_v3-$(CONFIG_IOMMU_LIVEUPDATE) += arm-smmu-v3-liveupdate.o
Nicolin