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

Re: [Xen-devel] [PATCH v02 3/3] xen/arm: add DRA7 platform definition



Hi Andrii,

(Adding Chen Baozi)

On 07/02/2014 02:50 PM, Andrii Tseglytskyi wrote:
> DRA7 platform definition is added to already existing
> OMAP5 data. Data definitions, needed for DRA7 are
> almost common for OMAP5 family.
> 
> Signed-off-by: Andrii Tseglytskyi <andrii.tseglytskyi@xxxxxxxxxxxxxxx>
> ---
>  xen/arch/arm/platforms/omap5.c |   25 ++++++++++++++++++++++++-
>  1 file changed, 24 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/platforms/omap5.c b/xen/arch/arm/platforms/omap5.c
> index 76d4d9b..837e143 100644
> --- a/xen/arch/arm/platforms/omap5.c
> +++ b/xen/arch/arm/platforms/omap5.c
> @@ -144,12 +144,24 @@ static int __init omap5_smp_init(void)
>      return 0;
>  }
>  
> -static const char const *omap5_dt_compat[] __initconst =
> +static const char * const omap5_dt_compat[] __initconst =
>  {
>      "ti,omap5",
> +    "ti,dra7",
>      NULL
>  };
>  
> +static const struct dt_device_match omap5_blacklist_dev[] __initconst =
> +{
> +    /* OMAP Linux kernel handles devices with status "disabled" in a
> +     * weird manner - tries to reset them. While their memory ranges
> +     * are not mapped, this leads to data aborts, so skip these devices
> +     * from DT for dom0.
> +     */
> +    DT_MATCH_NOT_AVAILABLE(),
> +    { /* sentinel */ },
> +};
> +
>  PLATFORM_START(omap5, "TI OMAP5")
>      .compatible = omap5_dt_compat,
>      .init_time = omap5_init_time,
> @@ -161,6 +173,17 @@ PLATFORM_START(omap5, "TI OMAP5")
>      .dom0_gnttab_size = 0x20000,
>  PLATFORM_END
>  
> +PLATFORM_START(dra7, "TI DRA7")
> +    .compatible = omap5_dt_compat,
> +    .init_time = omap5_init_time,
> +    .cpu_up = cpu_up_send_sgi,
> +    .smp_init = omap5_smp_init,
> +
> +    .dom0_gnttab_start = 0x4b000000,
> +    .dom0_gnttab_size = 0x20000,
> +    .blacklist_dev = omap5_blacklist_dev,
> +PLATFORM_END
> +

Hmmm... you are sharing the same compatible list with the "TI OMAP5"
platform. You are very lucky that "TI DRA7" is always use otherwise the
devices won't be blacklisted and, therefore, DOM0 will crash.

I've looked to the wiki page created by Chen [1]. And I believe we also
need to blacklist device for generic omap5. This will avoid the
different changes in the device tree [2].

I would merge both platform definition in one.

Regards,

[1]
http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/OMAP5432_uEVM
[2]
http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/OMAP5432_uEVM#2.3_Build_FDT

-- 
Julien Grall

_______________________________________________
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®.