[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] 32-on-64: pvfb issue
Keir Fraser wrote: > > > On 19/1/07 09:54, "Gerd Hoffmann" <kraxel@xxxxxxx> wrote: > >>> Make tools >>> write a default value for pv guests for backward compat. >> Here is a one-line fix to make the pvfb frontend clear the shared page. >> Can this go into both 3.0.4 and unstable please? > > How about a patch to clear the page *and* write a newly-defined protocol > field? Or are you still planning to kludge the bitwidth check in the > backend? That is better, yes. Minimum patch attached. For unstable I'll brew a nicer version with defines and so on when adjusting the backend code to be able to deal with both protocols. cheers, Gerd -- Gerd Hoffmann <kraxel@xxxxxxx> --- linux-2.6-xen-sparse/drivers/xen/fbfront/xenfb.c | 8 +++++++- xen/include/public/io/fbif.h | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) Index: build-32-unstable-13495/linux-2.6-xen-sparse/drivers/xen/fbfront/xenfb.c =================================================================== --- build-32-unstable-13495.orig/linux-2.6-xen-sparse/drivers/xen/fbfront/xenfb.c +++ build-32-unstable-13495/linux-2.6-xen-sparse/drivers/xen/fbfront/xenfb.c @@ -479,7 +479,7 @@ static int __devinit xenfb_probe(struct goto error_nomem; /* set up shared page */ - info->page = (void *)__get_free_page(GFP_KERNEL); + info->page = (void *)__get_free_page(GFP_KERNEL | __GFP_ZERO); if (!info->page) goto error_nomem; @@ -600,6 +600,12 @@ static void xenfb_init_shared_page(struc for (i = 0; i < info->nr_pages; i++) info->mfns[i] = vmalloc_to_mfn(info->fb + i * PAGE_SIZE); +#if defined(__i386__) + info->page->protocol = 1; +#elif defined(__x86_64__) || defined(__ia64__) + info->page->protocol = 2; +#endif + info->page->pd[0] = vmalloc_to_mfn(info->mfns); info->page->pd[1] = 0; info->page->width = XENFB_WIDTH; Index: build-32-unstable-13495/xen/include/public/io/fbif.h =================================================================== --- build-32-unstable-13495.orig/xen/include/public/io/fbif.h +++ build-32-unstable-13495/xen/include/public/io/fbif.h @@ -102,6 +102,11 @@ struct xenfb_page uint32_t line_length; /* the length of a row of pixels (in bytes) */ uint32_t mem_length; /* the length of the framebuffer (in bytes) */ uint8_t depth; /* the depth of a pixel (in bits) */ + uint8_t protocol; /* protocol version + * 1 -- page directory: i386 + * 2 -- page directory: x86_64, ia64 + * 3 -- grant tables [not yet] + */ /* * Framebuffer page directory _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |