int is_graphic_console(void);
int is_fixedsize_console(void);
diff --git a/hw/vga.c b/hw/vga.c
-index a2b8744..66f77b0 100644
+index a2b8744..a6b768c 100644
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -34,6 +34,8 @@
return val;
}
-@@ -631,7 +634,9 @@ static void vbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val)
+@@ -631,7 +634,8 @@ static void vbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val)
!(s->vbe_regs[VBE_DISPI_INDEX_ENABLE] & VBE_DISPI_ENABLED)) {
int h, shift_control;
- if (s->vram_gmfn != s->lfb_addr && intel_output != 1) {
-+ /* If framebuffer memory isn't mapped over the real frame buffer,
-+ * dom0 needs to be able to see it */
++ /* If the real frambuffer isn't mapped in, check that the qemu allocd one is*/
+ if (s->vram_gmfn != s->lfb_addr && intel_output != INTEL_OUTPUT_MAPPED) {
set_vram_mapping(s, s->lfb_addr, s->lfb_end);
}
-@@ -1686,7 +1691,8 @@ static void vga_draw_graphic(VGAState *s, int full_update)
+@@ -1686,7 +1690,8 @@ static void vga_draw_graphic(VGAState *s, int full_update)
}
}
return;
vga_draw_line = vga_draw_line_table[v * NB_DEPTHS + get_depth_index(s->ds)];
-@@ -2341,6 +2347,10 @@ static void vga_map(PCIDevice *pci_dev, int region_num,
- #endif
-
- fprintf(stderr, "vga s->lfb_addr = %lx s->lfb_end = %lx \n", (unsigned long) s->lfb_addr,(unsigned long) s->lfb_end);
-+ fprintf(stderr, "vbe regs VBE_DISPI_INDEX_VIDEO_MEMORY_64K=%d VBE_DISPI_INDEX_XRES=%d VBE_DISPI_INDEX_BPP=%d\n",
-+ s->vbe_regs[VBE_DISPI_INDEX_VIDEO_MEMORY_64K],
-+ s->vbe_regs[VBE_DISPI_INDEX_XRES],
-+ s->vbe_regs[VBE_DISPI_INDEX_BPP]);
-
- if (size != s->vram_size)
- fprintf(stderr, "vga map with size %x != %x\n", size, s->vram_size);
diff --git a/intel.c b/intel.c
-index df9ebf7..0f0bfde 100644
+index df9ebf7..46949f6 100644
--- a/intel.c
+++ b/intel.c
@@ -14,31 +14,15 @@
extern int vga_passthrough;
uint32_t guest_framebuffer;
-int intel_output;
-+int intel_output = INTEL_OUTPUT_UNDEF;
++int intel_output = INTEL_OUTPUT_BLITTED;
static int display = 0;
static int mmio_fd = -1;
-@@ -284,7 +268,7 @@ static void intel_resize(DisplayState *ds)
+@@ -187,6 +171,8 @@ static void set_fb_mapping(void)
+ int rc;
+ unsigned long nr_pfn;
+
++ intel_output = INTEL_OUTPUT_MAPPED;
++
+ unset_vga_acc();
+ INTEL_DEBUG("set_fb_mapping: %x %x\n", (intel_fb_base + intel_get_surface()), guest_framebuffer);
+ nr_pfn = (ds_get_linesize(lds) * ds_get_height(lds)) >> TARGET_PAGE_BITS;
+@@ -226,6 +212,7 @@ static void unset_fb_mapping(void)
+ }
+
+ set_vga_acc();
++ intel_output = INTEL_OUTPUT_BLITTED;
+ memcpy(ds_get_data(lds),
+ (uint8_t *) (intel_mem + intel_get_surface()),
+ ds_get_linesize(lds) * ds_get_height(lds));
+@@ -284,7 +271,6 @@ static void intel_resize(DisplayState *ds)
intel_force_linear(ds_get_linesize(ds));
set_fb_mapping();
}
- intel_output = 1;
-+ intel_output = INTEL_OUTPUT_MAPPED;
}
else
{
-@@ -292,12 +276,12 @@ static void intel_resize(DisplayState *ds)
+@@ -292,12 +278,10 @@ static void intel_resize(DisplayState *ds)
unset_fb_mapping();
else
intel_force_linear(0);
- intel_output = 2;
-+ intel_output = INTEL_OUTPUT_BLITTED;
}
} else {
if (map_size)
unset_fb_mapping();
- intel_output = 1;
-+ intel_output = INTEL_OUTPUT_MAPPED;
}
}
-@@ -512,6 +496,6 @@ void intel_display_init(DisplayState *ds)
+@@ -512,6 +496,5 @@ void intel_display_init(DisplayState *ds)
dpy_resize(ds);
}
- intel_output = 1;
-+ intel_output = INTEL_OUTPUT_BLITTED;
lds = ds;
}
diff --git a/intel.h b/intel.h