WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

Re: [XenPPC] [PATCH] Change to add boot param delimiter " || "

To: Jerone Young <jyoung5@xxxxxxxxxx>
Subject: Re: [XenPPC] [PATCH] Change to add boot param delimiter " || "
From: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
Date: Tue, 5 Dec 2006 19:06:04 -0500
Cc: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 05 Dec 2006 16:06:03 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1165360800.21685.9.camel@thinkpad>
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1165360800.21685.9.camel@thinkpad>
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx

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