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

Re: [Xen-devel] [PATCH] xen/arm: gic-v2: Only create GICv2m node when there are GICv2m frame available



On 15 June 2016 at 21:40, Julien Grall <julien.grall@xxxxxxx> wrote:
> Xen will crash on platform where GICv2m is not available with the
> following error:
>
> (XEN) Can't find ranges property for the gic node
> (XEN) Device tree generation failed (-15).
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) Could not set up DOM0 guest OS
> (XEN) ****************************************
>
> This is because the property "ranges" may not be present in the GIC
> when there are no GICv2m frames.
>
> Skip the creation of the GICv2m node when the hardware does not
> support it.
>
> This fixes boot after commit "xen/arm: Export GICv2m register frames to
> DOM0 by device tree".
>
> Signed-off-by: Julien Grall <julien.grall@xxxxxxx>
> ---
>  xen/arch/arm/gic-v2.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
> index 2c1c0ba..4e2f4c7 100644
> --- a/xen/arch/arm/gic-v2.c
> +++ b/xen/arch/arm/gic-v2.c
> @@ -669,6 +669,10 @@ static int gicv2m_make_dt_node(const struct domain *d,
>      const struct dt_device_node *v2m = NULL;
>      const struct v2m_data *v2m_data;
>
> +    /* It is not necessary to create the node if there are not GICv2m frames 
> */
> +    if ( list_empty(&gicv2m_info) )
> +        return 0;
> +
>      /* The sub-nodes require the ranges property */
>      prop = dt_get_property(gic, "ranges", &len);
>      if ( !prop )
> --
> 1.9.1
>

Looks fine to me.

Acked-by: Wei Chen <wei.chen@xxxxxxxxxx>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.