qemu-riscv
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] hw/riscv: virt: Avoid double FDT platform node


From: Dylan Reid
Subject: Re: [PATCH] hw/riscv: virt: Avoid double FDT platform node
Date: Thu, 19 May 2022 20:45:22 +0000

On Thu, May 19, 2022 at 08:34:06PM +0530, Anup Patel wrote:
> On Fri, May 13, 2022 at 1:34 AM Dylan Reid <dylan@rivosinc.com> wrote:
> >
> > When starting the virt machine with `-machine virt,aia=aplic-imsic`,
> > both the imsic and aplic init code will add platform fdt nodes by
> > calling `platform_bus_add_all_fdt_nodes`. This leads to an error at
> > startup:
> > ```
> > qemu_fdt_add_subnode: Failed to create subnode /platform@4000000: 
> > FDT_ERR_EXISTS
> > ```
> >
> > The call from `create_fdt_imsic` is not needed as an imsic is currently
> > always combined with an aplic that will create the nodes.
> >
> > Fixes: 3029fab64309 ("hw/riscv: virt: Add support for generating platform 
> > FDT entries")
> > Signed-off-by: Dylan Reid <dgreid@rivosinc.com>
> > ---
> >  hw/riscv/virt.c | 5 -----
> >  1 file changed, 5 deletions(-)
> >
> > diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
> > index 3326f4db96..d625f776a6 100644
> > --- a/hw/riscv/virt.c
> > +++ b/hw/riscv/virt.c
> > @@ -561,11 +561,6 @@ static void create_fdt_imsic(RISCVVirtState *s, const 
> > MemMapEntry *memmap,
> >      }
> >      qemu_fdt_setprop_cell(mc->fdt, imsic_name, "phandle", *msi_m_phandle);
> >
> > -    platform_bus_add_all_fdt_nodes(mc->fdt, imsic_name,
> > -                                   memmap[VIRT_PLATFORM_BUS].base,
> > -                                   memmap[VIRT_PLATFORM_BUS].size,
> > -                                   VIRT_PLATFORM_BUS_IRQ);
> > -
> 
> This patch only fixes for the case where there is only one socket.
> 
> I had send-out a similar fix which also handles multi-socket case.
> 20220511144528.393530-9-apatel@ventanamicro.com/">https://lore.kernel.org/all/20220511144528.393530-9-apatel@ventanamicro.com/

Thanks Anup, that looks good to me.

> 
> Regards,
> Anup
> 
> 
> >      g_free(imsic_name);
> >
> >      /* S-level IMSIC node */
> > --
> > 2.30.2
> >
> >



reply via email to

[Prev in Thread] Current Thread [Next in Thread]