[XenPPC] Re: [Xen-devel] [patch 01/10] Generate headers with arch-specific structs.
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.
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 ||
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 ||
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