|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- Re: [Xen-devel] 32-on-64: pvfb issue, (continued)
- Re: [Xen-devel] 32-on-64: pvfb issue, Keir Fraser
- Re: [Xen-devel] 32-on-64: pvfb issue, Gerd Hoffmann
- Re: [Xen-devel] 32-on-64: pvfb issue, Gerd Hoffmann
- Re: [Xen-devel] 32-on-64: pvfb issue, Markus Armbruster
- Re: [Xen-devel] 32-on-64: pvfb issue, Gerd Hoffmann
- Re: [Xen-devel] 32-on-64: pvfb issue, Markus Armbruster
- Re: [Xen-devel] 32-on-64: pvfb issue, Keir Fraser
- Re: [Xen-devel] 32-on-64: pvfb issue,
Gerd Hoffmann <=
- Re: [Xen-devel] 32-on-64: pvfb issue, Keir Fraser
- Re: [Xen-devel] 32-on-64: pvfb issue, Gerd Hoffmann
- Re: [Xen-devel] 32-on-64: pvfb issue, Keir Fraser
- Re: [Xen-devel] 32-on-64: pvfb issue, Gerd Hoffmann
- Re: [Xen-devel] 32-on-64: pvfb issue, Keir Fraser
- Re: [Xen-devel] 32-on-64: pvfb issue, Gerd Hoffmann
- Re: [Xen-devel] 32-on-64: pvfb issue, Keir Fraser
- [Xen-devel] [Patch] [VTPM_TOOLS] Add HVM support to vtpm_manager, Scarlata, Vincent R
- Re: [Xen-devel] 32-on-64: pvfb issue, Gerd Hoffmann
- Re: [Xen-devel] 32-on-64: pvfb issue, Gerd Hoffmann
|
|
|
|
|