From b2357e5473070aefbd76a987b9d46c0bbdfdabb4 Mon Sep 17 00:00:00 2001 From: Sooyoung Ha Date: Tue, 15 Jul 2014 19:57:26 +0900 Subject: [PATCH] emulator: clean up vmodem source and .gitignore use new_debug_ch and add device initialization check before send queue on maru_virtio_vmodem.c modify .gitignore file for check-hax and check-cam Change-Id: I5d546e7c2d23975f37922c3d206817955fcba38e Signed-off-by: Sooyoung Ha --- .gitignore | 5 ++- tizen/src/hw/virtio/maru_virtio_vmodem.c | 45 ++++++++++-------------- 2 files changed, 21 insertions(+), 29 deletions(-) diff --git a/.gitignore b/.gitignore index ed8ad2e564..a39c2e0c8a 100644 --- a/.gitignore +++ b/.gitignore @@ -126,10 +126,9 @@ tizen/src/skin/client/emulator-skin.jar tizen/src/skin/client/lib tizen/src/skin/client/native_src/*.so tizen/src/skin/client/native_src/*.dynlib -tizen/src/check-cam fsdev/virtfs-proxy-helper .cproject .project -tizen/src/check-hax -tizen/src/check-cam +tizen/src/util/check-hax +tizen/src/util/check-cam diff --git a/tizen/src/hw/virtio/maru_virtio_vmodem.c b/tizen/src/hw/virtio/maru_virtio_vmodem.c index 93974fd568..6206cd4151 100644 --- a/tizen/src/hw/virtio/maru_virtio_vmodem.c +++ b/tizen/src/hw/virtio/maru_virtio_vmodem.c @@ -31,23 +31,19 @@ #include "hw/maru_device_ids.h" #include "maru_virtio_vmodem.h" #include "maru_virtio_evdi.h" -#include "debug_ch.h" +#include "util/new_debug_ch.h" #include "ecs/ecs.h" -MULTI_DEBUG_CHANNEL(qemu, virtio-vmodem); +DECLARE_DEBUG_CHANNEL(virtio-vmodem); #define VMODEM_DEVICE_NAME "virtio-vmodem" -enum { - IOTYPE_INPUT = 0, - IOTYPE_OUTPUT = 1 -}; - #ifndef min #define min(a,b) ((a)<(b)?(a):(b)) #endif VirtIOVModem *vio_vmodem; +static bool boolVmodemInitialized = false; typedef struct MsgInfo { @@ -58,26 +54,22 @@ typedef struct MsgInfo static QTAILQ_HEAD(MsgInfoRecvHead , MsgInfo) vmodem_recv_msg_queue = QTAILQ_HEAD_INITIALIZER(vmodem_recv_msg_queue); -typedef struct EvdiBuf { - VirtQueueElement elem; - - QTAILQ_ENTRY(EvdiBuf) next; -} EvdiBuf; - -static QTAILQ_HEAD(EvdiMsgHead , EvdiBuf) vmodem_in_queue = - QTAILQ_HEAD_INITIALIZER(vmodem_in_queue); - bool send_to_vmodem(const uint32_t route, char *data, const uint32_t len) { int size; int left = len; int count = 0; char *readptr = data; + if (!boolVmodemInitialized) { + LOG_TRACE("vmodem device is not initialized!\n"); + LOG_TRACE("try execute send to evdi besides vmodem.\n"); + return send_to_evdi(route, data, len); + } while (left > 0) { MsgInfo *_msg = (MsgInfo*) malloc(sizeof(MsgInfo)); if (!_msg) { - ERR("malloc failed\n"); + LOG_SEVERE("malloc failed on %s\n", __func__); return false; } @@ -109,12 +101,12 @@ static void flush_vmodem_recv_queue(void) int index; if (unlikely(!virtio_queue_ready(vio_vmodem->rvq))) { - ERR("virtio queue is not ready\n"); + LOG_SEVERE("recv virtio queue is not ready\n"); return; } if (unlikely(virtio_queue_empty(vio_vmodem->rvq))) { - ERR("virtqueue is empty\n"); + LOG_SEVERE("recv virtqueue is empty\n"); return; } @@ -158,7 +150,7 @@ static void virtio_vmodem_send(VirtIODevice *vdev, VirtQueue *vq) struct msg_info _msg; if (virtio_queue_empty(vvmodem->svq)) { - ERR("virtqueue is empty.\n"); + LOG_SEVERE("send virtqueue is empty.\n"); return; } @@ -168,7 +160,7 @@ static void virtio_vmodem_send(VirtIODevice *vdev, VirtQueue *vq) memset(&_msg, 0x00, sizeof(_msg)); memcpy(&_msg, elem.out_sg[0].iov_base, elem.out_sg[0].iov_len); - TRACE("vmodem send to ecp.\n"); + LOG_TRACE("vmodem send to ecp.\n"); send_injector_ntf(_msg.buf, _msg.use); } @@ -179,7 +171,7 @@ static void virtio_vmodem_send(VirtIODevice *vdev, VirtQueue *vq) static uint32_t virtio_vmodem_get_features(VirtIODevice *vdev, uint32_t request_feature) { - TRACE("virtio_vmodem_get_features.\n"); + LOG_TRACE("virtio_vmodem_get_features.\n"); return 0; } @@ -195,7 +187,7 @@ static void virtio_vmodem_realize(DeviceState *dev, Error **errp) vio_vmodem = VIRTIO_VMODEM(vdev); if (vio_vmodem == NULL) { - ERR("failed to initialize vmodem device\n"); + LOG_SEVERE("failed to initialize vmodem device\n"); return; } @@ -208,14 +200,15 @@ static void virtio_vmodem_realize(DeviceState *dev, Error **errp) vio_vmodem->bh = qemu_bh_new(maru_vmodem_bh, vio_vmodem); - INFO("finish the vmodem device initialization.\n"); + LOG_INFO("finish the vmodem device initialization.\n"); + boolVmodemInitialized = true; } static void virtio_vmodem_unrealize(DeviceState *dev, Error **errp) { VirtIODevice *vdev = VIRTIO_DEVICE(dev); - INFO("destroy vmodem device\n"); + LOG_INFO("destroy vmodem device\n"); if (vio_vmodem->bh) { qemu_bh_delete(vio_vmodem->bh); @@ -227,7 +220,7 @@ static void virtio_vmodem_unrealize(DeviceState *dev, Error **errp) static void virtio_vmodem_reset(VirtIODevice *vdev) { - INFO("virtio_vmodem_reset.\n"); + LOG_INFO("virtio_vmodem_reset.\n"); } -- 2.34.1