diff options
author | 2017-04-25 03:31:15 -0700 | |
---|---|---|
committer | 2017-05-22 06:48:08 +0000 | |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/include/ui/spice-display.h | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/include/ui/spice-display.h')
-rw-r--r-- | qemu/include/ui/spice-display.h | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/qemu/include/ui/spice-display.h b/qemu/include/ui/spice-display.h deleted file mode 100644 index 30ccfe3da..000000000 --- a/qemu/include/ui/spice-display.h +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Copyright (C) 2010 Red Hat, Inc. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 or - * (at your option) version 3 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <http://www.gnu.org/licenses/>. - */ - -#include <spice/ipc_ring.h> -#include <spice/enums.h> -#include <spice/qxl_dev.h> - -#include "qemu/thread.h" -#include "ui/qemu-pixman.h" -#include "ui/console.h" -#include "sysemu/sysemu.h" - -#if defined(CONFIG_OPENGL_DMABUF) -# if SPICE_SERVER_VERSION >= 0x000d01 /* release 0.13.1 */ -# define HAVE_SPICE_GL 1 -# include "ui/egl-helpers.h" -# include "ui/egl-context.h" -# endif -#endif - -#define NUM_MEMSLOTS 8 -#define MEMSLOT_GENERATION_BITS 8 -#define MEMSLOT_SLOT_BITS 8 - -#define MEMSLOT_GROUP_HOST 0 -#define MEMSLOT_GROUP_GUEST 1 -#define NUM_MEMSLOTS_GROUPS 2 - -/* - * Internal enum to differenciate between options for - * io calls that have a sync (old) version and an _async (new) - * version: - * QXL_SYNC: use the old version - * QXL_ASYNC: use the new version and make sure there are no two - * happening at the same time. This is used for guest initiated - * calls - */ -typedef enum qxl_async_io { - QXL_SYNC, - QXL_ASYNC, -} qxl_async_io; - -enum { - QXL_COOKIE_TYPE_IO, - QXL_COOKIE_TYPE_RENDER_UPDATE_AREA, - QXL_COOKIE_TYPE_POST_LOAD_MONITORS_CONFIG, - QXL_COOKIE_TYPE_GL_DRAW_DONE, -}; - -typedef struct QXLCookie { - int type; - uint64_t io; - union { - uint32_t surface_id; - QXLRect area; - struct { - QXLRect area; - int redraw; - } render; - } u; -} QXLCookie; - -QXLCookie *qxl_cookie_new(int type, uint64_t io); - -typedef struct SimpleSpiceDisplay SimpleSpiceDisplay; -typedef struct SimpleSpiceUpdate SimpleSpiceUpdate; -typedef struct SimpleSpiceCursor SimpleSpiceCursor; - -struct SimpleSpiceDisplay { - DisplaySurface *ds; - DisplayChangeListener dcl; - void *buf; - int bufsize; - QXLWorker *worker; - QXLInstance qxl; - uint32_t unique; - pixman_image_t *surface; - pixman_image_t *mirror; - int32_t num_surfaces; - - QXLRect dirty; - int notify; - - /* - * All struct members below this comment can be accessed from - * both spice server and qemu (iothread) context and any access - * to them must be protected by the lock. - */ - QemuMutex lock; - QTAILQ_HEAD(, SimpleSpiceUpdate) updates; - - /* cursor (without qxl): displaychangelistener -> spice server */ - SimpleSpiceCursor *ptr_define; - SimpleSpiceCursor *ptr_move; - int16_t ptr_x, ptr_y; - int16_t hot_x, hot_y; - - /* cursor (with qxl): qxl local renderer -> displaychangelistener */ - QEMUCursor *cursor; - int mouse_x, mouse_y; - QEMUBH *cursor_bh; - -#ifdef HAVE_SPICE_GL - /* opengl rendering */ - QEMUBH *gl_unblock_bh; - QEMUTimer *gl_unblock_timer; - int dmabuf_fd; -#endif -}; - -struct SimpleSpiceUpdate { - QXLDrawable drawable; - QXLImage image; - QXLCommandExt ext; - uint8_t *bitmap; - QTAILQ_ENTRY(SimpleSpiceUpdate) next; -}; - -struct SimpleSpiceCursor { - QXLCursorCmd cmd; - QXLCommandExt ext; - QXLCursor cursor; -}; - -int qemu_spice_rect_is_empty(const QXLRect* r); -void qemu_spice_rect_union(QXLRect *dest, const QXLRect *r); - -void qemu_spice_destroy_update(SimpleSpiceDisplay *sdpy, SimpleSpiceUpdate *update); -void qemu_spice_create_host_memslot(SimpleSpiceDisplay *ssd); -void qemu_spice_create_host_primary(SimpleSpiceDisplay *ssd); -void qemu_spice_destroy_host_primary(SimpleSpiceDisplay *ssd); -void qemu_spice_vm_change_state_handler(void *opaque, int running, - RunState state); -void qemu_spice_display_init_common(SimpleSpiceDisplay *ssd); - -void qemu_spice_display_update(SimpleSpiceDisplay *ssd, - int x, int y, int w, int h); -void qemu_spice_display_switch(SimpleSpiceDisplay *ssd, - DisplaySurface *surface); -void qemu_spice_display_refresh(SimpleSpiceDisplay *ssd); -void qemu_spice_cursor_refresh_bh(void *opaque); - -void qemu_spice_add_memslot(SimpleSpiceDisplay *ssd, QXLDevMemSlot *memslot, - qxl_async_io async); -void qemu_spice_del_memslot(SimpleSpiceDisplay *ssd, uint32_t gid, - uint32_t sid); -void qemu_spice_create_primary_surface(SimpleSpiceDisplay *ssd, uint32_t id, - QXLDevSurfaceCreate *surface, - qxl_async_io async); -void qemu_spice_destroy_primary_surface(SimpleSpiceDisplay *ssd, - uint32_t id, qxl_async_io async); -void qemu_spice_wakeup(SimpleSpiceDisplay *ssd); -void qemu_spice_display_start(void); -void qemu_spice_display_stop(void); -int qemu_spice_display_is_running(SimpleSpiceDisplay *ssd); |