At 2024-04-09 06:33:55, "Daniel Henrique Barboza" <dbarboza@ventanamicro.com> wrote:
>
>
>On 4/7/24 00:46, yang.zhang wrote:
>> From: "yang.zhang" <yang.zhang@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.zhang@hexintek.com>
>> ---
>
>Please add:
>
>Fixes: e8f79343cf ("hw/intc: Add RISC-V AIA APLIC device emulation")
>
>
>And:
>
>
>Reviewed-by: Daniel Henrique Barboza <dbarboza@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);