mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
hw/riscv: virt: Use AIA INTC compatible string when available
We should use the AIA INTC compatible string in the CPU INTC DT nodes when the CPUs support AIA feature. This will allow Linux INTC driver to use AIA local interrupt CSRs. Signed-off-by: Anup Patel <anup.patel@wdc.com> Signed-off-by: Anup Patel <anup@brainfault.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Frank Chang <frank.chang@sifive.com> Message-id: 20220204174700.534953-17-anup@brainfault.org Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
ac4b0302b0
commit
d207863cd3
1 changed files with 11 additions and 2 deletions
|
@ -212,8 +212,17 @@ static void create_fdt_socket_cpus(RISCVVirtState *s, int socket,
|
|||
qemu_fdt_add_subnode(mc->fdt, intc_name);
|
||||
qemu_fdt_setprop_cell(mc->fdt, intc_name, "phandle",
|
||||
intc_phandles[cpu]);
|
||||
qemu_fdt_setprop_string(mc->fdt, intc_name, "compatible",
|
||||
"riscv,cpu-intc");
|
||||
if (riscv_feature(&s->soc[socket].harts[cpu].env,
|
||||
RISCV_FEATURE_AIA)) {
|
||||
static const char * const compat[2] = {
|
||||
"riscv,cpu-intc-aia", "riscv,cpu-intc"
|
||||
};
|
||||
qemu_fdt_setprop_string_array(mc->fdt, intc_name, "compatible",
|
||||
(char **)&compat, ARRAY_SIZE(compat));
|
||||
} else {
|
||||
qemu_fdt_setprop_string(mc->fdt, intc_name, "compatible",
|
||||
"riscv,cpu-intc");
|
||||
}
|
||||
qemu_fdt_setprop(mc->fdt, intc_name, "interrupt-controller", NULL, 0);
|
||||
qemu_fdt_setprop_cell(mc->fdt, intc_name, "#interrupt-cells", 1);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue