gchar * tmp_str;
set_base_port();
-
- make_vm_lock_os();
-
- maru_device_hotplug_init();
-
- start_ecs();
-
- start_sdb_noti_server(get_emul_vm_base_port() + SDB_UDP_SENSOR_INDEX);
-
- sdb_setup();
-
tmp_str = g_strdup_printf(" sdb_port=%d,"
" vm_resolution=%dx%d", get_emul_vm_base_port(),
get_emul_resolution_width(), get_emul_resolution_height());
-
set_emul_host_ip(kernel_cmdline);
-
http_proxy_setup(kernel_cmdline);
-
g_strlcat(kernel_cmdline, tmp_str, LEN_MARU_KERNEL_CMDLINE);
-
g_free(tmp_str);
}
LOG_INFO("Prepare maru specified feature\n");
g_strlcpy(maru_kernel_cmdline, kernel_cmdline, LEN_MARU_KERNEL_CMDLINE);
-
/* Prepare basic features */
LOG_INFO("Prepare_basic_features\n");
prepare_basic_features(maru_kernel_cmdline);
-
/* Prepare GL acceleration */
#ifdef CONFIG_YAGL
LOG_INFO("Prepare_opengl_acceleration\n");
return maru_kernel_cmdline;
}
+void prepare_maru_after_device_init(void)
+{
+ make_vm_lock_os();
+ maru_device_hotplug_init();
+ start_ecs();
+ start_sdb_noti_server(get_emul_vm_base_port() + SDB_UDP_SENSOR_INDEX);
+ sdb_setup();
+}
+
#if defined(CONFIG_SDL) || defined(CONFIG_USE_SHM)
void start_skin(void)
{
#include "sysemu/sysemu.h"
const char *prepare_maru(const gchar * const kernel_cmdline);
+void prepare_maru_after_device_init(void);
void start_skin(void);
void emulator_add_exit_notifier(Notifier *notify);
if (qemu_opts_foreach(qemu_find_opts("device"), device_init_func, NULL, 1) != 0)
exit(1);
+#if defined(CONFIG_MARU)
+ prepare_maru_after_device_init();
+#endif
#ifdef CONFIG_VIGS
// To support legacy VIGS options
if (enable_vigs) {