Re: [External] Re: [PATCH v1] iommu/riscv: Support 32-bit register accesses

From: Zhanpeng Zhang

Date: Mon Jun 15 2026 - 05:52:53 EST


Hi Andreas,

For a generic kernel, the expected setting is to leave
RISCV_IOMMU_32BIT_ACCESS disabled.

If supporting such platforms from a single generic kernel is preferred, I can
look into replacing this build-time option with a runtime indication.

Regards,
Zhanpeng

> From: "Andreas Schwab"<schwab@xxxxxxx>
> Date:  Mon, Jun 15, 2026, 16:22
> Subject:  [External] Re: [PATCH v1] iommu/riscv: Support 32-bit register accesses
> To: "Zhanpeng Zhang"<zhangzhanpeng.jasper@xxxxxxxxxxxxx>
> Cc: "Tomasz Jeznach"<tjeznach@xxxxxxxxxxxx>, "Joerg Roedel"<joro@xxxxxxxxxx>, "Will Deacon"<will@xxxxxxxxxx>, "Robin Murphy"<robin.murphy@xxxxxxx>, "Paul Walmsley"<pjw@xxxxxxxxxx>, "Palmer Dabbelt"<palmer@xxxxxxxxxxx>, "Albert Ou"<aou@xxxxxxxxxxxxxxxxx>, "Alexandre Ghiti"<alex@xxxxxxxx>, <iommu@xxxxxxxxxxxxxxx>, <linux-riscv@xxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, "Xu Lu"<luxu.kernel@xxxxxxxxxxxxx>, <cuiyunhui@xxxxxxxxxxxxx>, <yuanzhu@xxxxxxxxxxxxx>
> On Jun 15 2026, Zhanpeng Zhang wrote:
>
> > +config RISCV_IOMMU_32BIT_ACCESS
> > +        bool "Use 32-bit accesses for RISC-V IOMMU registers"
> > +        depends on RISCV_IOMMU
> > +        help
> > +          Say Y when the RISC-V IOMMU MMIO window cannot be accessed
> > +          using naturally aligned 64-bit loads and stores.
> > +
> > +          When enabled, 64-bit IOMMU registers are accessed as paired
> > +          32-bit MMIO operations. This option does not describe an RV32
> > +          kernel or a 32-bit IOMMU architecture.
>
> What is the expected setting in a generic kernel?
>
> --
> Andreas Schwab, SUSE Labs, schwab@xxxxxxx
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."
>