diff mbox

[V1,25/29] xen/arm: exynos5: Blacklist MCT device

Message ID 1377701263-3319-26-git-send-email-julien.grall@linaro.org
State Superseded, archived
Headers show

Commit Message

Julien Grall Aug. 28, 2013, 2:47 p.m. UTC
The Multi Core Timer (MCT) is a Samsung specific device.
This device tries to route IRQ in non-boot CPU which is not yet handled by Xen.

The user will see randomly dom0 hang, but I'm not sure that is the real reason.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
---
 xen/arch/arm/platforms/exynos5.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Ian Campbell Sept. 9, 2013, 11:55 a.m. UTC | #1
On Wed, 2013-08-28 at 15:47 +0100, Julien Grall wrote:
> The Multi Core Timer (MCT) is a Samsung specific device.
> This device tries to route IRQ in non-boot CPU which is not yet handled by Xen.
> 
> The user will see randomly dom0 hang, but I'm not sure that is the real reason.
> 
> Signed-off-by: Julien Grall <julien.grall@linaro.org>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

> ---
>  xen/arch/arm/platforms/exynos5.c |   11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c
> index 262ded8..d9eedc8 100644
> --- a/xen/arch/arm/platforms/exynos5.c
> +++ b/xen/arch/arm/platforms/exynos5.c
> @@ -92,12 +92,23 @@ static const char * const exynos5_dt_compat[] __initdata =
>      NULL
>  };
>  
> +static const struct dt_device_match exynos5_blacklist_dev[] __initconst =
> +{
> +    /* Multi core Timer
> +     * TODO: this device set up IRQ to CPU 1 which is not yet handled by Xen.
> +     * This is result to random freeze.
> +     */
> +    DT_MATCH_COMPATIBLE("samsung,exynos4210-mct"),
> +    { /* sentinel */ },
> +};
> +
>  PLATFORM_START(exynos5, "SAMSUNG EXYNOS5")
>      .compatible = exynos5_dt_compat,
>      .init_time = exynos5_init_time,
>      .specific_mapping = exynos5_specific_mapping,
>      .reset = exynos5_reset,
>      .quirks = exynos5_quirks,
> +    .blacklist_dev = exynos5_blacklist_dev,
>  PLATFORM_END
>  
>  /*
diff mbox

Patch

diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c
index 262ded8..d9eedc8 100644
--- a/xen/arch/arm/platforms/exynos5.c
+++ b/xen/arch/arm/platforms/exynos5.c
@@ -92,12 +92,23 @@  static const char * const exynos5_dt_compat[] __initdata =
     NULL
 };
 
+static const struct dt_device_match exynos5_blacklist_dev[] __initconst =
+{
+    /* Multi core Timer
+     * TODO: this device set up IRQ to CPU 1 which is not yet handled by Xen.
+     * This is result to random freeze.
+     */
+    DT_MATCH_COMPATIBLE("samsung,exynos4210-mct"),
+    { /* sentinel */ },
+};
+
 PLATFORM_START(exynos5, "SAMSUNG EXYNOS5")
     .compatible = exynos5_dt_compat,
     .init_time = exynos5_init_time,
     .specific_mapping = exynos5_specific_mapping,
     .reset = exynos5_reset,
     .quirks = exynos5_quirks,
+    .blacklist_dev = exynos5_blacklist_dev,
 PLATFORM_END
 
 /*