|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v1 11/27] xen/riscv: create APLIC DT node for guest domains
On 10.03.2026 18:08, Oleksii Kurochko wrote:
> @@ -295,6 +297,85 @@ static void cf_check aplic_set_irq_type(struct irq_desc
> *desc,
> spin_unlock(&aplic.lock);
> }
>
> +static int __init cf_check aplic_make_dom_dt_node(
> + const struct kernel_info *kinfo,
> + const struct dt_device_node *aplic_node)
Nit: Entirely bogus indentation.
> +{
> + uint32_t len;
> + const __be32 *regs;
> + const void *data = NULL;
Again, why the initializer?
> + int res = 0;
> + void *fdt = kinfo->fdt;
> +
> + res = imsic_make_dt_node(kinfo);
> + if ( res )
> + return res;
> +
> + res = fdt_begin_node(fdt, aplic_node->full_name);
> + if (res)
Nit: Style.
> + return res;
> +
> + data = dt_get_property(aplic_node, "#interrupt-cells", &len);
> + if ( !data )
> + {
> + printk("%s: Can't find '#interrupt-cells' property\n",
> + aplic_node->full_name);
> + return -FDT_ERR_XEN(ENOENT);
> + }
Again, pull this up to be first in the function?
> + res = fdt_property(fdt, "#interrupt-cells", data, len);
> + if ( res )
> + return res;
So host properties are again directly handed through to the guest?
Shouldn't the number of interrupts (aiui that's the "number of cells"
here) a guest gets be independent from the host it runs one?
> + regs = dt_get_property(aplic_node, "reg", &len);
> + if ( !regs )
> + {
> + printk("%s: Can't find 'reg' property\n", aplic_node->full_name);
> + return -FDT_ERR_XEN(ENOENT);
> + }
> +
> + res = fdt_property(fdt, "reg", regs, len);
> + if ( res )
> + return res;
> +
> + data = dt_get_property(aplic_node, "riscv,num-sources", &len);
> + if ( !data )
> + {
> + printk("%s: Can't find 'riscv,num-sources' property\n",
> + aplic_node->full_name);
> + return -FDT_ERR_XEN(ENOENT);
> + }
> +
> + res = fdt_property(fdt, "riscv,num-sources", data, len);
> + if ( res )
> + return res;
Or maybe this is the number of interrupts?
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |