[PATCH] RISC-V: Disable IPMMU_VMSA on rv32

Conor Dooley conor at kernel.org
Wed Dec 14 11:46:26 PST 2022



On 14 December 2022 10:04:09 GMT-08:00, Palmer Dabbelt <palmer at rivosinc.com> wrote:
>Without this I get a Kconfig warning and then subsequent build failure
>when building allmodconfig on rv32.
>
>WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE
>  Depends on [n]: IOMMU_SUPPORT [=y] && (ARM || ARM64 || COMPILE_TEST [=y] && !GENERIC_ATOMIC64 [=y])
>  Selected by [y]:
>  - IPMMU_VMSA [=y] && IOMMU_SUPPORT [=y] && (ARCH_RENESAS [=y] || COMPILE_TEST [=y]

This here is your problem afaict 
I got a report from lkp about it yesterday, "blaming" Prabhakar for it:
https://lore.kernel.org/all/202212142355.b7vf3Jh0-lkp@intel.com/

I hate selects, just ignores the dependency :(

 && !GENERIC_ATOMIC64 [=y])
>
>linux/drivers/iommu/io-pgtable-arm.c: Assembler messages:
>linux/drivers/iommu/io-pgtable-arm.c:330: Error: unrecognized opcode `lr.d s4,0(s1)'
>linux/drivers/iommu/io-pgtable-arm.c:332: Error: unrecognized opcode `sc.d.rl a5,s6,0(s1)'
>make[5]: *** [linux/scripts/Makefile.build:250: drivers/iommu/io-pgtable-arm.o] Error 1
>make[4]: *** [linux/scripts/Makefile.build:502: drivers/iommu] Error 2
>make[3]: *** [linux/scripts/Makefile.build:502: drivers] Error 2
>
>Signed-off-by: Palmer Dabbelt <palmer at rivosinc.com>
>
>---
>
>This one seems pretty ugly, but I like to at least have a workaround for
>the allmodconfig failures before sending up a PR.
>---
> arch/riscv/configs/32-bit.config | 1 +
> 1 file changed, 1 insertion(+)
>
>diff --git a/arch/riscv/configs/32-bit.config b/arch/riscv/configs/32-bit.config
>index f6af0f708df4..7a2fa9b37b1c 100644
>--- a/arch/riscv/configs/32-bit.config
>+++ b/arch/riscv/configs/32-bit.config
>@@ -2,3 +2,4 @@ CONFIG_ARCH_RV32I=y
> CONFIG_32BIT=y
> # CONFIG_PORTABLE is not set
> CONFIG_NONPORTABLE=y
>+CONFIG_IPMMU_VMSA=n



More information about the linux-riscv mailing list