Hi, This patch series sorts the qemu console data structures. Current state is that DisplayState is used pretty much everywhere. Which is bad. With this patch series applied it looks like this instead:
DisplaySurface Central framebuffer data structure. ui frontents (gtk, sdl, vnc, ...) use this (and *only* this) as data source. QemuConsole Central hardware data structures. Each graphic card gets one, likewise each 'vc' chardev. DisplayState Ties everything together. Private to console.c (well, should be, we are not there yet). This is a prerequisite for cleaning up and improving console.c and also brings us a step closer to multihead support. cheers, Gerd The following changes since commit fe3cc14fd83e0c8f376d849ccd0fc3433388442d: Merge remote-tracking branch 'quintela/migration.next' into staging (2013-03-11 08:30:34 -0500) are available in the git repository at: git://git.kraxel.org/qemu pixman.v7 for you to fetch changes up to 8897da923112771f66afcaea24a34c0e893b91c2: console: remove ds_get_* helper functions (2013-03-12 10:46:07 +0100) ---------------------------------------------------------------- Gerd Hoffmann (18): console: fix displaychangelisteners interface console: kill DisplayState->opaque spice: zap sdpy global qxl: zap qxl0 global qxl: better vga init in enter_vga_mode sdl: drop dead code console: rework DisplaySurface handling [vga emu side] console: rework DisplaySurface handling [dcl/ui side] console: add surface_*() getters gtk: stop using DisplayState vnc: stop using DisplayState sdl: stop using DisplayState spice: stop using DisplayState cocoa: stop using DisplayState console: zap displaystate from dcl callbacks console: stop using DisplayState in gfx hardware emulation console: zap color_table console: remove ds_get_* helper functions hw/arm/musicpal.c | 20 +- hw/arm/nseries.c | 7 - hw/arm/palm.c | 7 - hw/blizzard.c | 37 ++-- hw/cirrus_vga.c | 22 ++- hw/exynos4210_fimd.c | 17 +- hw/framebuffer.c | 4 +- hw/framebuffer.h | 2 +- hw/g364fb.c | 43 ++-- hw/jazz_led.c | 88 +++++---- hw/milkymist-vgafb.c | 17 +- hw/omap_lcdc.c | 47 +++-- hw/pl110.c | 24 +-- hw/pxa2xx_lcd.c | 39 ++-- hw/qxl-render.c | 21 +- hw/qxl.c | 61 +++--- hw/sm501.c | 34 ++-- hw/ssd0303.c | 17 +- hw/ssd0323.c | 19 +- hw/tc6393xb.c | 28 +-- hw/tc6393xb_template.h | 5 +- hw/tcx.c | 62 +++--- hw/vga-isa-mm.c | 5 +- hw/vga-isa.c | 4 +- hw/vga-pci.c | 4 +- hw/vga.c | 109 +++++----- hw/vga_int.h | 2 +- hw/vmware_vga.c | 107 +++++----- hw/xenfb.c | 57 +++--- include/ui/console.h | 274 +++++++------------------- include/ui/spice-display.h | 9 +- trace-events | 7 +- ui/cocoa.m | 57 ++---- ui/console.c | 470 +++++++++++++++++++++++++------------------- ui/curses.c | 28 ++- ui/gtk.c | 160 ++++++++------- ui/sdl.c | 118 ++++++----- ui/spice-display.c | 81 ++++---- ui/vnc-enc-tight.c | 7 +- ui/vnc-jobs.c | 1 - ui/vnc.c | 143 +++++++------- ui/vnc.h | 4 +- vl.c | 6 +- 43 files changed, 1170 insertions(+), 1104 deletions(-)