hw/riscv: virt: Add optional AIA IMSIC support to virt machine
commit28d8c281200f20a060c456c81fd1564f3d119fda
authorAnup Patel <anup.patel@wdc.com>
Sun, 20 Feb 2022 08:55:24 +0000 (20 14:25 +0530)
committerAlistair Francis <alistair.francis@wdc.com>
Thu, 3 Mar 2022 03:14:50 +0000 (3 13:14 +1000)
tree6954747ca91b9eef20a0ff3df6afaa7bad27fc49
parent9746e583fe6ca67d9645448989535bc19adb6150
hw/riscv: virt: Add optional AIA IMSIC support to virt machine

We extend virt machine to emulate both AIA IMSIC and AIA APLIC
devices only when "aia=aplic-imsic" parameter is passed along
with machine name in the QEMU command-line. The AIA IMSIC is
only a per-HART MSI controller so we use AIA APLIC in MSI-mode
to forward all wired interrupts as MSIs to the AIA IMSIC.

We also provide "aia-guests=<xyz>" parameter which can be used
to specify number of VS-level AIA IMSIC Guests MMIO pages for
each HART.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220220085526.808674-4-anup@brainfault.org>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
hw/riscv/Kconfig
hw/riscv/virt.c
include/hw/riscv/virt.h