[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] 32-on-64: pvfb issue
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |