Message ID | 1377701263-3319-26-git-send-email-julien.grall@linaro.org |
---|---|
State | Superseded, archived |
Headers | show |
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 --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 /*
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(+)