Re: How to get node of root interrupt controller

From: Mitchell Horne <mhorne_at_freebsd.org>
Date: Thu, 21 Nov 2024 14:06:01 UTC

On 11/21/24 00:43, Himanshu Chauhan wrote:
> Hi,
> 
> I am rewriting the RISCV IMSIC patch in light of the new changes
> regarding
> the secondary interrupt controllres. The API's and symbols have
> changed since
> I wrote the initial patch.
> 
> IMSIC's parent is intc (for which I want to get node). Earlier, I was
> doing
> the following:
> 
>          iparent =
> OF_xref_from_node(ofw_bus_get_node(intr_irq_root_dev));
>          cell = IRQ_EXTERNAL_SUPERVISOR;
>          irq = ofw_bus_map_intr(dev, iparent, 1, &cell);
> 
> There isn't intr_irq_root_dev now. So, how do I get the intc node
> during imsic_attach?
> 

With the new API it should be:

rootdev = intr_irq_root_device(INTR_ROOT_IRQ);

Best,
Mitchell