summaryrefslogtreecommitdiffstats
path: root/server
Commit message (Collapse)AuthorAgeFilesLines
* complete NetWireInterface redesign, make red_tunnel_worker.c build.Gerd Hoffmann2010-05-193-16/+20
|
* add spice-experimental.hGerd Hoffmann2010-05-195-65/+66
| | | | | | | | Supposed to be used for work-in-progress bits, where interfaces are not finalized yet. Moved over vdi port interface, tunnel interface and spice client migration functions.
* zap vd_interface.hGerd Hoffmann2010-05-199-370/+349
| | | | move over content to spice.h
* vd_interface.h cleanups.Gerd Hoffmann2010-05-193-54/+3
| | | | | Drop leftover bits which are not used any more. Rename DrawArea to QXLDrawArea.
* NetWireInterface: redesignGerd Hoffmann2010-05-194-19/+30
|
* zap MigrationInterfaceGerd Hoffmann2010-05-192-27/+0
| | | | Remove remaining MigrationInterface bits.
* migration: new apiGerd Hoffmann2010-05-193-39/+87
| | | | Add new API for migration, based on what RHEL-6 has.
* [debug] migration troubleshootingGerd Hoffmann2010-05-191-1/+1
|
* zap migration codeGerd Hoffmann2010-05-192-638/+11
| | | | Drop all code which depends on accessing the migration file handle.
* replace worker load/save with loadvm_commands, allow keeping surface contentGerd Hoffmann2010-05-194-101/+59
| | | | | | | | | | | | | | | Add worker->loadvm_commands. qemu will uses this to send a series of commands needed to restore state after savevm/loadvm and migration. That will be one create-surface command per surface and one cursor-set command for the local pointer. The worker->save/load functions are not needed any more. Likewise the interface->{get,set}_save_data callbacks. Surfaces created via loadvm_commands *will* not be cleared. Also primary surfaces are not cleared any more (unconditionally, although we could do that conditionally on loadvm using the flags field in QXLSurfaceCreate).
* surface: keep metadata (aka create command) in device memory.Gerd Hoffmann2010-05-191-17/+18
| | | | | | | | | | | With this patch applied the spice server will not release surface create commands for the whole lifecycle of the surface. When the surface is destroyed both create and destroy commands are released. This has the effect that the surface metadata (size, depth, ...) is kept in qxl device memory. This in turn makes it alot easier for qemu to handle savevm/loadvm. It just needs to do some minimal command parsing and maintain pointers to the create commands for the active surfaces.
* kill spice_server_set_mouse_absoluteGerd Hoffmann2010-05-192-11/+0
| | | | Not needed. Just register/unregister the tablet interface instead.
* vdi port: redesign.Gerd Hoffmann2010-05-192-57/+71
| | | | | | | | | | | | Pretty straight forward. One thing we should think about is if and how we are going to deal with multiple ports here? With vdi port using virtio-serial as communication channel to the guest it is easy to have multiple ports, i.e. we might want to use a second instance for clipboard data. That implies that we need support for multiple channels all the way through the stack ...
* constify SpiceBaseInterfaceGerd Hoffmann2010-05-192-3/+3
|
* SoundInterfaces: redesignGerd Hoffmann2010-05-194-141/+141
|
* TabletInterface: redesignGerd Hoffmann2010-05-193-25/+47
|
* QXL: redesign.Gerd Hoffmann2010-05-198-69/+82
|
* MouseInterface: redesignGerd Hoffmann2010-05-193-19/+40
|
* KeyboardInterface: redesign.Gerd Hoffmann2010-05-194-44/+63
| | | | | | | | | This is the direction I wanna take with all interfaces: Clearly separate interface (aka version information and function pointers) and state information. SpiceKbdInterface defines the interface, SpiceKbdInstance maintains per-instance state information. Keyboard hasn't much beside a pointer to SpiceKbdInterface, for other interfaces this very likely will be different.
* s/CoreInterface/SpiceCoreInterface/Gerd Hoffmann2010-05-198-33/+20
|
* VDInterface: redesign.Gerd Hoffmann2010-05-196-199/+198
| | | | | | | | | | | | VDInterface has been renamed to SpiceBaseInterface. Dropped base_version element, shlib versioning should be used instead. Dropped id element, it is passed to spice_server_add_interface() instead. Now SpiceBaseInterface has static information only, multiple interface instances can share it. Added SpiceBaseInstance struct for maintaining per-instance state information. Adapted spice_server_{add,remove}_interface() functions to the new world.
* minor timer interface cleanups.Gerd Hoffmann2010-05-193-28/+29
| | | | | | Make the timer interface largely look like the watch interface. Simliar naming convention for the functions (timer_*) and a opaque SpiceTimer type.
* new watch api: kill old apiGerd Hoffmann2010-05-192-7/+0
|
* new watch api: switch channelsGerd Hoffmann2010-05-191-21/+20
|
* new watch api: switch soundGerd Hoffmann2010-05-191-11/+21
|
* new watch api: switch migrationGerd Hoffmann2010-05-191-29/+30
|
* new watch api: switch inputsGerd Hoffmann2010-05-191-25/+25
|
* new watch api: switch ssl acceptGerd Hoffmann2010-05-191-5/+19
|
* new watch api: switch main channelGerd Hoffmann2010-05-191-19/+21
|
* new watch api: switch liasync readGerd Hoffmann2010-05-192-13/+12
|
* new watch api: switch listening socketsGerd Hoffmann2010-05-191-14/+20
|
* introduce new watch apiGerd Hoffmann2010-05-191-0/+11
| | | | | | | | | | | | | | | | | | | | | | This patch adds a new file handle watch interface to libspice, featuring three callbacks: (1) watch_add() -- create a new file watch. (2) watch_update_mask() -- change event mask. spice frequently enables/disables write notification. (3) watch_remove() -- remove a file watch. libspice users must implement these functions to allow libspice monitoring file handles. The old interface (set_file_handlers) doesn't explicitly express the lifecycle of a watch. Also it maps 1:1 to a qemu-internal function. In case the way qemu implements file watches changes (someone sayed QemuIONotifier?) this will break horribly. Beside that it is very bad style. Follwing patches will switch over users one by one to the new interface and finally zap the old one.
* fix visibilityGerd Hoffmann2010-05-192-24/+28
|
* zap CoreInterface->{term_printf,log}Gerd Hoffmann2010-05-192-47/+5
| | | | | Was used to print stuff to the qemu monitor. Fundamentally incompatible with QMP. Remove.
* zap qterm interfacesGerd Hoffmann2010-05-192-738/+0
| | | | old way to handle monitor, obsolete.
* zap CoreInterface->(un)register_change_notifiers()Gerd Hoffmann2010-05-192-8/+0
| | | | | spice_server_add_interface() and spice_server_remove_interface() can be used instead.
* zap CoreInterface->next()Gerd Hoffmann2010-05-192-9/+0
| | | | | | | Interfaces must be registered after spice_server_init(). The "next" callback is used to discover interfaces registered before spice_server_init(). Which is a empty list and thus pretty pointless. Remove it.
* channel security cleanupGerd Hoffmann2010-05-192-33/+24
| | | | | | | | - drop spice_channel_name_t enum, use spice-protocol defines instead. - switch spice_server_set_channel_security() channel parameter from enum to string. - drop spice_server_set_default_channel_security(), use spice_server_set_channel_security with channel == NULL instead.
* zap spice_parse_args + spice_usage_strGerd Hoffmann2010-05-192-336/+0
| | | | First step to throw out the old interface.
* Minor whitespace cleanupvdesktopAlexander Larsson2010-05-191-2/+2
|
* Make it --enable-tunnel workAlexander Larsson2010-05-191-5/+5
|
* server: fix invalid self loop in surfaces dependencies.Yonit Halperin2010-05-031-5/+22
| | | | | Cyclic dependencies between surfaces mustn't occur. They can cause invalid rendering - recent drawables might be rendered before older ones.
* spice server: fix typo in private key error messageDan Kenigsberg2010-05-031-1/+1
|
* Remove all mentions of "cairo" from the codeAlexander Larsson2010-05-035-13/+13
| | | | | The command line option is renamed from "cairo" to "sw", and similarly all filenames and types from Cairo to Sw (and similar).
* Don't send alpha bytes for primary surfaceAlexander Larsson2010-04-301-2/+8
| | | | | The framebuffer is not used as a source for alpha blends, so we never need to scan it for alpha bytes.
* iovec: add sanity checkGerd Hoffmann2010-04-291-2/+8
| | | | | | | | Adds sanity check to iovec setup. In theory this should never ever trigger. In practice guest driver bugs can make it trigger. This patch avoids qemu burning cpu in a endless loop, instead we'll print a message and abort. Not sure whenever there is a more graceful way to handle the situation ...
* fix worker->stop surface cleanupGerd Hoffmann2010-04-291-1/+1
|
* Add support for SPICE_IMAGE_FLAGS_HIGH_BITS_SETAlexander Larsson2010-04-281-10/+38
|
* If we have alpha in a 32bit rgb surface, ensure we send thatAlexander Larsson2010-04-231-0/+30
| | | | | If we don't then alpha is lost which is problematic if the surface is later used as with alpha_blend and SRC_SURFACE_HAS_ALPHA.
* Server: Use the right image format when updating from a surfaceAlexander Larsson2010-04-231-22/+31
|