[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 16/22] hw/riscv: virt: Use AIA INTC compatible string when
From: |
Alistair Francis |
Subject: |
Re: [PATCH v2 16/22] hw/riscv: virt: Use AIA INTC compatible string when available |
Date: |
Wed, 15 Sep 2021 11:17:35 +1000 |
On Thu, Sep 2, 2021 at 9:58 PM Anup Patel <anup.patel@wdc.com> wrote:
>
> 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>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> hw/riscv/virt.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
> index ec0cb69b8c..f43304beca 100644
> --- a/hw/riscv/virt.c
> +++ b/hw/riscv/virt.c
> @@ -211,8 +211,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, 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);
>
> --
> 2.25.1
>
>
- Re: [PATCH v2 06/22] target/riscv: Add AIA cpu feature, (continued)
- [PATCH v2 07/22] target/riscv: Add defines for AIA CSRs, Anup Patel, 2021/09/02
- [PATCH v2 10/22] target/riscv: Implement AIA CSRs for 64 local interrupts on RV32, Anup Patel, 2021/09/02
- [PATCH v2 11/22] target/riscv: Implement AIA hvictl and hviprioX CSRs, Anup Patel, 2021/09/02
- [PATCH v2 12/22] target/riscv: Implement AIA interrupt filtering CSRs, Anup Patel, 2021/09/02
- [PATCH v2 13/22] target/riscv: Implement AIA mtopi, stopi, and vstopi CSRs, Anup Patel, 2021/09/02
- [PATCH v2 14/22] target/riscv: Implement AIA xiselect and xireg CSRs, Anup Patel, 2021/09/02
- [PATCH v2 15/22] target/riscv: Implement AIA IMSIC interface CSRs, Anup Patel, 2021/09/02
- [PATCH v2 16/22] hw/riscv: virt: Use AIA INTC compatible string when available, Anup Patel, 2021/09/02
- Re: [PATCH v2 16/22] hw/riscv: virt: Use AIA INTC compatible string when available,
Alistair Francis <=
- [PATCH v2 17/22] target/riscv: Allow users to force enable AIA CSRs in HART, Anup Patel, 2021/09/02
- [PATCH v2 19/22] hw/riscv: virt: Add optional AIA APLIC support to virt machine, Anup Patel, 2021/09/02
- [PATCH v2 18/22] hw/intc: Add RISC-V AIA APLIC device emulation, Anup Patel, 2021/09/02
- [PATCH v2 20/22] hw/intc: Add RISC-V AIA IMSIC device emulation, Anup Patel, 2021/09/02
- [PATCH v2 21/22] hw/riscv: virt: Add optional AIA IMSIC support to virt machine, Anup Patel, 2021/09/02
- [PATCH v2 22/22] docs/system: riscv: Document AIA options for virt machine, Anup Patel, 2021/09/02
- Re: [PATCH v2 00/22] QEMU RISC-V AIA support, Bin Meng, 2021/09/04