[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v7 3/3] xen/arm: Force dom0 to use normal GICv2 driver on Hip04 platform
Until vGIC support is not implemented and tested, this will prevent guest kernels to use their Hip04 driver, or crash when they don't have any. Signed-off-by: Frediano Ziglio <frediano.ziglio@xxxxxxxxxx> --- xen/arch/arm/gic-hip04.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/xen/arch/arm/gic-hip04.c b/xen/arch/arm/gic-hip04.c index 9977f9b..a7c0892 100644 --- a/xen/arch/arm/gic-hip04.c +++ b/xen/arch/arm/gic-hip04.c @@ -614,17 +614,21 @@ static int hip04gic_make_dt_node(const struct domain *d, const struct dt_device_node *node, void *fdt) { const struct dt_device_node *gic = dt_interrupt_controller; - const void *compatible = NULL; + const void *compatible; u32 len; const __be32 *regs; int res = 0; - compatible = dt_get_property(gic, "compatible", &len); - if ( !compatible ) - { - dprintk(XENLOG_ERR, "Can't find compatible property for the gic node\n"); - return -FDT_ERR_XEN(ENOENT); - } + /* + * Replace compatibility string with a standard one. + * dom0 will see a compatible GIC. This as GICC is compatible + * with standard one and GICD (emulated by Xen) is compatible + * to standard. Otherwise we should implement HIP04 GICD in + * the virtual GIC. + * This actually limit CPU number to 8 for dom0. + */ + compatible = DT_COMPAT_GIC_CORTEX_A15; + len = strlen((char*) compatible) + 1; res = fdt_begin_node(fdt, "interrupt-controller"); if ( res ) -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |