History | View | Annotate | Download (11.1 kB)
console: qom-ify QemuConsole
Just the minimal bits to turn QemuConsoles into Objects.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
console: add device link to QemuConsoles
So it is possible to figure which qemu console displays which device.
console: add qemu_console_lookup_by_device
Look up the QemuConsole for a given device, using the new link.
console: zap ds arg from register_displaychangelistener
We don't have multiple DisplayStates any more,so passing it in as argument is not needed.
input: make QEMUPutLEDEntry + QEMUPutMouseEntry private
There is no need for anybody outside ui/input.c to access thestruct elements. Move the definitions, leaving only the typedefsin the header files.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>...
input: introduce keyboard handler list
Add a linked list of keyboard handlers. Added handlers will goto the head of the list. Removed handlers will be zapped fromthe list. The head of the list will be used for events.
This fixes the keyboard-dead-after-usb-kbd-unplug issue, key events...
xen: re-enable refresh interval reporting for xenfb
xenfb informs the guest about the gui refresh interval so it can avoidpointless work. That logic was temporarely disabled for theDisplayState reorganization. Restore it now, with a proper interfacefor it....
console: add qemu_console_is_*
console: allow pinning displaychangelisteners to consoles
DisplayChangeListener gets a new QemuConsole field, which can be set tonon-NULL before registering. This will pin the QemuConsole, so thatparticular DisplayChangeListener will not follow console switches....
console: add GraphicHwOps
Pass a single GraphicHwOps struct pointer to graphic_console_init,instead of a bunch of function pointers.
console: gui timer fixes
Make gui update rate adaption code in gui_update() actually work.Sprinkle in a tracepoint so you can see the code at work. Removethe update rate adaption code in vnc and make vnc simply use thegeneric bits instead.
console: rename vga_hw_*, add QemuConsole param
Add QemuConsole parameter to vga_hw_*, so the interface allows to updatenon-active consoles (the actual code can't handle this yet, see nextpatch). Passing NULL is allowed and updates the active console, like...
console: give each QemuConsole its own DisplaySurface
Go away from the global DisplaySurface, give one to each QemuConsoleinstead. With this patch applied it is possible to callgraphics_hw_* functions with qemu consoles which are not the currentforeground console....
console: simplify screendump
Screendumps are alot simpler as we can update non-activeQemuConsoles now. So we only need to update the QemuConsolewe want write out, then dump the DisplaySurface content intoa ppm file. Done.
No console switching needed. No special support code in the...
console: move gui_update+gui_setup_refresh from vl.c into console.c
Pure code motion, no functional changes.
console: make DisplayState private to console.c
With gui_* being moved to console.c nobody outside console.c needsaccess to DisplayState fields any more. Make the struct private.
console: displaystate init revamp
We have only one DisplayState, so there is no need for the "next" linking, rip it. Also consolidate all displaystate initializationinto init_displaystate(). This function is called by vl.c aftercreating the devices (and thus all QemuConsoles) and before...
console: zap displaystate from dcl callbacks
Now that nobody depends on DisplayState in DisplayChangeListenercallbacks any more we can remove the parameter from all callbacks.
console: stop using DisplayState in gfx hardware emulation
Use QemuConsole instead. Updates interfaces in console.[ch] and adaptsgfx hardware emulation code.
console: remove ds_get_* helper functions
Switch the few remaining ds_get_* uses in console.c over to the newsurface_* accessors.
While doing so tripped over a few leftovers from commita93a4a226a2afba147ba5df688b85d844f537c68 (code using depth == 0as indicator for textmode rendering). Fixed them up....
console: fix displaychangelisteners interface
Split callbacks into separate Ops struct. Pass DisplayChangeListenerpointer as first argument to all callbacks. Uninline a bunch ofdisplay functions and move them from console.h to console.c
console: kill DisplayState->opaque
It's broken by design. There can be multiple DisplayChangeListenerinstances, so they simply can't store state in the (single) DisplayStatestruct. Try 'qemu -display gtk -vnc :0', watch it crash & burn.
With DisplayChangeListenerOps having a more sane interface now we can...
console: rework DisplaySurface handling [vga emu side]
Decouple DisplaySurface allocation & deallocation from DisplayState.Replace dpy_gfx_resize + dpy_gfx_setdata with a dpy_gfx_replace_surfacefunction.
This handles the graphic hardware emulation.
console: rework DisplaySurface handling [dcl/ui side]
Replace the dpy_gfx_resize and dpy_gfx_setdata DisplayChangeListenercallbacks with a dpy_gfx_switch callback which notifies the ui codewhen the framebuffer backing storage changes.
console: add surface_*() getters
Add convinence wrappers to query DisplaySurface properties.Simliar to ds_get_*, but operating in the DisplaySurfacenot the DisplayState.
With this patch in place ui frontents can stop using DisplayStatein the rendering code paths, they can simply operate using the...
chardev: add vc support to qapi
This patch adds 'vc' support to qapi and also switches over thevc chardev initialization to the new qapi code path.
console: allow VCs to be overridden by UI
We want to expose VCs using a VteTerminal widget. We need access to provide ourown CharDriverState in order to do this.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1361367806-4599-3-git-send-email-aliguori@us.ibm.com
ui: add basic GTK gui (v5)
This is minimalistic and just contains the basic widget infrastructure. The GUIconsists of a menu and a GtkNotebook. To start with, the notebook has its tabshidden which provides a UI that looks very similar to SDL with the exception of...
vga: fix byteswapping.
In case host and guest endianness differ the vga code first createsa shared surface (using qemu_create_displaysurface_from), then goespatch the surface format to indicate that the bytes must be swapped.
The switch to pixman broke that hack as the format patching isn't...
misc: move include files to include/qemu/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
monitor: move include files to include/monitor/
qapi: move include files to include/qobject/
ui: move files to ui/ and include/ui/