On Wed Jul 29, 2026 at 12:40 AM +08, 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@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 Reviewed-by: Troy Mitchell -- Troy Mitchell