[PATCH] riscv: dts: spacemit: k3: Drop guest properties from M-level IMSIC
Yixun Lan
dlan at kernel.org
Mon Sep 7 00:44:21 PDT 2026
Hi Junhui,
On 00:40 Wed 29 Jul , Junhui Liu wrote:
> The mimsic node describes the machine-level IMSIC, whose MMIO region is
> 0x10000 (64 KiB) for all 8 harts. However, the node also specifies
> riscv,guest-index-bits = <6>, and per the AIA specification the
> per-hart stride is 2^(guest-index-bits + 12) bytes when guest interrupt
> files exist, i.e. 2^(6 + 12) = 256 KiB per hart and 2 MiB for all 8
> harts. The described region cannot hold even a single hart's files, so
> the node contradicts itself. OpenSBI enforces exactly this constraint in
> imsic_data_check() and rejects the node with -EINVAL, preventing the
> M-level IMSIC from initializing:
>
> fdt_driver_init_by_offset: interrupt-controller at f1000000 (riscv,imsics) init failed: -3
> init_coldboot: irqchip init failed (error -3)
>
> Moreover, guest interrupt files exist to act as the supervisor-level
> interrupt files of virtual harts; there is no machine-level counterpart.
> riscv,num-guest-ids is equally meaningless for the machine-level IMSIC.
>
> Drop both "riscv,guest-index-bits" and "riscv,num-guest-ids" properties
> from the mimsic node so the node matches the actual hardware layout.
>
> Fixes: 56f37e391a62 ("riscv: dts: spacemit: add initial support for K3 SoC")
> Signed-off-by: Junhui Liu <junhui.liu at pigmoral.tech>
Reviewed-by: Yixun Lan <dlan at kernel.org>
--
Yixun Lan (dlan)
More information about the linux-riscv
mailing list