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-devel

Re: [Xen-devel] 32-on-64: pvfb issue

To: Gerd Hoffmann <kraxel@xxxxxxx>
Subject: Re: [Xen-devel] 32-on-64: pvfb issue
From: Gerd Hoffmann <kraxel@xxxxxxx>
Date: Wed, 24 Jan 2007 12:23:35 +0100
Cc: Xen devel list <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir@xxxxxxxxxxxxx>, Markus Armbruster <armbru@xxxxxxxxxx>
Delivery-date: Wed, 24 Jan 2007 03:23:13 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <45B60548.4060003@xxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C1DA7F58.801A%keir@xxxxxxxxxxxxx> <45B60548.4060003@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.9 (X11/20060911)
Gerd Hoffmann wrote:
> Keir Fraser wrote:
>> On 22/1/07 14:01, "Gerd Hoffmann" <kraxel@xxxxxxx> 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 <kraxel@xxxxxxx>
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)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel