projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
74abb45
)
hw/intc/riscv_aplic: APLICs should add child earlier than realize
author
yang.zhang
<yang.zhang@hexintek.com>
Tue, 9 Apr 2024 01:44:45 +0000
(09:44 +0800)
committer
Alistair Francis
<alistair.francis@wdc.com>
Mon, 3 Jun 2024 01:12:11 +0000
(11:12 +1000)
Since only root APLICs can have hw IRQ lines, aplic->parent should
be initialized first.
Fixes: e8f79343cf ("hw/intc: Add RISC-V AIA APLIC device emulation")
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Signed-off-by: yang.zhang <yang.zhang@hexintek.com>
Cc: qemu-stable <qemu-stable@nongnu.org>
Message-ID: <
20240409014445
.278-1-gaoshanliukou@163.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
hw/intc/riscv_aplic.c
patch
|
blob
|
history
diff --git
a/hw/intc/riscv_aplic.c
b/hw/intc/riscv_aplic.c
index fc5df0d59837c0b42f9c9efa376d8bde432028a7..32edd6d07bb3c37b236038ddd3b1169e088396e6 100644
(file)
--- 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);