Re: [PATCH 2/2] hw/riscv/aia: Check for invalid IMSIC configs

Portia Stephens <[email protected]>
Newsgroups org.nongnu.qemu-riscv,org.nongnu.qemu-devel
Message-ID <[email protected]>
On 24/8/2026 1:05 PM, Joel Stanley wrote:
> Assert that the IMSIC layout will be valid before creating the devices.
>
> aia_guests is a command line parameter but the machines that allows it
> to be set (currently only virt) should be passing the correct stride for
> a given number of guests. The assert helps catch bugs in future changes
> and shouldn't be triggerable by an invalid user config.
>
> Signed-off-by: Joel Stanley <[email protected]>
> ---
>   hw/riscv/aia.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/hw/riscv/aia.c b/hw/riscv/aia.c
> index c33a3b32bd45..c1a5982856c5 100644
> --- a/hw/riscv/aia.c
> +++ b/hw/riscv/aia.c
> @@ -43,6 +43,10 @@ DeviceState *riscv_create_aia(bool msimode, int aia_guests,
>       /* The RISC-V Advanced Interrupt Architecture, Chapter 1.2. Limits */
>       g_assert(num_sources <= 1023);
>   
> +    /* Prevent IMSIC MMIO regions from silently overlapping */
> +    g_assert(s_imsic_stride >= IMSIC_HART_SIZE(imsic_num_bits(1 + aia_guests)));
> +    g_assert(m_imsic_stride >= IMSIC_HART_SIZE(0));
> +
>       if (msimode) {
>           if (!kvm_enabled()) {
>               /* Per-socket M-level IMSICs */


Reviewed-by: Portia Stephens <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.