[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Xen-staging] [xen staging] ARM: parse separate DT properties for different commandlines
On Mon, 2013-10-07 at 13:23 +0100, Julien Grall wrote: > On 10/01/2013 11:12 AM, Ian Campbell wrote: > > On Tue, 2013-10-01 at 10:56 +0100, Ian Campbell wrote: > >> On Thu, 2013-09-19 at 10:44 +0100, Julien Grall wrote: > >>> > >>> On 19 Sep 2013 09:29, "Andre Przywara" <andre.przywara@xxxxxxxxxx> > >>> wrote: > >>>>> > >>>>>> @@ -261,7 +261,12 @@ const char *device_tree_bootargs(const void > >>> *fdt) > >>>>>> if ( node < 0 ) > >>>>>> return NULL; > >>>>>> > >>>>>> - prop = fdt_get_property(fdt, node, "bootargs", NULL); > >>>>>> + prop = fdt_get_property(fdt, node, "xen,xen-bootargs", NULL); > >>>>>> + if ( prop == NULL ) > >>>>>> + { > >>>>>> + if (fdt_get_property(fdt, node, "xen,dom0-bootargs", > >>> NULL)) > >>>>>> + prop = fdt_get_property(fdt, node, "bootargs", NULL); > >>>>>> + } > >>> > >>> The logic seems wrong here, we returns bootargs only if the property > >>> "xen,dom0-bootargs" exists. We should also check if the user give the > >>> dom0 > >>> command line via the multiboot module. > >> > >> Anyone investigating this? I've just been using the following, which is > >> obviously bogus! > > > > How about this: > > 8<------------------------------------ > > > > From a158dee49bb59e76c0f9103f512bb4bf9489f770 Mon Sep 17 00:00:00 2001 > > From: Ian Campbell <ijc@xxxxxxxxxxxxxx> > > Date: Fri, 20 Sep 2013 23:45:34 +0100 > > Subject: [PATCH] xen: arm: fix usage of bootargs for Xen. > > > > The chosen node's bootargs property should be used for Xen if there is a > > dom0 > > kernel multiboot module with a command line, not just if xen,dom0-bootargs > > is > > present. > > From docs/misc/arm/device-tree/booting.txt: > If no Xen specific properties are present, bootargs is for Dom0. > > The current behaviour seems logic. Can you update the documentation? You mean the patch is good but the docs need updating? Sure. > > > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > > --- > > xen/common/device_tree.c | 10 ++++++++-- > > 1 file changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c > > index 27ee708..fe25508 100644 > > --- a/xen/common/device_tree.c > > +++ b/xen/common/device_tree.c > > @@ -242,7 +242,7 @@ static int __init device_tree_for_each_node(const void > > *fdt, > > */ > > const char *device_tree_bootargs(const void *fdt) > > { > > - int node; > > + int node; > > const struct fdt_property *prop; > > > > node = fdt_path_offset(fdt, "/chosen"); > > @@ -252,7 +252,13 @@ const char *device_tree_bootargs(const void *fdt) > > prop = fdt_get_property(fdt, node, "xen,xen-bootargs", NULL); > > if ( prop == NULL ) > > { > > - if (fdt_get_property(fdt, node, "xen,dom0-bootargs", NULL)) > > + struct dt_mb_module *dom0_mod = NULL; > > + > > + if ( early_info.modules.nr_mods >= MOD_KERNEL ) > > + dom0_mod = &early_info.modules.module[MOD_KERNEL]; > > + > > + if (fdt_get_property(fdt, node, "xen,dom0-bootargs", NULL) || > > + ( dom0_mod && dom0_mod->cmdline[0] ) ) > > prop = fdt_get_property(fdt, node, "bootargs", NULL); > > } > > if ( prop == NULL ) > > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |