From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: Re: 32-on-64: pvfb issue Date: Wed, 24 Jan 2007 12:23:35 +0100 Message-ID: <45B741B7.1080306@suse.de> References: <45B60548.4060003@suse.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080200050108050107030306" Return-path: In-Reply-To: <45B60548.4060003@suse.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Gerd Hoffmann Cc: Xen devel list , Keir Fraser , Markus Armbruster List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------080200050108050107030306 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Gerd Hoffmann wrote: > Keir Fraser wrote: >> On 22/1/07 14:01, "Gerd Hoffmann" wrote: >> >>> Here we go. Compile-tested on 32bit, more tests coming, full rebuild >>> still in progress ... >> Yeah, I like these. They can go in as soon as you're happy with them. One >> exception is blkback -- I'm not keen on the v1/v2 thing as it is. I think we >> should continue to include public/io/blkif.h and use the struct definition >> there when protocol==XEN_IO_PROTO_ABI_NATIVE. > > Fixed. New versions attached, with comments added/updated and > signed-off-by. They are partly tested only though, 32-on-64 seems to be > broken in current unstable, mixing 32bit and 64bit domains doesn't work. What is the status of this? It's not in the public tree yet. Any problems? Or just stuck in the patch queue or regression testing? Meanwhile I've tested the block backend patches with 3.0.4 in a mixed environment -- works fine. The pvfb backend has a stupid tyops (missing underscore) which breaks the combination 32bit dom0 and 64bit domU. Fix attached. The patch also adds a cast to fix a warning. please apply, Gerd -- Gerd Hoffmann --------------080200050108050107030306 Content-Type: text/x-patch; name="fbback-bimodal-fix.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fbback-bimodal-fix.diff" Index: build-32-release304-13133/tools/xenfb/xenfb.c =================================================================== --- build-32-release304-13133.orig/tools/xenfb/xenfb.c +++ build-32-release304-13133/tools/xenfb/xenfb.c @@ -367,12 +367,12 @@ static int xenfb_map_fb(struct xenfb_pri */ uint32_t *ptr32 = NULL; uint32_t *ptr64 = NULL; -#if defined(__i386_) - ptr32 = page->pd; +#if defined(__i386__) + ptr32 = (void*)page->pd; ptr64 = ((void*)page->pd) + 4; #elif defined(__x86_64__) ptr32 = ((void*)page->pd) - 4; - ptr64 = page->pd; + ptr64 = (void*)page->pd; #endif if (ptr32) { if (0 == ptr32[1]) { @@ -388,7 +388,7 @@ static int xenfb_map_fb(struct xenfb_pri /* 64bit dom0, 32bit domU */ mode = 32; pd = ((void*)page->pd) - 4; -#elif defined(__i386_) +#elif defined(__i386__) } else if (0 == strcmp(xenfb->protocol, XEN_IO_PROTO_ABI_X86_64)) { /* 32bit dom0, 64bit domU */ mode = 64; @@ -560,10 +560,10 @@ int xenfb_attach_dom(struct xenfb *xenfb if (xenfb_wait_for_frontend_initialised(&xenfb->kbd) < 0) goto error; - if (xenfb_bind(&xenfb->fb) < 0) - goto error; if (xenfb_bind(&xenfb->kbd) < 0) goto error; + if (xenfb_bind(&xenfb->fb) < 0) + goto error; if (xenfb_xs_scanf1(xsh, xenfb->fb.otherend, "feature-update", "%d", &val) < 0) --------------080200050108050107030306 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------080200050108050107030306--