From 5e02df109d7251bb8bb5df6e24165d321daa4c57 Mon Sep 17 00:00:00 2001 From: "syeon.hwang" Date: Sat, 17 Mar 2012 00:10:29 +0900 Subject: [PATCH] [Title] lazy init maru specialized feature (skin, sdb,...) [Type] [Module] Emulator/ [Priority] [CQ#] [Redmine#] [Problem] [Cause] [Solution] [TestCase] --- tizen/src/emulator.c | 58 ++++++++++++++++++++++------------------------------ vl.c | 4 ++++ 2 files changed, 29 insertions(+), 33 deletions(-) diff --git a/tizen/src/emulator.c b/tizen/src/emulator.c index 776cf4d..da37e0f 100644 --- a/tizen/src/emulator.c +++ b/tizen/src/emulator.c @@ -204,35 +204,43 @@ void extract_info(int qemu_argc, char** qemu_argv) } } +static int skin_argc = 0; +static char** skin_argv = NULL; + +void prepare_maru() +{ + INFO("Prepare maru specified feature\n"); + + sdb_setup(tizen_base_port); + + INFO("call construct_main_window\n"); + + construct_main_window(skin_argc, skin_argv); + + //TODO get port number by args from emulator manager + int guest_server_port = tizen_base_port + SDB_UDP_SENSOR_INDEX; + start_guest_server( guest_server_port ); + + mloop_ev_init(); +} + int qemu_main(int argc, char** argv, char** envp); int main(int argc, char* argv[]) { - int skin_argc = 0; - char** skin_argv = NULL; - int qemu_argc = 0; char** qemu_argv = NULL; - INFO("Emulator start !!!\n"); - // redir_output after debug_ch is initialized... - redir_output(); - -#ifdef _WIN32 - WSADATA wsadata; - if(WSAStartup(MAKEWORD(2,0), &wsadata) == SOCKET_ERROR) { - ERR("Error creating socket.\n"); - return NULL; - } -#endif - parse_options(argc, argv, &skin_argc, &skin_argv, &qemu_argc, &qemu_argv); extract_info(qemu_argc, qemu_argv); + set_log_path(logfile); + INFO("Emulator start !!!\n"); + + INFO("Prepare running...\n"); + redir_output(); // Redirect stdout, stderr after debug_ch is initialized... int i; - char *option = NULL; - fprintf(stdout, "qemu args : ==========================================\n"); for(i = 0; i < qemu_argc; ++i) { @@ -249,27 +257,11 @@ int main(int argc, char* argv[]) fprintf(stdout, "\n"); fprintf(stdout, "======================================================\n"); - sdb_setup(); - - INFO("call construct_main_window\n"); - - construct_main_window(skin_argc, skin_argv); - - //TODO get port number by args from emulator manager - int guest_server_port = tizen_base_port + SDB_UDP_SENSOR_INDEX; - start_guest_server( guest_server_port ); - - mloop_ev_init(); - INFO("qemu main start!\n"); qemu_main(qemu_argc, qemu_argv, NULL); exit_emulator(); -#ifdef _WIN32 - WSACleanup(); -#endif - return 0; } diff --git a/vl.c b/vl.c index 61698ce..5b436d2 100644 --- a/vl.c +++ b/vl.c @@ -3578,6 +3578,10 @@ int main(int argc, char **argv, char **envp) vm_start(); } +#ifdef CONFIG_MARU + prepare_maru(); +#endif + os_setup_post(); resume_all_vcpus(); -- 2.7.4