[XenPPC] Re: [Xen-devel] [patch 01/10] Generate headers with arch-specific structs.

2006-12-05 Thread Gerd Hoffmann
Hollis Blanchard wrote:
 No.  It's because (a) I don't have a working cross compiler and (b)
 because it's the only bigendian architecture, so just generating those
 headers isn't enough to have any other (xen-supported) architectures
 access powerpc structs correctly.  So I decided to just leave it as-is
 for now.  It certaily can be added, feel free to send patches ;) 
 
 Hmm, that's ambitious. What exactly is your use case? If it's 32-on-64,
 no endianness code is required, right?

That is the only one for now, yes, and it works fine without
byteswapping ...

cheers,
  Gerd

-- 
Gerd Hoffmann [EMAIL PROTECTED]
http://www.suse.de/~kraxel/julika-dora.jpeg


___
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel


[XenPPC] Re: [Xen-devel] [patch 01/10] Generate headers with arch-specific structs.

2006-12-05 Thread Hollis Blanchard
On Tue, 2006-12-05 at 09:45 +0100, Gerd Hoffmann wrote:
 Hollis Blanchard wrote:
  No.  It's because (a) I don't have a working cross compiler and (b)
  because it's the only bigendian architecture, so just generating those
  headers isn't enough to have any other (xen-supported) architectures
  access powerpc structs correctly.  So I decided to just leave it as-is
  for now.  It certaily can be added, feel free to send patches ;)
 
  Hmm, that's ambitious. What exactly is your use case? If it's 32-on-64,
  no endianness code is required, right?
 
 That is the only one for now, yes, and it works fine without
 byteswapping ...

So it should be fine that PowerPC structs don't have any endian-swapping
accessors.

-- 
Hollis Blanchard
IBM Linux Technology Center


___
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel


[XenPPC] [PATCH] Change to add boot param delimiter ||

2006-12-05 Thread Jerone Young
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 [EMAIL PROTECTED]

diff -r 9148f7816d00 xen/arch/powerpc/boot_of.c
--- a/xen/arch/powerpc/boot_of.cTue Oct 24 19:11:00 2006 -0400
+++ b/xen/arch/powerpc/boot_of.cTue 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;
 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
+for(sepr_index; sepr_index  (sizeof(sepr)/sizeof(char *));
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]) - 1;
 mods[mod].string = (u32)(ulong)p;
 of_printf(%s: dom0 mod string: %s\n, __func__, p);
 }



___
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel


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

2006-12-05 Thread Jimi Xenidis


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 [EMAIL PROTECTED]

diff -r 9148f7816d00 xen/arch/powerpc/boot_of.c
--- a/xen/arch/powerpc/boot_of.cTue Oct 24 19:11:00 2006 -0400
+++ b/xen/arch/powerpc/boot_of.cTue 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@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel