From f998ca30b51b5c549898763d4bd5041380a60416 Mon Sep 17 00:00:00 2001 From: SeokYeon Hwang Date: Mon, 20 Jun 2016 18:44:25 +0900 Subject: [PATCH] package: make it buildable Follow-up header modification. (commit 90ce6e2644db2c47d72f364b4de57342e50bd10a) Follow-up virtio API modification. (commit 51b19ebe4320f3dcd93cea71235c1219318ddfd2) Change-Id: Ia7b5c2a25b6ad597ba0f506fc616a67984eae6e9 Signed-off-by: SeokYeon Hwang --- hw/9pfs/Makefile.objs | 21 -------------- hw/i386/pc.c | 1 - hw/vigs/display.c | 1 + hw/vigs/display.h | 1 + hw/vigs/vigs_device.c | 1 + hw/vigs/vigs_log.c | 1 + hw/vigs/vigs_types.h | 1 + hw/vigs/winsys.h | 1 + hw/vigs/work_queue.h | 2 ++ hw/yagl/yagl_types.h | 1 + include/sysemu/hax.h | 2 +- net/net.c | 2 +- tizen/src/ecs/ecs-json-streamer.c | 3 +- tizen/src/ecs/ecs.c | 25 ++++++++++++++--- tizen/src/ecs/ecs_eventcast.c | 1 + tizen/src/ecs/ecs_hds.c | 1 + tizen/src/ecs/ecs_mon.c | 6 ++-- tizen/src/ecs/ecs_msg.c | 1 + tizen/src/ecs/ecs_msg_device.c | 1 + tizen/src/ecs/ecs_msg_injector.c | 1 + tizen/src/ecs/ecs_nfc.c | 1 + tizen/src/ecs/ecs_sdcard.h | 1 + tizen/src/ecs/ecs_sensor.c | 1 + tizen/src/emul_state.c | 1 + tizen/src/emulator.c | 1 + tizen/src/eventcast/common.c | 3 +- tizen/src/hw/maru_board.c | 11 +------- tizen/src/hw/maru_pm.h | 1 + tizen/src/hw/pci/maru_brightness.c | 1 + tizen/src/hw/pci/maru_brillcodec.h | 1 + tizen/src/hw/pci/maru_brillcodec_device.c | 2 ++ tizen/src/hw/pci/maru_camera.c | 2 ++ tizen/src/hw/pci/maru_camera_convert.c | 1 + tizen/src/hw/pci/maru_camera_linux.c | 2 ++ tizen/src/hw/pci/maru_camera_qtimage.cpp | 1 + tizen/src/hw/pci/maru_camera_virtual.c | 2 ++ tizen/src/hw/virtio/maru_virtio_esm.c | 21 +++++++------- tizen/src/hw/virtio/maru_virtio_evdi.c | 40 +++++++++++---------------- tizen/src/hw/virtio/maru_virtio_hwkey.c | 14 +++++----- tizen/src/hw/virtio/maru_virtio_hwkey.h | 1 + tizen/src/hw/virtio/maru_virtio_jack.c | 12 ++++---- tizen/src/hw/virtio/maru_virtio_keyboard.c | 10 ++++--- tizen/src/hw/virtio/maru_virtio_nfc.c | 37 ++++++++----------------- tizen/src/hw/virtio/maru_virtio_pci.c | 1 + tizen/src/hw/virtio/maru_virtio_power.c | 12 ++++---- tizen/src/hw/virtio/maru_virtio_rotary.c | 13 ++++----- tizen/src/hw/virtio/maru_virtio_sensor.c | 13 ++++----- tizen/src/hw/virtio/maru_virtio_tablet.c | 12 ++++---- tizen/src/hw/virtio/maru_virtio_touchscreen.c | 11 ++++---- tizen/src/hw/virtio/maru_virtio_vmodem.c | 24 ++++++++-------- tizen/src/ui/qt5.c | 1 + tizen/src/ui/qt5.h | 1 + tizen/src/util/device_hotplug.c | 3 +- tizen/src/util/error_handler.c | 1 + tizen/src/util/extra_pkgs_install.c | 1 + tizen/src/util/hds.c | 2 ++ tizen/src/util/hds.h | 1 + tizen/src/util/net_helper.c | 1 + tizen/src/util/new_debug_ch.c | 1 + tizen/src/util/new_debug_ch.h | 4 ++- tizen/src/util/osutil.c | 1 + tizen/src/util/osutil.h | 1 + tizen/src/util/tap_helper.c | 1 + tizen/src/util/ui_operations.c | 1 + util/qemu-sockets.c | 8 ------ 65 files changed, 180 insertions(+), 175 deletions(-) diff --git a/hw/9pfs/Makefile.objs b/hw/9pfs/Makefile.objs index ac3e591..da0ae0c 100644 --- a/hw/9pfs/Makefile.objs +++ b/hw/9pfs/Makefile.objs @@ -1,23 +1,3 @@ -<<<<<<< HEAD -ifeq ($(CONFIG_MARU),y) -common-obj-y = virtio-9p-maru.o -common-obj-y += virtio-9p-local-maru.o -endif - -ifneq ($(CONFIG_MARU),y) -common-obj-y = virtio-9p.o -common-obj-y += virtio-9p-local.o -endif - -common-obj-y += virtio-9p-coth.o cofs.o codir.o cofile.o -ifneq ($(CONFIG_WIN32),y) -common-obj-y += virtio-9p-xattr-user.o virtio-9p-posix-acl.o -common-obj-y += virtio-9p-xattr.o coxattr.o -endif -common-obj-$(CONFIG_LINUX) += virtio-9p-synth.o -common-obj-$(CONFIG_LINUX) += virtio-9p-proxy.o -common-obj-$(CONFIG_OPEN_BY_HANDLE) += virtio-9p-handle.o -======= common-obj-y = 9p.o common-obj-y += 9p-local.o 9p-xattr.o common-obj-y += 9p-xattr-user.o 9p-posix-acl.o @@ -25,6 +5,5 @@ common-obj-y += coth.o cofs.o codir.o cofile.o common-obj-y += coxattr.o 9p-synth.o common-obj-$(CONFIG_OPEN_BY_HANDLE) += 9p-handle.o common-obj-y += 9p-proxy.o ->>>>>>> v2.6.0 obj-y += virtio-9p-device.o diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 06f89bd..5c11dc7 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -845,7 +845,6 @@ static void load_linux(PCMachineState *pcms, error_report("qemu: could not load kernel '%s': %s\n", kernel_filename, strerror(errno)); - g_free(path); exit(1); } diff --git a/hw/vigs/display.c b/hw/vigs/display.c index 65dae3e..bf12b9b 100644 --- a/hw/vigs/display.c +++ b/hw/vigs/display.c @@ -1,6 +1,7 @@ #include "display.h" #include "vigs_qt5.h" #include "qom/object_interfaces.h" +#include "qapi/error.h" #if defined(CONFIG_LINUX) #include diff --git a/hw/vigs/display.h b/hw/vigs/display.h index 710e988..c6b5acf 100644 --- a/hw/vigs/display.h +++ b/hw/vigs/display.h @@ -1,6 +1,7 @@ #ifndef _QEMU_DISPLAY_H #define _QEMU_DISPLAY_H +#include "qemu/osdep.h" #include "qemu-common.h" #define TYPE_DISPLAYOBJECT "display" diff --git a/hw/vigs/vigs_device.c b/hw/vigs/vigs_device.c index e266190..b71a57b 100644 --- a/hw/vigs/vigs_device.c +++ b/hw/vigs/vigs_device.c @@ -42,6 +42,7 @@ #include "ui/console.h" #include "qemu/main-loop.h" #include "qemu/error-report.h" +#include "qapi/error.h" #define PCI_VENDOR_ID_VIGS 0x19B2 #define PCI_DEVICE_ID_VIGS 0x1011 diff --git a/hw/vigs/vigs_log.c b/hw/vigs/vigs_log.c index 8fa6218..8951317 100644 --- a/hw/vigs/vigs_log.c +++ b/hw/vigs/vigs_log.c @@ -28,6 +28,7 @@ */ #include "vigs_log.h" +#include "qemu/osdep.h" #include "qemu-common.h" #include diff --git a/hw/vigs/vigs_types.h b/hw/vigs/vigs_types.h index 594daae..9f9f8ab 100644 --- a/hw/vigs/vigs_types.h +++ b/hw/vigs/vigs_types.h @@ -30,6 +30,7 @@ #ifndef _QEMU_VIGS_TYPES_H #define _QEMU_VIGS_TYPES_H +#include "qemu/osdep.h" #include "qemu-common.h" #include "vigs_protocol.h" diff --git a/hw/vigs/winsys.h b/hw/vigs/winsys.h index 7f365bc..71fedb0 100644 --- a/hw/vigs/winsys.h +++ b/hw/vigs/winsys.h @@ -1,6 +1,7 @@ #ifndef _QEMU_WINSYS_H #define _QEMU_WINSYS_H +#include "qemu/osdep.h" #include "qemu-common.h" typedef uint32_t winsys_id; diff --git a/hw/vigs/work_queue.h b/hw/vigs/work_queue.h index f0babe4..0a7592b 100644 --- a/hw/vigs/work_queue.h +++ b/hw/vigs/work_queue.h @@ -1,9 +1,11 @@ #ifndef _QEMU_WORK_QUEUE_H #define _QEMU_WORK_QUEUE_H +#include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/queue.h" #include "qemu/thread.h" +#include "qapi/error.h" struct work_queue_item; diff --git a/hw/yagl/yagl_types.h b/hw/yagl/yagl_types.h index d5f47be..0ff6400 100644 --- a/hw/yagl/yagl_types.h +++ b/hw/yagl/yagl_types.h @@ -30,6 +30,7 @@ #ifndef _QEMU_YAGL_TYPES_H #define _QEMU_YAGL_TYPES_H +#include "qemu/osdep.h" #include "qemu-common.h" typedef uint32_t yagl_pid; diff --git a/include/sysemu/hax.h b/include/sysemu/hax.h index edece10..58fb039 100644 --- a/include/sysemu/hax.h +++ b/include/sysemu/hax.h @@ -20,7 +20,7 @@ #ifndef _HAX_H #define _HAX_H -#include "config-host.h" +#include "qemu/osdep.h" #include "qemu-common.h" extern bool hax_allowed; diff --git a/net/net.c b/net/net.c index 5703d24..71f9367 100644 --- a/net/net.c +++ b/net/net.c @@ -1400,7 +1400,7 @@ LinkInfo *qmp_get_link(const char *name, Error **errp) info = g_malloc0(sizeof (struct LinkInfo)); queues = qemu_find_net_clients_except(name, ncs, - NET_CLIENT_OPTIONS_KIND_MAX, + NET_CLIENT_OPTIONS_KIND__MAX, MAX_QUEUE_NUM); if (queues == 0) { diff --git a/tizen/src/ecs/ecs-json-streamer.c b/tizen/src/ecs/ecs-json-streamer.c index cd4842a..27dcbe8 100644 --- a/tizen/src/ecs/ecs-json-streamer.c +++ b/tizen/src/ecs/ecs-json-streamer.c @@ -11,8 +11,9 @@ * */ -#include "qapi/qmp/json-lexer.h" +#include "qemu/osdep.h" #include "qemu-common.h" +#include "qapi/qmp/json-lexer.h" #include "ecs-json-streamer.h" #define MAX_TOKEN_SIZE (64ULL << 20) diff --git a/tizen/src/ecs/ecs.c b/tizen/src/ecs/ecs.c index f83ea96..4284583 100644 --- a/tizen/src/ecs/ecs.c +++ b/tizen/src/ecs/ecs.c @@ -32,6 +32,7 @@ #include #include +#include "qemu/osdep.h" #include "hw/qdev.h" #include "net/net.h" #include "ui/console.h" @@ -43,7 +44,6 @@ #include "qemu/timer.h" #include "qemu/main-loop.h" #include "sysemu/char.h" -#include "config.h" #include "qapi/qmp/qint.h" #include "emulator.h" @@ -89,12 +89,29 @@ int ecs_get_suspend_state(void) int ecs_write(int fd, const uint8_t *buf, int len) { + int ret, remain; + LOG_TRACE("write buflen : %d, buf : %s\n", len, (char *)buf); if (fd < 0) { return -1; } - return send_all(fd, buf, len); + remain = len; + while (len > 0) { + ret = write(fd, buf, remain); + if (ret < 0) { + if (errno != EINTR && errno != EAGAIN) { + return -1; + } + } else if (ret == 0) { + break; + } else { + buf += ret; + remain -= ret; + } + } + + return len - remain; } void ecs_client_close(ECS_Client *clii) @@ -639,7 +656,7 @@ static void alive_checker(void *opaque) } timer_mod(current_ecs->alive_timer, - qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + get_ticks_per_sec() * TIMER_ALIVE_S); + qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + NANOSECONDS_PER_SECOND * TIMER_ALIVE_S); } @@ -751,7 +768,7 @@ static int socket_initialize(ECS_State *cs) cs->alive_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, alive_checker, cs); timer_mod(cs->alive_timer, - qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + get_ticks_per_sec() * TIMER_ALIVE_S); + qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + NANOSECONDS_PER_SECOND * TIMER_ALIVE_S); return 0; } diff --git a/tizen/src/ecs/ecs_eventcast.c b/tizen/src/ecs/ecs_eventcast.c index d17e626..0f0b7fd 100644 --- a/tizen/src/ecs/ecs_eventcast.c +++ b/tizen/src/ecs/ecs_eventcast.c @@ -27,6 +27,7 @@ * */ +#include "qemu/osdep.h" #include "ui/console.h" #include "ecs.h" diff --git a/tizen/src/ecs/ecs_hds.c b/tizen/src/ecs/ecs_hds.c index 5a145b3..c6a86b3 100644 --- a/tizen/src/ecs/ecs_hds.c +++ b/tizen/src/ecs/ecs_hds.c @@ -29,6 +29,7 @@ #include +#include "qemu/osdep.h" #include "qemu-common.h" #include "fsdev/qemu-fsdev.h" diff --git a/tizen/src/ecs/ecs_mon.c b/tizen/src/ecs/ecs_mon.c index 46e6158..9d94bae 100644 --- a/tizen/src/ecs/ecs_mon.c +++ b/tizen/src/ecs/ecs_mon.c @@ -29,12 +29,14 @@ * */ +#include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/queue.h" #include "qemu/sockets.h" #include "qemu/option.h" -#include +#include "monitor/monitor.h" +#include "qapi/error.h" #include "qmp-commands.h" #include "qapi/qmp/qjson.h" #include "qapi/qmp/json-parser.h" @@ -169,7 +171,7 @@ static QDict *build_qmp_error_dict(Error *err) { QObject *obj = qobject_from_jsonf( "{ 'error': { 'class': %s, 'desc': %s } }", - ErrorClass_lookup[error_get_class(err)], error_get_pretty(err)); + QapiErrorClass_lookup[error_get_class(err)], error_get_pretty(err)); return qobject_to_qdict(obj); } diff --git a/tizen/src/ecs/ecs_msg.c b/tizen/src/ecs/ecs_msg.c index 81c162f..7b750c9 100644 --- a/tizen/src/ecs/ecs_msg.c +++ b/tizen/src/ecs/ecs_msg.c @@ -31,6 +31,7 @@ #include #include +#include "qemu/osdep.h" #include "hw/qdev.h" #include "net/net.h" #include "net/slirp.h" diff --git a/tizen/src/ecs/ecs_msg_device.c b/tizen/src/ecs/ecs_msg_device.c index 3a68274..d6287b0 100644 --- a/tizen/src/ecs/ecs_msg_device.c +++ b/tizen/src/ecs/ecs_msg_device.c @@ -28,6 +28,7 @@ * */ +#include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/option.h" #include "qemu/config-file.h" diff --git a/tizen/src/ecs/ecs_msg_injector.c b/tizen/src/ecs/ecs_msg_injector.c index cc552af..2f76da3 100644 --- a/tizen/src/ecs/ecs_msg_injector.c +++ b/tizen/src/ecs/ecs_msg_injector.c @@ -31,6 +31,7 @@ #include #include +#include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/error-report.h" diff --git a/tizen/src/ecs/ecs_nfc.c b/tizen/src/ecs/ecs_nfc.c index 5ae6afb..f88cc14 100644 --- a/tizen/src/ecs/ecs_nfc.c +++ b/tizen/src/ecs/ecs_nfc.c @@ -27,6 +27,7 @@ * */ +#include "qemu/osdep.h" #include "qemu-common.h" #include "hw/virtio/maru_virtio_nfc.h" diff --git a/tizen/src/ecs/ecs_sdcard.h b/tizen/src/ecs/ecs_sdcard.h index 385c186..d00a6bc 100644 --- a/tizen/src/ecs/ecs_sdcard.h +++ b/tizen/src/ecs/ecs_sdcard.h @@ -32,6 +32,7 @@ #ifndef __SDCARD_H__ #define __SDCARD_H__ +#include "qemu/osdep.h" #include "qemu-common.h" #include "monitor/qdev.h" #include "fsdev/qemu-fsdev.h" diff --git a/tizen/src/ecs/ecs_sensor.c b/tizen/src/ecs/ecs_sensor.c index f3094ec..5991d8c 100644 --- a/tizen/src/ecs/ecs_sensor.c +++ b/tizen/src/ecs/ecs_sensor.c @@ -29,6 +29,7 @@ * */ +#include "qemu/osdep.h" #include "qemu-common.h" #include diff --git a/tizen/src/emul_state.c b/tizen/src/emul_state.c index 94852d5..6d83085 100644 --- a/tizen/src/emul_state.c +++ b/tizen/src/emul_state.c @@ -45,6 +45,7 @@ extern bool hax_allowed; extern bool hax_allowed; #endif +#include "qemu/osdep.h" #include "ui/console.h" #include "sysemu/sysemu.h" #include "block/block_int.h" diff --git a/tizen/src/emulator.c b/tizen/src/emulator.c index da032f2..b1d6bab 100644 --- a/tizen/src/emulator.c +++ b/tizen/src/emulator.c @@ -32,6 +32,7 @@ #include #include +#include "qemu/osdep.h" #include "qemu/config-file.h" #include "qemu/sockets.h" #include "qemu/error-report.h" diff --git a/tizen/src/eventcast/common.c b/tizen/src/eventcast/common.c index 8fde29e..5cbca5b 100644 --- a/tizen/src/eventcast/common.c +++ b/tizen/src/eventcast/common.c @@ -35,6 +35,7 @@ #define EALREADY WSAEALREADY #endif +#include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/main-loop.h" #include "qemu/sockets.h" @@ -589,7 +590,7 @@ static int start_eventcast_socket(const char *ipaddress, int port) LOG_INFO("eventcast socket is connected.\n"); break; } else { - int connection_errno = socket_error(); + int connection_errno = errno; if (connection_errno == EINPROGRESS) { fd_set writefds; diff --git a/tizen/src/hw/maru_board.c b/tizen/src/hw/maru_board.c index 1066912..760dd4b 100644 --- a/tizen/src/hw/maru_board.c +++ b/tizen/src/hw/maru_board.c @@ -5,16 +5,6 @@ * * Contact: * SeokYeon Hwang - * SangJin Kim - * KiTae Kim - * JinHyung Jo - * SungMin Ha - * MunKyu Im - * JiHye Kim - * GiWoong Kim - * DongKyun Yun - * DoHyung Hong - * Hyunjun Son * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -37,6 +27,7 @@ * add some TIZEN-speciaized device... */ +#include "qemu/osdep.h" #include "hw/boards.h" #include "hw/i386/pc.h" diff --git a/tizen/src/hw/maru_pm.h b/tizen/src/hw/maru_pm.h index 795194a..a152f36 100644 --- a/tizen/src/hw/maru_pm.h +++ b/tizen/src/hw/maru_pm.h @@ -30,6 +30,7 @@ #ifndef MARU_PM_H_ #define MARU_PM_H_ +#include "qemu/osdep.h" #include "qemu-common.h" #include "hw/acpi/acpi.h" diff --git a/tizen/src/hw/pci/maru_brightness.c b/tizen/src/hw/pci/maru_brightness.c index 39c761e..225fa77 100644 --- a/tizen/src/hw/pci/maru_brightness.c +++ b/tizen/src/hw/pci/maru_brightness.c @@ -31,6 +31,7 @@ */ +#include "qemu/osdep.h" #include "hw/i386/pc.h" #include "ui/console.h" #include "hw/pci/pci.h" diff --git a/tizen/src/hw/pci/maru_brillcodec.h b/tizen/src/hw/pci/maru_brillcodec.h index 0196249..b816369 100644 --- a/tizen/src/hw/pci/maru_brillcodec.h +++ b/tizen/src/hw/pci/maru_brillcodec.h @@ -31,6 +31,7 @@ #ifndef __MARU_BRILLCODEC_H__ #define __MARU_BRILLCODEC_H__ +#include "qemu/osdep.h" #include "hw/pci/pci.h" #include "libavcodec/avcodec.h" diff --git a/tizen/src/hw/pci/maru_brillcodec_device.c b/tizen/src/hw/pci/maru_brillcodec_device.c index 0d2a49f..fb4d3de 100644 --- a/tizen/src/hw/pci/maru_brillcodec_device.c +++ b/tizen/src/hw/pci/maru_brillcodec_device.c @@ -31,7 +31,9 @@ #define SUPPORT_MEMORY_MONOPOLIZING //#define ENCODE_VIDEO_USE_MEMORY_MONOPOLIZING +#include "qemu/osdep.h" #include "qemu/main-loop.h" +#include "qapi/error.h" #include "hw/pci/pci.h" #include "hw/maru_device_ids.h" diff --git a/tizen/src/hw/pci/maru_camera.c b/tizen/src/hw/pci/maru_camera.c index 72e6f4f..28f5cf1 100644 --- a/tizen/src/hw/pci/maru_camera.c +++ b/tizen/src/hw/pci/maru_camera.c @@ -35,8 +35,10 @@ #include #include +#include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/main-loop.h" +#include "qapi/error.h" #include "exec/cpu-common.h" #include "maru_camera.h" diff --git a/tizen/src/hw/pci/maru_camera_convert.c b/tizen/src/hw/pci/maru_camera_convert.c index b795d16..9b8ddb4 100644 --- a/tizen/src/hw/pci/maru_camera_convert.c +++ b/tizen/src/hw/pci/maru_camera_convert.c @@ -28,6 +28,7 @@ * */ +#include "qemu/osdep.h" #include "qemu-common.h" #include "videodev2_min.h" #include "maru_camera_convert.h" diff --git a/tizen/src/hw/pci/maru_camera_linux.c b/tizen/src/hw/pci/maru_camera_linux.c index d8677f3..46cf3b1 100644 --- a/tizen/src/hw/pci/maru_camera_linux.c +++ b/tizen/src/hw/pci/maru_camera_linux.c @@ -27,7 +27,9 @@ * */ +#include "qemu/osdep.h" #include "qemu-common.h" +#include "qemu/cutils.h" #include "sysemu/kvm.h" #include "maru_camera.h" #include "debug_ch.h" diff --git a/tizen/src/hw/pci/maru_camera_qtimage.cpp b/tizen/src/hw/pci/maru_camera_qtimage.cpp index 12ff2e6..b16dc6f 100644 --- a/tizen/src/hw/pci/maru_camera_qtimage.cpp +++ b/tizen/src/hw/pci/maru_camera_qtimage.cpp @@ -32,6 +32,7 @@ #include #include #include "maru_camera_image.h" +#include "qemu/osdep.h" #include "ui/qemu-pixman.h" // Internal classes diff --git a/tizen/src/hw/pci/maru_camera_virtual.c b/tizen/src/hw/pci/maru_camera_virtual.c index 9894eec..5754408 100644 --- a/tizen/src/hw/pci/maru_camera_virtual.c +++ b/tizen/src/hw/pci/maru_camera_virtual.c @@ -28,8 +28,10 @@ * with Qt5 QImage class */ +#include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/timer.h" +#include "qemu/cutils.h" #include "sysemu/kvm.h" #include "emul_state.h" #include "maru_camera.h" diff --git a/tizen/src/hw/virtio/maru_virtio_esm.c b/tizen/src/hw/virtio/maru_virtio_esm.c index 068e17c..6737bfd 100644 --- a/tizen/src/hw/virtio/maru_virtio_esm.c +++ b/tizen/src/hw/virtio/maru_virtio_esm.c @@ -26,6 +26,7 @@ * */ +#include "qemu/osdep.h" #include "hw/maru_device_ids.h" #include "maru_virtio_esm.h" #include "emul_state.h" @@ -42,13 +43,12 @@ struct progress_info { uint16_t percentage; }; -static VirtQueueElement elem; +static VirtQueueElement *elem; struct progress_info progress; static void virtio_esm_handle(VirtIODevice *vdev, VirtQueue *vq) { VirtIOESM *vesm = VIRTIO_MARU_ESM(vdev); - int index = 0; TRACE("virtqueue handler.\n"); if (virtio_queue_empty(vesm->vq)) { @@ -57,21 +57,20 @@ static void virtio_esm_handle(VirtIODevice *vdev, VirtQueue *vq) } // Get a queue buffer. - index = virtqueue_pop(vq, &elem); - TRACE("virtqueue pop. index: %d\n", index); + elem = virtqueue_pop(vq, sizeof(VirtQueueElement)); - TRACE("virtio element out number : %d\n", elem.out_num); - if (elem.out_num != 1) { + TRACE("virtio element out number : %d\n", elem->out_num); + if (elem->out_num != 1) { ERR("virtio element out number is wierd.\n"); } else { - TRACE("caramis elem.out_sg[0].iov_len : %x\n", elem.out_sg[0].iov_len); - TRACE("caramis elem.out_sg[0].iov_base : %x\n", elem.out_sg[0].iov_base); - if (elem.out_sg[0].iov_len != 4) { + TRACE("caramis elem.out_sg[0].iov_len : %x\n", elem->out_sg[0].iov_len); + TRACE("caramis elem.out_sg[0].iov_base : %x\n", elem->out_sg[0].iov_base); + if (elem->out_sg[0].iov_len != 4) { ERR("out lenth is wierd.\n"); } else { - progress = *((struct progress_info*)elem.out_sg[0].iov_base); + progress = *((struct progress_info*)elem->out_sg[0].iov_base); TRACE("Boot up progress is [%u] percent done at %s.\n", progress.percentage, progress.mode == 's' || progress.mode == 'S' ? "system mode" : "user mode"); @@ -95,7 +94,7 @@ static void virtio_esm_handle(VirtIODevice *vdev, VirtQueue *vq) } // There is no data to copy into guest. - virtqueue_push(vesm->vq, &elem, 0); + virtqueue_push(vesm->vq, elem, 0); virtio_notify(&vesm->vdev, vesm->vq); } diff --git a/tizen/src/hw/virtio/maru_virtio_evdi.c b/tizen/src/hw/virtio/maru_virtio_evdi.c index a76c088..7b62c95 100644 --- a/tizen/src/hw/virtio/maru_virtio_evdi.c +++ b/tizen/src/hw/virtio/maru_virtio_evdi.c @@ -28,6 +28,8 @@ #include +#include "qemu/osdep.h" +#include "qemu/iov.h" #include "hw/maru_device_ids.h" #include "maru_virtio_evdi.h" #include "debug_ch.h" @@ -117,8 +119,6 @@ bool send_to_evdi(const uint32_t route, char *data, const uint32_t len) static void flush_evdi_recv_queue(void) { - int index; - if (unlikely(!virtio_queue_ready(vio_evdi->rvq))) { INFO("virtio queue is not ready\n"); return; @@ -138,22 +138,17 @@ static void flush_evdi_recv_queue(void) break; } - VirtQueueElement elem; - index = virtqueue_pop(vio_evdi->rvq, &elem); - if (index == 0) { + VirtQueueElement *elem; + elem = virtqueue_pop(vio_evdi->rvq, sizeof(VirtQueueElement)); + if (!elem) { /* ERR("unexpected empty queue"); */ break; } - /* INFO(">> virtqueue_pop. index: %d, out_num : %d, in_num : %d\n", index, elem.out_num, elem.in_num); */ - - memset(elem.in_sg[0].iov_base, 0, elem.in_sg[0].iov_len); - memcpy(elem.in_sg[0].iov_base, &msginfo->info, sizeof(struct msg_info)); + memset(elem->in_sg[0].iov_base, 0, elem->in_sg[0].iov_len); + memcpy(elem->in_sg[0].iov_base, &msginfo->info, sizeof(struct msg_info)); - /* INFO(">> send to guest use = %d, msg = %s, iov_len = %d \n", - //msginfo->info.use, msginfo->info.buf, elem.in_sg[0].iov_len); */ - - virtqueue_push(vio_evdi->rvq, &elem, sizeof(msg_info)); + virtqueue_push(vio_evdi->rvq, elem, sizeof(msg_info)); virtio_notify(&vio_evdi->vdev, vio_evdi->rvq); QTAILQ_REMOVE(&evdi_recv_msg_queue, msginfo, next); @@ -174,31 +169,28 @@ static void virtio_evdi_recv(VirtIODevice *vdev, VirtQueue *vq) static void virtio_evdi_send(VirtIODevice *vdev, VirtQueue *vq) { VirtIOEVDI *vevdi = (VirtIOEVDI *)vdev; - int index = 0; struct msg_info _msg; + int len = 0; if (virtio_queue_empty(vevdi->svq)) { INFO("<< virtqueue is empty.\n"); return; } - VirtQueueElement elem; - - while ((index = virtqueue_pop(vq, &elem))) { - - /* INFO("<< virtqueue pop. index: %d, out_num : %d, in_num : %d\n", index, elem.out_num, elem.in_num); */ - - /* INFO("<< use=%d, iov_len = %d\n", _msg.use, elem.out_sg[0].iov_len); */ + VirtQueueElement *elem; + while ((elem = virtqueue_pop(vq, sizeof(VirtQueueElement)))) { memset(&_msg, 0x00, sizeof(_msg)); - memcpy(&_msg, elem.out_sg[0].iov_base, elem.out_sg[0].iov_len); + memcpy(&_msg, elem->out_sg[0].iov_base, elem->out_sg[0].iov_len); + + len = iov_from_buf(elem->in_sg, elem->in_num, + 0, vevdi, sizeof(VirtIOEVDI)); - /* INFO("<< recv from guest len = %d, msg = %s \n", _msg.use, _msg.buf); */ + virtqueue_push(vq, elem, len); send_injector_ntf(_msg.buf, _msg.use); } - virtqueue_push(vq, &elem, sizeof(VirtIOEVDI)); virtio_notify(&vio_evdi->vdev, vq); } diff --git a/tizen/src/hw/virtio/maru_virtio_hwkey.c b/tizen/src/hw/virtio/maru_virtio_hwkey.c index dc3128a..0a45101 100644 --- a/tizen/src/hw/virtio/maru_virtio_hwkey.c +++ b/tizen/src/hw/virtio/maru_virtio_hwkey.c @@ -30,6 +30,8 @@ #include #include "emul_state.h" #include "maru_virtio_hwkey.h" + +#include "qemu/osdep.h" #include "hw/maru_device_ids.h" #include "debug_ch.h" @@ -76,7 +78,7 @@ static unsigned int elem_ringbuf_cnt; /* _elem_buf */ static unsigned int elem_queue_cnt; /* elem_queue */ VirtIOHWKey *vhk; -VirtQueueElement elem_vhk; +VirtQueueElement *elem_vhk; /* lock for between communication thread and IO thread */ static pthread_mutex_t event_mutex = PTHREAD_MUTEX_INITIALIZER; @@ -123,8 +125,6 @@ void maru_hwkey_event(int event_type, int keycode) static void maru_virtio_hwkey_handle(VirtIODevice *vdev, VirtQueue *vq) { - int virt_sg_index = 0; - TRACE("maru_virtio_hwkey_handle\n"); if (unlikely(virtio_queue_empty(vhk->vq))) { @@ -133,9 +133,9 @@ static void maru_virtio_hwkey_handle(VirtIODevice *vdev, VirtQueue *vq) } /* Get a queue buffer which is written by guest side. */ do { - virt_sg_index = virtqueue_pop(vq, &elem_vhk); + elem_vhk = virtqueue_pop(vq, sizeof(VirtQueueElement)); TRACE("virtqueue pop.\n"); - } while (virt_sg_index < MAX_BUF_COUNT); + } while (elem_vhk); } void maru_virtio_hwkey_notify(void) @@ -163,13 +163,13 @@ void maru_virtio_hwkey_notify(void) event_queue_cnt, vqidx); /* copy event into virtio buffer */ - memcpy(elem_vhk.in_sg[vqidx++].iov_base, &(event_entry->hwkey), + memcpy(elem_vhk->in_sg[vqidx++].iov_base, &(event_entry->hwkey), sizeof(EmulHWKeyEvent)); if (vqidx == MAX_BUF_COUNT) { vqidx = 0; } - virtqueue_push(vhk->vq, &elem_vhk, sizeof(EmulHWKeyEvent)); + virtqueue_push(vhk->vq, elem_vhk, sizeof(EmulHWKeyEvent)); virtio_notify(&vhk->vdev, vhk->vq); pthread_mutex_lock(&event_mutex); diff --git a/tizen/src/hw/virtio/maru_virtio_hwkey.h b/tizen/src/hw/virtio/maru_virtio_hwkey.h index c6766a6..2ad6752 100644 --- a/tizen/src/hw/virtio/maru_virtio_hwkey.h +++ b/tizen/src/hw/virtio/maru_virtio_hwkey.h @@ -30,6 +30,7 @@ #ifndef MARU_HWKEY_H_ #define MARU_HWKEY_H_ +#include "qemu/osdep.h" #include "ui/console.h" #include "hw/virtio/virtio.h" diff --git a/tizen/src/hw/virtio/maru_virtio_jack.c b/tizen/src/hw/virtio/maru_virtio_jack.c index 299b9b5..33b32d4 100644 --- a/tizen/src/hw/virtio/maru_virtio_jack.c +++ b/tizen/src/hw/virtio/maru_virtio_jack.c @@ -29,6 +29,7 @@ #include +#include "qemu/osdep.h" #include "hw/pci/pci.h" #include "hw/maru_device_ids.h" @@ -203,8 +204,7 @@ static void virtio_jack_vq(VirtIODevice *vdev, VirtQueue *vq) { VirtIOJACK *vjack = (VirtIOJACK *)vdev; struct msg_info msg; - VirtQueueElement elem; - int index = 0; + VirtQueueElement *elem; if (vjack->vq == NULL) { ERR("virt queue is not ready.\n"); @@ -221,13 +221,11 @@ static void virtio_jack_vq(VirtIODevice *vdev, VirtQueue *vq) return; } - while ((index = virtqueue_pop(vq, &elem))) { + while ((elem = virtqueue_pop(vq, sizeof(VirtQueueElement)))) { memset(&msg, 0x00, sizeof(msg)); - memcpy(&msg, elem.out_sg[0].iov_base, elem.out_sg[0].iov_len); + memcpy(&msg, elem->out_sg[0].iov_base, elem->out_sg[0].iov_len); - TRACE("handling msg from driver: %s, len: %d, type: %d, req: %d, index: %d\n", msg.buf, strlen(msg.buf), msg.type, msg.req, index); - - handle_msg(&msg, &elem); + handle_msg(&msg, elem); } } diff --git a/tizen/src/hw/virtio/maru_virtio_keyboard.c b/tizen/src/hw/virtio/maru_virtio_keyboard.c index ab9af1b..884ea85 100644 --- a/tizen/src/hw/virtio/maru_virtio_keyboard.c +++ b/tizen/src/hw/virtio/maru_virtio_keyboard.c @@ -26,6 +26,7 @@ * */ +#include "qemu/osdep.h" #include "qemu/iov.h" #include "hw/maru_device_ids.h" #include "maru_virtio_keyboard.h" @@ -269,13 +270,14 @@ static void virtio_keyboard_send(void *opaque) qemu_mutex_lock(&vkbd->event_mutex); QTAILQ_FOREACH(entry, &events_queue, node) { - VirtQueueElement element; + VirtQueueElement *element; EmulKbdEvent *event = &entry->event; - if (virtqueue_pop(vkbd->vq, &element)) { - len = iov_from_buf(element.in_sg, element.in_num, + element = virtqueue_pop(vkbd->vq, sizeof(VirtQueueElement)); + if (element) { + len = iov_from_buf(element->in_sg, element->in_num, 0, event, sizeof(EmulKbdEvent)); - virtqueue_push(vkbd->vq, &element, len); + virtqueue_push(vkbd->vq, element, len); } else { ERR("virtqueue is not available, dropping event.\n"); break; diff --git a/tizen/src/hw/virtio/maru_virtio_nfc.c b/tizen/src/hw/virtio/maru_virtio_nfc.c index 3b1ec0a..37bb5f2 100644 --- a/tizen/src/hw/virtio/maru_virtio_nfc.c +++ b/tizen/src/hw/virtio/maru_virtio_nfc.c @@ -28,6 +28,7 @@ #include +#include "qemu/osdep.h" #include "hw/maru_device_ids.h" #include "maru_virtio_nfc.h" #include "debug_ch.h" @@ -57,11 +58,6 @@ typedef struct MsgInfo { static QTAILQ_HEAD(MsgInfoRecvHead , MsgInfo) nfc_recv_msg_queue = QTAILQ_HEAD_INITIALIZER(nfc_recv_msg_queue); -typedef struct NFCBuf { - VirtQueueElement elem; - QTAILQ_ENTRY(NFCBuf) next; -} NFCBuf; - static char nfc_data[NFC_MAX_BUF_SIZE] = {'0',}; static QemuMutex recv_buf_mutex; @@ -149,8 +145,6 @@ bool send_to_nfc(unsigned char id, unsigned char type, const char *data, static void flush_nfc_recv_queue(void) { - int index; - if (unlikely(!virtio_queue_ready(vio_nfc->rvq))) { INFO("virtio queue is not ready\n"); return; @@ -170,23 +164,23 @@ static void flush_nfc_recv_queue(void) break; } - VirtQueueElement elem; - index = virtqueue_pop(vio_nfc->rvq, &elem); - if (index == 0) { + VirtQueueElement *elem; + elem = virtqueue_pop(vio_nfc->rvq, sizeof(VirtQueueElement)); + if (!elem) { /* ERR("unexpected empty queue"); */ break; } INFO(">> virtqueue_pop. index: %d, out_num : %d, in_num : %d\n", - index, elem.out_num, elem.in_num); + index, elem->out_num, elem->in_num); - memcpy(elem.in_sg[0].iov_base, &msginfo->info, + memcpy(elem->in_sg[0].iov_base, &msginfo->info, sizeof(struct nfc_msg_info)); INFO(">> send to guest use = %d, msg = %s, iov_len = %d\n", - msginfo->info.use, msginfo->info.buf, elem.in_sg[0].iov_len); + msginfo->info.use, msginfo->info.buf, elem->in_sg[0].iov_len); - virtqueue_push(vio_nfc->rvq, &elem, sizeof(nfc_msg_info)); + virtqueue_push(vio_nfc->rvq, elem, sizeof(nfc_msg_info)); virtio_notify(&vio_nfc->vdev, vio_nfc->rvq); QTAILQ_REMOVE(&nfc_recv_msg_queue, msginfo, next); @@ -208,7 +202,6 @@ static void virtio_nfc_recv(VirtIODevice *vdev, VirtQueue *vq) static void virtio_nfc_send(VirtIODevice *vdev, VirtQueue *vq) { VirtIONFC *vnfc = (VirtIONFC *)vdev; - int index = 0; struct nfc_msg_info _msg; if (virtio_queue_empty(vnfc->svq)) { @@ -216,24 +209,18 @@ static void virtio_nfc_send(VirtIODevice *vdev, VirtQueue *vq) return; } - VirtQueueElement elem; - - while ((index = virtqueue_pop(vq, &elem))) { - - INFO("<< virtqueue pop. index: %d, out_num : %d, in_num : %d\n", - index, elem.out_num, elem.in_num); - - INFO("<< iov_len = %d\n", elem.out_sg[0].iov_len); + VirtQueueElement *elem; + while ((elem = virtqueue_pop(vq, sizeof(VirtQueueElement)))) { memset(&_msg, 0x00, sizeof(_msg)); - memcpy(&_msg, elem.out_sg[0].iov_base, elem.out_sg[0].iov_len); + memcpy(&_msg, elem->out_sg[0].iov_base, elem->out_sg[0].iov_len); INFO("<< recv from guest len = %d, msg = %s\n", _msg.use, _msg.buf); send_nfc_ntf(&_msg); } - virtqueue_push(vq, &elem, sizeof(VirtIONFC)); + virtqueue_push(vq, elem, sizeof(VirtIONFC)); virtio_notify(&vio_nfc->vdev, vq); } diff --git a/tizen/src/hw/virtio/maru_virtio_pci.c b/tizen/src/hw/virtio/maru_virtio_pci.c index 39ee975..5685b09 100644 --- a/tizen/src/hw/virtio/maru_virtio_pci.c +++ b/tizen/src/hw/virtio/maru_virtio_pci.c @@ -27,6 +27,7 @@ * refer to hw/virtio/virtio-pci.c */ +#include "qemu/osdep.h" #include "hw/virtio/virtio-pci.h" #include "hw/maru_device_ids.h" diff --git a/tizen/src/hw/virtio/maru_virtio_power.c b/tizen/src/hw/virtio/maru_virtio_power.c index fa0a0b6..26d1268 100644 --- a/tizen/src/hw/virtio/maru_virtio_power.c +++ b/tizen/src/hw/virtio/maru_virtio_power.c @@ -29,6 +29,7 @@ #include +#include "qemu/osdep.h" #include "hw/pci/pci.h" #include "hw/maru_device_ids.h" @@ -178,8 +179,7 @@ static void virtio_power_vq(VirtIODevice *vdev, VirtQueue *vq) { VirtIOPOWER *vpower = (VirtIOPOWER*)vdev; struct msg_info msg; - VirtQueueElement elem; - int index = 0; + VirtQueueElement *elem; if (vpower->vq == NULL) { ERR("virt queue is not ready.\n"); @@ -196,13 +196,11 @@ static void virtio_power_vq(VirtIODevice *vdev, VirtQueue *vq) return; } - while ((index = virtqueue_pop(vq, &elem))) { + while ((elem = virtqueue_pop(vq, sizeof(VirtQueueElement)))) { memset(&msg, 0x00, sizeof(msg)); - memcpy(&msg, elem.out_sg[0].iov_base, elem.out_sg[0].iov_len); + memcpy(&msg, elem->out_sg[0].iov_base, elem->out_sg[0].iov_len); - TRACE("handling msg from driver: %s, len: %d, type: %d, req: %d, index: %d\n", msg.buf, strlen(msg.buf), msg.type, msg.req, index); - - handle_msg(&msg, &elem); + handle_msg(&msg, elem); } } diff --git a/tizen/src/hw/virtio/maru_virtio_rotary.c b/tizen/src/hw/virtio/maru_virtio_rotary.c index 031b022..05d0b29 100644 --- a/tizen/src/hw/virtio/maru_virtio_rotary.c +++ b/tizen/src/hw/virtio/maru_virtio_rotary.c @@ -27,6 +27,7 @@ */ +#include "qemu/osdep.h" #include "hw/maru_device_ids.h" #include "maru_virtio_rotary.h" #include "util/new_debug_ch.h" @@ -122,8 +123,7 @@ static void virtio_rotary_bh(void *opaque) { VirtIORotary *vrtr = (VirtIORotary *)opaque; MrRotaryEvent *event; - VirtQueueElement elem; - int sg_num; + VirtQueueElement *elem; uint32_t push_len = 0; if (!vrtr) { @@ -143,21 +143,20 @@ static void virtio_rotary_bh(void *opaque) /* get a queue buffer which is written by guest side. */ do { - sg_num = virtqueue_pop(vrtr->vq, &elem); - LOG_TRACE("[%s] virtqueue_pop: sg_num(%d)\n", __func__, sg_num); - } while (sg_num != 0); + elem = virtqueue_pop(vrtr->vq, sizeof(VirtQueueElement)); + } while (elem); qemu_mutex_lock(&vrtr->mutex); while (rotaryqueue_check_avail(&vrtr->queue)) { event = rotaryqueue_pop_head(&vrtr->queue); /* rotary kernel driver has only one scattergather list */ - memcpy(elem.in_sg[0].iov_base + push_len, + memcpy(elem->in_sg[0].iov_base + push_len, event, sizeof(MrRotaryEvent)); push_len += sizeof(MrRotaryEvent); } /* length which is really written to the guest */ - virtqueue_push(vrtr->vq, &elem, push_len); + virtqueue_push(vrtr->vq, elem, push_len); virtio_notify(&vrtr->vdev, vrtr->vq); rotaryqueue_reset(&vrtr->queue); vrtr->avail = false; diff --git a/tizen/src/hw/virtio/maru_virtio_sensor.c b/tizen/src/hw/virtio/maru_virtio_sensor.c index 612acee..9ec29ce 100644 --- a/tizen/src/hw/virtio/maru_virtio_sensor.c +++ b/tizen/src/hw/virtio/maru_virtio_sensor.c @@ -27,6 +27,8 @@ * */ +#include "qemu/osdep.h" +#include "qapi/error.h" #include "hw/pci/pci.h" #include "hw/maru_device_ids.h" @@ -609,8 +611,7 @@ static void virtio_sensor_vq(VirtIODevice *vdev, VirtQueue *vq) { VirtIOSENSOR *vsensor = (VirtIOSENSOR *)vdev; struct msg_info msg; - VirtQueueElement elem; - int index = 0; + VirtQueueElement *elem; if (vsensor->vq == NULL) { LOG_SEVERE("virt queue is not ready.\n"); @@ -627,13 +628,11 @@ static void virtio_sensor_vq(VirtIODevice *vdev, VirtQueue *vq) return; } - while ((index = virtqueue_pop(vq, &elem))) { + while ((elem = virtqueue_pop(vq, sizeof(VirtQueueElement)))) { memset(&msg, 0x00, sizeof(msg)); - memcpy(&msg, elem.out_sg[0].iov_base, elem.out_sg[0].iov_len); + memcpy(&msg, elem->out_sg[0].iov_base, elem->out_sg[0].iov_len); - LOG_TRACE("handling msg from driver: %s, len: %d, type: %d, req: %d, index: %d\n", msg.buf, strlen(msg.buf), msg.type, msg.req, index); - - handle_msg(&msg, &elem); + handle_msg(&msg, elem); } } diff --git a/tizen/src/hw/virtio/maru_virtio_tablet.c b/tizen/src/hw/virtio/maru_virtio_tablet.c index e1a8b07..ef29607 100644 --- a/tizen/src/hw/virtio/maru_virtio_tablet.c +++ b/tizen/src/hw/virtio/maru_virtio_tablet.c @@ -28,6 +28,7 @@ * */ +#include "qemu/osdep.h" #include "emul_state.h" #include "maru_virtio_tablet.h" #include "hw/maru_device_ids.h" @@ -129,8 +130,7 @@ static void maru_tablet_bh(void *opaque) { VirtIOTablet *vt = (VirtIOTablet *)opaque; TabletEventEntry *event_entry = NULL; - VirtQueueElement elem; - int virt_sg_index = 0; + VirtQueueElement *elem; uint32_t push_len = 0; if (unlikely(!virtio_queue_ready(vt->vq))) { @@ -148,8 +148,8 @@ static void maru_tablet_bh(void *opaque) /* Get a queue buffer which is written by guest side. */ do { - virt_sg_index = virtqueue_pop(vt->vq, &elem); - } while (virt_sg_index != 0); + elem = virtqueue_pop(vt->vq, sizeof(VirtQueueElement)); + } while (elem); qemu_mutex_lock(&vt->mutex); while (!QTAILQ_EMPTY(&events_queue)) { @@ -157,7 +157,7 @@ static void maru_tablet_bh(void *opaque) event_entry = QTAILQ_FIRST(&events_queue); /* copy event into virtio buffer */ - memcpy(elem.in_sg[0].iov_base + push_len, + memcpy(elem->in_sg[0].iov_base + push_len, &(event_entry->tablet), sizeof(EmulTabletEvent)); push_len += sizeof(EmulTabletEvent); @@ -166,7 +166,7 @@ static void maru_tablet_bh(void *opaque) QTAILQ_REMOVE(&events_queue, event_entry, node); event_queue_cnt--; } - virtqueue_push(vt->vq, &elem, push_len); + virtqueue_push(vt->vq, elem, push_len); virtio_notify(&vt->vdev, vt->vq); vt->avail = false; qemu_mutex_unlock(&vt->mutex); diff --git a/tizen/src/hw/virtio/maru_virtio_touchscreen.c b/tizen/src/hw/virtio/maru_virtio_touchscreen.c index 7243405..c104271 100644 --- a/tizen/src/hw/virtio/maru_virtio_touchscreen.c +++ b/tizen/src/hw/virtio/maru_virtio_touchscreen.c @@ -26,7 +26,7 @@ * */ - +#include "qemu/osdep.h" #include "qemu/iov.h" #include "maru_virtio_touchscreen.h" #include "hw/maru_device_ids.h" @@ -137,13 +137,14 @@ static void maru_virtio_touchscreen_send(void *opaque) qemu_mutex_lock(&ts->event_mutex); QTAILQ_FOREACH(entry, &events_queue, node) { - VirtQueueElement element; + VirtQueueElement *element; EmulTouchEvent *event = &entry->event; - if (virtqueue_pop(ts->vq, &element)) { - len = iov_from_buf(element.in_sg, element.in_num, + element = virtqueue_pop(ts->vq, sizeof(VirtQueueElement)); + if (element) { + len = iov_from_buf(element->in_sg, element->in_num, 0, event, sizeof(EmulTouchEvent)); - virtqueue_push(ts->vq, &element, len); + virtqueue_push(ts->vq, element, len); } else { ERR("virtqueue is not available, dropping event.\n"); break; diff --git a/tizen/src/hw/virtio/maru_virtio_vmodem.c b/tizen/src/hw/virtio/maru_virtio_vmodem.c index 8ddfa97..c2a0eac 100644 --- a/tizen/src/hw/virtio/maru_virtio_vmodem.c +++ b/tizen/src/hw/virtio/maru_virtio_vmodem.c @@ -28,6 +28,7 @@ * */ +#include "qemu/osdep.h" #include "hw/maru_device_ids.h" #include "maru_virtio_vmodem.h" #include "maru_virtio_evdi.h" @@ -97,8 +98,6 @@ bool send_to_vmodem(const uint32_t route, char *data, const uint32_t len) static void flush_vmodem_recv_queue(void) { - int index; - if (unlikely(!virtio_queue_ready(vio_vmodem->rvq))) { LOG_SEVERE("recv virtio queue is not ready\n"); return; @@ -117,16 +116,16 @@ static void flush_vmodem_recv_queue(void) break; } - VirtQueueElement elem; - index = virtqueue_pop(vio_vmodem->rvq, &elem); - if (index == 0) { + VirtQueueElement *elem; + elem = virtqueue_pop(vio_vmodem->rvq, sizeof(VirtQueueElement)); + if (!elem) { break; } - memset(elem.in_sg[0].iov_base, 0, elem.in_sg[0].iov_len); - memcpy(elem.in_sg[0].iov_base, &msginfo->info, sizeof(struct msg_info)); + memset(elem->in_sg[0].iov_base, 0, elem->in_sg[0].iov_len); + memcpy(elem->in_sg[0].iov_base, &msginfo->info, sizeof(struct msg_info)); - virtqueue_push(vio_vmodem->rvq, &elem, sizeof(msg_info)); + virtqueue_push(vio_vmodem->rvq, elem, sizeof(msg_info)); virtio_notify(&vio_vmodem->vdev, vio_vmodem->rvq); QTAILQ_REMOVE(&vmodem_recv_msg_queue, msginfo, next); @@ -146,7 +145,6 @@ static void virtio_vmodem_recv(VirtIODevice *vdev, VirtQueue *vq) static void virtio_vmodem_send(VirtIODevice *vdev, VirtQueue *vq) { VirtIOVModem *vvmodem = (VirtIOVModem *)vdev; - int index = 0; struct msg_info _msg; if (virtio_queue_empty(vvmodem->svq)) { @@ -154,17 +152,17 @@ static void virtio_vmodem_send(VirtIODevice *vdev, VirtQueue *vq) return; } - VirtQueueElement elem; + VirtQueueElement *elem; - while ((index = virtqueue_pop(vq, &elem))) { + while ((elem = virtqueue_pop(vq, sizeof(VirtQueueElement)))) { memset(&_msg, 0x00, sizeof(_msg)); - memcpy(&_msg, elem.out_sg[0].iov_base, elem.out_sg[0].iov_len); + memcpy(&_msg, elem->out_sg[0].iov_base, elem->out_sg[0].iov_len); LOG_TRACE("vmodem send to ecp.\n"); send_injector_ntf(_msg.buf, _msg.use); } - virtqueue_push(vq, &elem, sizeof(VirtIOVModem)); + virtqueue_push(vq, elem, sizeof(VirtIOVModem)); virtio_notify(&vio_vmodem->vdev, vq); } diff --git a/tizen/src/ui/qt5.c b/tizen/src/ui/qt5.c index 928c85e..cb93452 100644 --- a/tizen/src/ui/qt5.c +++ b/tizen/src/ui/qt5.c @@ -27,6 +27,7 @@ * */ +#include "qemu/osdep.h" #include "ui/console.h" #include "qt5.h" diff --git a/tizen/src/ui/qt5.h b/tizen/src/ui/qt5.h index 83ee83a..64f2d40 100644 --- a/tizen/src/ui/qt5.h +++ b/tizen/src/ui/qt5.h @@ -31,6 +31,7 @@ #include +#include "qemu/osdep.h" #include "sysemu/sysemu.h" void maru_early_qt5_display_init(bool isOnscreen); diff --git a/tizen/src/util/device_hotplug.c b/tizen/src/util/device_hotplug.c index 55436e4..d54565e 100644 --- a/tizen/src/util/device_hotplug.c +++ b/tizen/src/util/device_hotplug.c @@ -26,6 +26,7 @@ * */ +#include "qemu/osdep.h" #include "qemu/main-loop.h" #include "qemu/config-file.h" #include "hw/qdev.h" @@ -287,7 +288,7 @@ void init_device_hotplug(void) state = g_malloc0(sizeof(struct maru_device_hotplug)); event_notifier_init(&state->notifier, 0); - event_notifier_set_handler(&state->notifier, device_hotplug_handler); + event_notifier_set_handler(&state->notifier, false, device_hotplug_handler); emulator_add_exit_notifier(&maru_device_hotplug_exit); } diff --git a/tizen/src/util/error_handler.c b/tizen/src/util/error_handler.c index 1d9edda..1f91e8d 100644 --- a/tizen/src/util/error_handler.c +++ b/tizen/src/util/error_handler.c @@ -32,6 +32,7 @@ #include #include +#include "qemu/osdep.h" #include "qemu-common.h" #ifdef CONFIG_WIN32 diff --git a/tizen/src/util/extra_pkgs_install.c b/tizen/src/util/extra_pkgs_install.c index 8c3a3df..7db369a 100644 --- a/tizen/src/util/extra_pkgs_install.c +++ b/tizen/src/util/extra_pkgs_install.c @@ -32,6 +32,7 @@ #include #include +#include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/queue.h" diff --git a/tizen/src/util/hds.c b/tizen/src/util/hds.c index ede3150..fdb741f 100644 --- a/tizen/src/util/hds.c +++ b/tizen/src/util/hds.c @@ -28,6 +28,8 @@ */ #include "hds.h" + +#include "qemu/osdep.h" #include "qmp-commands.h" #include "hw/pci/pci.h" #include "debug_ch.h" diff --git a/tizen/src/util/hds.h b/tizen/src/util/hds.h index 1424489..5980b14 100644 --- a/tizen/src/util/hds.h +++ b/tizen/src/util/hds.h @@ -37,6 +37,7 @@ #define MAX_HDS_ID_LEN 32 #define MAX_HDS_LIST_LEN 4096 +#include "qemu/osdep.h" #include "qemu-common.h" enum hds_level { diff --git a/tizen/src/util/net_helper.c b/tizen/src/util/net_helper.c index 4340803..c5f06df 100644 --- a/tizen/src/util/net_helper.c +++ b/tizen/src/util/net_helper.c @@ -30,6 +30,7 @@ #include "net_helper.h" +#include "qemu/osdep.h" #include "qemu/sockets.h" #include "net/slirp.h" #include "block/nbd.h" diff --git a/tizen/src/util/new_debug_ch.c b/tizen/src/util/new_debug_ch.c index 073a4b0..833f203 100644 --- a/tizen/src/util/new_debug_ch.c +++ b/tizen/src/util/new_debug_ch.c @@ -30,6 +30,7 @@ * */ +#include "qemu/osdep.h" #include "qemu-common.h" #include "emul_state.h" diff --git a/tizen/src/util/new_debug_ch.h b/tizen/src/util/new_debug_ch.h index b34f8ee..a8dac51 100644 --- a/tizen/src/util/new_debug_ch.h +++ b/tizen/src/util/new_debug_ch.h @@ -134,7 +134,9 @@ extern int dbg_log(enum _debug_class cls, struct _debug_channel *ch, #ifndef LOG_TRACE #define LOG_TRACE __DPRINTF(_TRACE,&_dbch_) #else -#error +//#error +#undef LOG_TRACE +#define LOG_TRACE __DPRINTF(_TRACE,&_dbch_) #endif #define IS_TRACE_ON __IS_DEBUG_ON(_TRACE,&_dbch_) diff --git a/tizen/src/util/osutil.c b/tizen/src/util/osutil.c index 371e1ac..099e178 100644 --- a/tizen/src/util/osutil.c +++ b/tizen/src/util/osutil.c @@ -31,6 +31,7 @@ @brief Common functions for osutil */ +#include "qemu/osdep.h" #include "qemu-common.h" #ifndef CONFIG_WIN32 diff --git a/tizen/src/util/osutil.h b/tizen/src/util/osutil.h index c1a15cf..8e9d2ac 100644 --- a/tizen/src/util/osutil.h +++ b/tizen/src/util/osutil.h @@ -29,6 +29,7 @@ #ifndef __OSUTIL_H__ #define __OSUTIL_H__ +#include "qemu/osdep.h" #include "emulator_common.h" #ifdef CONFIG_WIN32 diff --git a/tizen/src/util/tap_helper.c b/tizen/src/util/tap_helper.c index 6c142f6..be8564a 100644 --- a/tizen/src/util/tap_helper.c +++ b/tizen/src/util/tap_helper.c @@ -30,6 +30,7 @@ #include #include +#include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/error-report.h" diff --git a/tizen/src/util/ui_operations.c b/tizen/src/util/ui_operations.c index 2973ac7..b1b9b7b 100644 --- a/tizen/src/util/ui_operations.c +++ b/tizen/src/util/ui_operations.c @@ -29,6 +29,7 @@ #include "ui_operations.h" +#include "qemu/osdep.h" #include "sysemu/sysemu.h" #include "ui/input.h" diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c index 5bbc9ee..0d53691 100644 --- a/util/qemu-sockets.c +++ b/util/qemu-sockets.c @@ -376,14 +376,6 @@ static struct addrinfo *inet_parse_connect_saddr(InetSocketAddress *saddr, return NULL; } -#ifdef CONFIG_MARU - // for lookup loopback interface... - if (addr[0] == '\0') { - ai.ai_flags = 0; - addr = NULL; - } -#endif - /* lookup */ rc = getaddrinfo(saddr->host, saddr->port, &ai, &res); -- 2.7.4