aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.android4
-rw-r--r--android/cmdline-options.h1
-rw-r--r--android/console.c5
-rw-r--r--android/help.c13
-rw-r--r--android/main-ui.c40
-rw-r--r--android/main.c7
-rw-r--r--console.c10
-rw-r--r--qemu-options.hx6
-rw-r--r--vl-android.c15
9 files changed, 52 insertions, 49 deletions
diff --git a/Makefile.android b/Makefile.android
index 8bd9b65..b502344 100644
--- a/Makefile.android
+++ b/Makefile.android
@@ -702,6 +702,7 @@ CORE_MISC_SOURCES = vl-android.c \
android/core-init-utils.c \
android/config.c \
android/snapshot.c \
+ android/utils/timezone.c \
ifeq ($(HOST_ARCH),x86)
CORE_MISC_SOURCES += i386-dis.c
@@ -757,6 +758,7 @@ UI_SOURCES = loadpng.c \
android/qemulator.c \
android/keycode.c \
android/help.c \
+ android/avd/info.c \
##############################################################################
# lists of source files used by both, emulator UI and emulator core
@@ -783,10 +785,8 @@ UI_AND_CORE_SOURCES = \
android/utils/stralloc.c \
android/utils/system.c \
android/utils/tempfile.c \
- android/utils/timezone.c \
android/utils/vector.c \
android/avd/hw-config.c \
- android/avd/info.c \
android/utils/ini.c \
# include the Zlib sources
diff --git a/android/cmdline-options.h b/android/cmdline-options.h
index 104de7e..273d151 100644
--- a/android/cmdline-options.h
+++ b/android/cmdline-options.h
@@ -68,7 +68,6 @@ CFG_PARAM( datadir, "<dir>", "write user data into <dir>" )
CFG_PARAM( kernel, "<file>", "use specific emulated kernel" )
CFG_PARAM( ramdisk, "<file>", "ramdisk image (default <system>/ramdisk.img" )
CFG_PARAM( image, "<file>", "obsolete, use -system <file> instead" )
-CFG_PARAM( init_data, "<file>", "initial data image (default <system>/userdata.img" )
CFG_PARAM( initdata, "<file>", "same as '-init-data <file>'" )
CFG_PARAM( data, "<file>", "data image (default <datadir>/userdata-qemu.img" )
CFG_PARAM( partition_size, "<size>", "system/data partition size in MBs" )
diff --git a/android/console.c b/android/console.c
index a89d0e1..a44d831 100644
--- a/android/console.c
+++ b/android/console.c
@@ -121,6 +121,9 @@ ControlClient attached_ui_client = NULL;
ControlClient framebuffer_client = NULL;
#endif // CONFIG_STANDALONE_CORE
+/* -android-avdname option value. Defined in vl-android.c */
+extern char* android_op_avd_name;
+
static int
control_global_add_redir( ControlGlobal global,
int host_port,
@@ -2170,7 +2173,7 @@ do_avd_status( ControlClient client, char* args )
static int
do_avd_name( ControlClient client, char* args )
{
- control_write( client, "%s\r\n", avdInfo_getName(android_avdInfo) );
+ control_write( client, "%s\r\n", android_op_avd_name);
return 0;
}
diff --git a/android/help.c b/android/help.c
index c49f3ff..f400bca 100644
--- a/android/help.c
+++ b/android/help.c
@@ -557,19 +557,6 @@ help_image(stralloc_t* out)
}
static void
-help_init_data(stralloc_t* out)
-{
- PRINTF(
- " use '-init-data <file>' to specify an *init* /data partition file.\n"
- " it is only used when creating a new writable /data image file, or\n"
- " when you use '-wipe-data' to reset it. the default is 'userdata.img'\n"
- " from the system directory.\n\n"
-
- " see '-help-disk-images' for more information about disk image files\n\n"
- );
-}
-
-static void
help_data(stralloc_t* out)
{
PRINTF(
diff --git a/android/main-ui.c b/android/main-ui.c
index 8cf3de7..927debb 100644
--- a/android/main-ui.c
+++ b/android/main-ui.c
@@ -48,7 +48,6 @@
#include "android/utils/bufprint.h"
#include "android/utils/dirscanner.h"
#include "android/utils/path.h"
-#include "android/utils/timezone.h"
#include "android/cmdline-option.h"
#include "android/help.h"
@@ -1047,11 +1046,6 @@ int main(int argc, char **argv)
exit(0);
}
-
- if (android_charmap_setup(opts->charmap)) {
- exit(1);
- }
-
if (opts->version) {
printf("Android emulator version %s\n"
"Copyright (C) 2006-2008 The Android Open Source Project and many others.\n"
@@ -1072,10 +1066,14 @@ int main(int argc, char **argv)
exit(0);
}
- if (opts->timezone) {
- if ( timezone_set(opts->timezone) < 0 ) {
- fprintf(stderr, "emulator: it seems the timezone '%s' is not in zoneinfo format\n", opts->timezone);
- }
+ /* Initialization of UI started with -attach-core should work differently
+ * than initialization of UI that starts the core. In particular....
+ */
+
+ /* opts->charmap is incompatible with -attach-core, because particular
+ * charmap gets set up in the running core. */
+ if (android_charmap_setup(opts->charmap)) {
+ exit(1);
}
/* legacy support: we used to use -system <dir> and -image <file>
@@ -1110,23 +1108,12 @@ int main(int argc, char **argv)
opts->system = NULL;
}
- if (opts->nojni)
- opts->no_jni = opts->nojni;
-
if (opts->nocache)
opts->no_cache = opts->nocache;
- if (opts->noaudio)
- opts->no_audio = opts->noaudio;
-
if (opts->noskin)
opts->no_skin = opts->noskin;
- if (opts->initdata) {
- opts->init_data = opts->initdata;
- opts->initdata = NULL;
- }
-
/* If no AVD name was given, try to find the top of the
* Android build tree
*/
@@ -1409,6 +1396,12 @@ int main(int argc, char **argv)
if (opts->no_cache)
opts->cache = 0;
+ if (opts->nojni)
+ opts->no_jni = opts->nojni;
+
+ if (opts->noaudio)
+ opts->no_audio = opts->noaudio;
+
n = 1;
/* generate arguments for the underlying qemu main() */
{
@@ -1454,6 +1447,11 @@ int main(int argc, char **argv)
}
#endif
+ if (opts->timezone) {
+ args[n++] = "-timezone";
+ args[n++] = opts->timezone;
+ }
+
if (opts->netspeed) {
args[n++] = "-netspeed";
args[n++] = opts->netspeed;
diff --git a/android/main.c b/android/main.c
index 1244c13..840c764 100644
--- a/android/main.c
+++ b/android/main.c
@@ -201,7 +201,7 @@ sdl_set_window_icon( void )
SDL_FreeSurface(icon);
free( icon_pixels );
}
-#endif /* !_WIN32 */
+#endif /* !_WIN32 */
}
}
@@ -895,11 +895,6 @@ int main(int argc, char **argv)
if (opts->noskin)
opts->no_skin = opts->noskin;
- if (opts->initdata) {
- opts->init_data = opts->initdata;
- opts->initdata = NULL;
- }
-
/* If no AVD name was given, try to find the top of the
* Android build tree
*/
diff --git a/console.c b/console.c
index 6125894..6cadb73 100644
--- a/console.c
+++ b/console.c
@@ -312,10 +312,10 @@ static void vga_bitblt(DisplayState *ds, int xs, int ys, int xd, int yd, int w,
#define cbswap_32(__x) \
((uint32_t)( \
- (((uint32_t)(__x) & (uint32_t)0x000000ffUL) << 24) | \
- (((uint32_t)(__x) & (uint32_t)0x0000ff00UL) << 8) | \
- (((uint32_t)(__x) & (uint32_t)0x00ff0000UL) >> 8) | \
- (((uint32_t)(__x) & (uint32_t)0xff000000UL) >> 24) ))
+ (((uint32_t)(__x) & (uint32_t)0x000000ffUL) << 24) | \
+ (((uint32_t)(__x) & (uint32_t)0x0000ff00UL) << 8) | \
+ (((uint32_t)(__x) & (uint32_t)0x00ff0000UL) >> 8) | \
+ (((uint32_t)(__x) & (uint32_t)0xff000000UL) >> 24) ))
#ifdef HOST_WORDS_BIGENDIAN
#define PAT(x) x
@@ -1395,7 +1395,7 @@ DisplayState *graphic_console_init(vga_hw_update_ptr update,
DisplayState *ds;
ds = (DisplayState *) qemu_mallocz(sizeof(DisplayState));
- ds->allocator = &default_allocator;
+ ds->allocator = &default_allocator;
#ifdef CONFIG_ANDROID
ds->surface = qemu_create_displaysurface(ds, android_display_width, android_display_height);
#else
diff --git a/qemu-options.hx b/qemu-options.hx
index db3dfbb..baae81b 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1644,6 +1644,12 @@ DEF("android-memcheck", HAS_ARG, QEMU_OPTION_android_memcheck, \
DEF("dns-server", HAS_ARG, QEMU_OPTION_dns_server, \
"-dns-server <servers> use this DNS server(s) in the emulated system\n")
+DEF("timezone", HAS_ARG, QEMU_OPTION_timezone, \
+ "-timezone <timezone> use this timezone instead of the host's default\n")
+
+DEF("android-avdname", HAS_ARG, QEMU_OPTION_android_avdname, \
+ "-android-avdname <avdname> names the virtual device\n")
+
DEF("radio", HAS_ARG, QEMU_OPTION_radio, \
"-radio <device> redirect radio modem interface to character device\n")
diff --git a/vl-android.c b/vl-android.c
index 444461b..75b1bce 100644
--- a/vl-android.c
+++ b/vl-android.c
@@ -57,6 +57,7 @@
#include "android/globals.h"
#include "android/utils/bufprint.h"
#include "android/display-core.h"
+#include "android/utils/timezone.h"
#include "targphys.h"
#include "tcpdump.h"
@@ -387,6 +388,9 @@ char* android_op_ui_port = NULL;
*/
char* android_op_ui_settings = NULL;
+/* -android-avdname option value. */
+char* android_op_avd_name = "unknown";
+
extern int android_display_width;
extern int android_display_height;
extern int android_display_bpp;
@@ -4572,6 +4576,17 @@ int main(int argc, char **argv, char **envp)
android_audio_test_start_out();
break;
+ case QEMU_OPTION_android_avdname:
+ android_op_avd_name = (char*)optarg;
+ break;
+
+ case QEMU_OPTION_timezone:
+ if (timezone_set((char*)optarg)) {
+ fprintf(stderr, "emulator: it seems the timezone '%s' is not in zoneinfo format\n",
+ (char*)optarg);
+ }
+ break;
+
#ifdef CONFIG_MEMCHECK
case QEMU_OPTION_android_memcheck:
android_op_memcheck = (char*)optarg;