At 2024-04-09 06:33:55, "Daniel Henrique Barboza" <dbarb...@ventanamicro.com> wrote: > > >On 4/7/24 00:46, yang.zhang wrote: >> From: "yang.zhang" <yang.zh...@hexintek.com> >> >> Since only root APLICs can have hw IRQ lines, aplic->parent should >> be initialized first. > >I think it's worth mentioning that, if we don't do that, there won't be >an aplic->parent assigned during riscv_aplic_realize() and we won't create >the adequate IRQ lines. > >> >> Signed-off-by: yang.zhang <yang.zh...@hexintek.com> >> --- > >Please add: > >Fixes: e8f79343cf ("hw/intc: Add RISC-V AIA APLIC device emulation") > > >And: > > >Reviewed-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com>
Done. Thanks. >> > > >> hw/intc/riscv_aplic.c | 8 ++++---- >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/hw/intc/riscv_aplic.c b/hw/intc/riscv_aplic.c >> index fc5df0d598..32edd6d07b 100644 >> --- a/hw/intc/riscv_aplic.c >> +++ b/hw/intc/riscv_aplic.c >> @@ -1000,16 +1000,16 @@ DeviceState *riscv_aplic_create(hwaddr addr, hwaddr >> size, >> qdev_prop_set_bit(dev, "msimode", msimode); >> qdev_prop_set_bit(dev, "mmode", mmode); >> >> + if (parent) { >> + riscv_aplic_add_child(parent, dev); >> + } >> + >> sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); >> >> if (!is_kvm_aia(msimode)) { >> sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, addr); >> } >> >> - if (parent) { >> - riscv_aplic_add_child(parent, dev); >> - } >> - >> if (!msimode) { >> for (i = 0; i < num_harts; i++) { >> CPUState *cpu = cpu_by_arch_id(hartid_base + i);