*/
#include "emul_state.h"
-#include "emulator_options.h"
-#include "skin/maruskin_server.h"
-#include "util/new_debug_ch.h"
+
+#include "emulator_common.h"
#if defined(CONFIG_LINUX)
#include <X11/XKBlib.h>
extern bool hax_allowed;
#endif
+#include "block/block_int.h"
+#include "sysemu/block-backend.h"
+
+#include "emulator_options.h"
+#include "skin/maruskin_server.h"
+#include "util/new_debug_ch.h"
+
DECLARE_DEBUG_CHANNEL(emul_state);
static EmulatorConfigInfo _emul_info = {0,};
return _emul_state.qemu_num_lock;
}
-/* emualtor vm name */
+/* drive image file */
+const char* get_drive_image_file(void)
+{
+ char *drive_image_file = get_variable("drive_image_file");
+
+ if (!drive_image_file) {
+ return drive_image_file;
+ }
+
+ // we should parse from "drive" parameter.
+ // so qemu_main() had to be called before.
+ BlockBackend *bb = blk_by_name("drive");
+ if (bb) {
+ BlockDriverState *bs = blk_bs(bb);
+ set_variable("drivce_image_file", bs->filename, true);
+
+ return bs->filename;
+ }
+
+ // called before device initialized
+ // or very weired situation
+ LOG_SEVERE("Can not identify main drive image file !!!\n");
+
+ return "";
+}
+
+/* vm name */
void set_emul_vm_name(char *vm_name)
{
_emul_info.vm_name = vm_name;
return _emul_info.vm_name;
}
-/* emualtor http proxy */
+/* http proxy */
void set_emul_http_proxy_addr(char *addr)
{
strncpy(_emul_info.http_proxy_addr, addr, sizeof(_emul_info.http_proxy_addr));