History | View | Annotate | Download (18.3 kB)
softmmu: move include files to include/sysemu/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
misc: move include files to include/qemu/
monitor: move include files to include/monitor/
ui: move files to ui/ and include/ui/
spice: add new spice-server callbacks to ui/spice-display.c
Otherwise qemu crashes with non-qxl graphics cards.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
spice: switch to pixman
Switch over spice-display.c to use the pixman libraryinstead of the home-grown pflib bits.
spice: fix initialization order
Register displaychangelistener last, after spice is fully initialized,otherwise we may hit NULL pointer dereferences when qemu starts callingour callbacks.
Commit e250d949feb1334828f27f0d145c35f29c4b7639 triggers this bug....
console: untangle gfx & txt updates
Stop abusing displaysurface fields for text mode displays.(bpp = 0, width = cols, height = lines).
Add flags to displaystate indicating whenever text mode display(curses) or gfx mode displays (sdl, vnc, ...) are present....
console: move set_mouse + cursor_define callbacks
When adding DisplayChangeListeners the set_mouse and cursor_definecallbacks have been left in DisplayState for some reason. Fix it.
spice: raise requirement to 0.12
With the next qemu version (1.3) we are going to bump the qxl devicerevision to 4. The new features available require a recent spice-serverversion, so raise up the bar. Otherwise we would end up with differentqxl revisions depending on the spice-server version installed, which...
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
ui: Fix spelling in comment (ressource -> resource)
The function is called interface_release_resource.
Signed-off-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
spice: switch to queue for vga mode updates
spice: split qemu_spice_create_update
Creating one function which creates a single update for a givenrectangle. And one (for now) pretty simple wrapper around it toqueue up screen updates for the dirty region.
[ v2: also update bounding box ]
spice: add screen mirror
Create a screen mirror, keep there a copy of the most recent updatepassed on to spice-server.
spice: send updates only for changed screen content
when creating screen updates go compare the current guest screenagainst the mirror (which holds the most recent update sent), thenonly create updates for the screen areas which did actually change.
[ v2: drop redundant qemu_spice_create_one_update call ]...
spice: make number of surfaces runtime-configurable.
spice: notify on vm state change only via spice_server_vm_start/stop
QXLWorker->start/stop are deprecated since spice-server 0.11.2
Signed-off-by: Yonit Halperin <yhalperi@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
ui/spice-display.c: add missing initialization for valgrind
We can't initialize QXLDevSurfaceCreate field by field because it has apa hole, and so 4 bytes remain uninitialized when building on x86-64, sojust memset.
Signed-off-by: Alon Levy <alevy@redhat.com>...
Replace Qemu by QEMU in comments
The official spelling is QEMU.
Signed-off-by: Stefan Weil <sw@weilnetz.de>Reviewed-by: Andreas Färber <afaerber@suse.de>[blauwirbel@gmail.com: fixed comment style in hw/sun4m.c]Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
ui/spice-display: use uintptr_t when casting qxl physical addresses
The current intptr_t casts are a problem when the address's highestbit is 1, and it is cast to a intptr_t and then to uint64_t, suchas at: surface.mem = (intptr_t)ssd->buf;...
ui/spice-display.c: Fix compilation warnings on 32 bit hosts
Fix compilation failures ("cast from pointer to integer ofdifferent size [-Werror=pointer-to-int-cast]") by usinguintptr_t instead.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
qxl: switch qxl.c to trace-events
dprint is still used for qxl_init_common one time prints.
also switched parts of spice-display.c over, mainly all the callbacks tospice server.
All qxl device trace events start with the qxl device id.
qxl: introduce QXLCookie
Will be used in the next patch.
Signed-off-by: Alon Levy <alevy@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
qxl: fix spice+sdl no cursor regression
regression introduced by 075360945860ad9bdd491921954b383bf762b0e5,
v2: lock around qemu_spice_cursor_refresh_unlocked
Reported-by: Fabiano Fidêncio <fabiano@fidencio.org>Signed-off-by: Alon Levy <alevy@redhat.com>...
qxl: require spice >= 0.8.2
drop all ifdefs on SPICE_INTERFACE_QXL_MINOR >= 1 as a result,any check for SPICE_SERVER_VERSION that is now always satisfied,and SPICE_INTERFACE_CORE_MINOR >= 3 tests, because0.8.2 has SPICE_INTERFACE_QXL_MINOR 1 andSPICE_INTERFACE_CORE_MINOR 3....
Drop unneeded pthread.h inclusions
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Replace the VMSTOP macros with a proper state type
Today, when notifying a VM state change with vm_state_notify(),we pass a VMSTOP macro as the 'reason' argument. This is not idealbecause the VMSTOP macros tell why qemu stopped and not exactlywhat the current VM state is....
spice: set qxl->ssd.running=true before telling spice to start, RHBZ #733993
If qxl->ssd.running=true is set after telling spice to start, the spice serverthread can call qxl_send_events while qxl->ssd.running is still false. This leads toassert(d->ssd.running)....
Use glib memory allocation and free functions
qemu_malloc/qemu_free no longer exist after this commit.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
qxl: async io support using new spice api
Some of the QXL port i/o commands are waiting for the spice server tocomplete certain actions. Add async versions for these commands, so wedon't block the vcpu while the spice server processses the command.Instead the qxl device will raise an IRQ when done....
spice: add worker wrapper functions.
Add wrapper functions for all spice worker calls.
spice: add qemu_spice_display_init_common
Factor out SimpleSpiceDisplay initialization intoqemu_spice_display_init_common() and call it fromboth qxl.c (for vga mode) and spice-display.c
spice/qxl: move worker wrappers
Move the wrapper functions which are used by qxl only to qxl.c.Rename them from qemu_spice_* to qxl_spice_*. Also pass in aqxl state pointer instead of a SimpleSpiceDisplay pointer.
qxl: set mm_time in vga update
This fixes a problem where on windows 7 startup phase, before the qxl driveris loaded, the drawables are sufficiently large and video like to trigger astream, but the lack of a filled mm time field triggers a warning in spice-gtk....
spice: don't create updates in spice server context.
This patch moves the creation of spice screen updates from the spiceserver context to qemu iothread context (display refresh timer to beexact). This way we avoid accessing qemu internals (display surface)...
spice: don't call displaystate callbacks from spice server context.
This patch moves the displaystate callback calls for setting the cursorand the mouse pointer from spice server to qemu (iothread) context.This allows us to simplify locking.
spice: drop obsolete iothread locking
We don't use qemu internals from spice server context any more.Thus we don't also need to grab the iothread mutex from spiceserver context. And we don't have to temporarely release thelock to avoid deadlocks. Drop all the calls....
spice-display: replace private lock with qemu mutex.
qemu_spice_create_update() must aquire the global qemu mutex tomake sure DisplayState doesn't change while we are accessing it.
Once this is in place the private lock is pretty pointless aseverything it protects is covered by the global qemu mutex now....
Replace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking)
Replace the remaining format attribute printf by macroGCC_FMT_ATTR which uses gnu_printf (if supported).
spice: simple display
With that patch applied you'll actually see the guests screen in thespice client. This does not bring qxl and full spice support though.This is basically the qxl vga mode made more generic, so it playstogether with any qemu-emulated gfx card. You can display stdvga or...
spice: add tablet support
Add support for the spice tablet interface. The tablet interface willbe registered (and then used by the spice client) as soon as a absolutepointing device is available and used by the guest, i.e. you'll have toconfigure your guest with '-usbdevice tablet'.