aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/fbfront.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-02-28 10:21:21 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-02-28 10:21:21 +0000
commite8fcc3571a0938a542ddf7ebc5155da490dc6613 (patch)
tree4566aed17cf65ffc0a2179440b55e121dce8abbc /extras/mini-os/fbfront.c
parentfcd8d64078444c08fe103a11e3291bd170182ec2 (diff)
downloadxen-e8fcc3571a0938a542ddf7ebc5155da490dc6613.tar.gz
xen-e8fcc3571a0938a542ddf7ebc5155da490dc6613.tar.bz2
xen-e8fcc3571a0938a542ddf7ebc5155da490dc6613.zip
stubdom: use PVFB so as to e.g. permit SDL display
This adds support in ioemu for PVFB frontend as stubdomain display. This permits for instance to use SDL in dom0 to perform the eventual display. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Diffstat (limited to 'extras/mini-os/fbfront.c')
-rw-r--r--extras/mini-os/fbfront.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/extras/mini-os/fbfront.c b/extras/mini-os/fbfront.c
index bbe49b92a5..4f5041ab69 100644
--- a/extras/mini-os/fbfront.c
+++ b/extras/mini-os/fbfront.c
@@ -31,13 +31,6 @@ struct kbdfront_dev {
char *nodename;
char *backend;
- char *data;
- int width;
- int height;
- int depth;
- int line_length;
- int mem_length;
-
#ifdef HAVE_LIBC
int fd;
#endif
@@ -316,7 +309,10 @@ struct fbfront_dev *init_fbfront(char *nodename, void *data, int width, int heig
for (i = 0; mapped < mem_length && i < max_pd; i++) {
unsigned long *pd = (unsigned long *) alloc_page();
for (j = 0; mapped < mem_length && j < PAGE_SIZE / sizeof(unsigned long); j++) {
- pd[j] = virt_to_mfn((unsigned long) data + mapped);
+ /* Trigger CoW */
+ * ((char *)data + mapped) = 0;
+ barrier();
+ pd[j] = virtual_to_mfn((unsigned long) data + mapped);
mapped += PAGE_SIZE;
}
for ( ; j < PAGE_SIZE / sizeof(unsigned long); j++)