[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XenPPC] [PATCH] Change to add boot param delimiter " || "
Update patch with Jimi's suggestions: Signed-off-by: Jerone Young <jyoung5@xxxxxxxxxx> diff -r 9148f7816d00 xen/arch/powerpc/boot_of.c --- a/xen/arch/powerpc/boot_of.c Tue Oct 24 19:11:00 2006 -0400 +++ b/xen/arch/powerpc/boot_of.c Wed Dec 06 11:34:37 2006 -0600 @@ -964,10 +964,11 @@ static void * __init boot_of_module(ulon static module_t mods[4]; ulong mod0_start; ulong mod0_size; - static const char sepr[] = " -- "; + static const char * sepr[] = {" -- ", " || "}; + int sepr_index = 0; extern char dom0_start[] __attribute__ ((weak)); extern char dom0_size[] __attribute__ ((weak)); - const char *p; + const char *p = NULL; int mod; void *oft; @@ -1020,11 +1021,17 @@ static void * __init boot_of_module(ulon of_printf("%s: dom0 mod @ 0x%016x[0x%x]\n", __func__, mods[mod].mod_start, mods[mod].mod_end); - p = strstr((char *)(ulong)mbi->cmdline, sepr); + + /* look for deliminator -- or || is delimator */ + for(sepr_index; sepr_index < ARRAY_SIZE(sepr); sepr_index++){ + p = strstr((char *)(ulong)mbi->cmdline, sepr[sepr_index]); + if (p != NULL) + break; + } + if (p != NULL) { /* Xen proper should never know about the dom0 args. */ - *(char *)p = '\0'; - p += sizeof (sepr) - 1; + p += strlen(sepr[sepr_index]); mods[mod].string = (u32)(ulong)p; of_printf("%s: dom0 mod string: %s\n", __func__, p); } On Tue, 2006-12-05 at 19:06 -0500, Jimi Xenidis wrote: > On Dec 5, 2006, at 6:20 PM, Jerone Young wrote: > > > This patch changes the code so can support more than one type > > delimiter > > on the command line. Now you can use "||" as well as "--". " || " > > works > > better with SLOF currently available. There is a bug in some cases > > using > > SLOF where "--" is not treated as desired. > > > > Patch has been tested and ready to go. > > > > Signed-off-by: Jerone Young <jyoung5@xxxxxxxxxx> > > > > diff -r 9148f7816d00 xen/arch/powerpc/boot_of.c > > --- a/xen/arch/powerpc/boot_of.c Tue Oct 24 19:11:00 2006 -0400 > > +++ b/xen/arch/powerpc/boot_of.c Tue Dec 05 17:08:41 2006 -0600 > > @@ -964,10 +964,11 @@ static void * __init boot_of_module(ulon > > static module_t mods[4]; > > ulong mod0_start; > > ulong mod0_size; > > - static const char sepr[] = " -- "; > > + static const char * sepr[] = {" -- ", " || "}; > > + static int sepr_index = 0; > > no reason for sepr_index to be static > > > extern char dom0_start[] __attribute__ ((weak)); > > extern char dom0_size[] __attribute__ ((weak)); > > - const char *p; > > + const char *p = NULL; > > int mod; > > void *oft; > > > > @@ -1020,11 +1021,18 @@ static void * __init boot_of_module(ulon > > > > of_printf("%s: dom0 mod @ 0x%016x[0x%x]\n", __func__, > > mods[mod].mod_start, mods[mod].mod_end); > > - p = strstr((char *)(ulong)mbi->cmdline, sepr); > > + > > + //look for deliminator -- or || is delimator > We avoid C++ comments please use /* */ and I can't believe _I_ cought > a typo :) > > > + for(sepr_index; sepr_index < (sizeof(sepr)/sizeof(char *)); > > sepr_index++){ > Please use "ARRAY_SIZE(sepr)" > > > + p = strstr((char *)(ulong)mbi->cmdline, sepr[sepr_index]); > > + if (p != NULL) > > + break; > > + } > > + > > if (p != NULL) { > > /* Xen proper should never know about the dom0 args. */ > > *(char *)p = '\0'; > > - p += sizeof (sepr) - 1; > > + p += strlen(sepr[sepr_index]) - 1; > > The -1 is because sizeof() includes '\0', so you can drop it here. > > > _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ppc-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |