aboutsummaryrefslogtreecommitdiffstats
path: root/android
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@android.com>2011-03-01 14:50:07 +0100
committerDavid 'Digit' Turner <digit@android.com>2011-03-01 16:07:28 +0100
commit062dd6a8b90c7c553a6a7257e9c245276b1dd969 (patch)
treef6be79b958ef06be1811c642da4a656e7dc63697 /android
parentfd59c330bec77e7b9241e478efb1e1c508480d1d (diff)
downloadexternal_qemu-062dd6a8b90c7c553a6a7257e9c245276b1dd969.zip
external_qemu-062dd6a8b90c7c553a6a7257e9c245276b1dd969.tar.gz
external_qemu-062dd6a8b90c7c553a6a7257e9c245276b1dd969.tar.bz2
Move some serial ports initialization to the core.
This moves the initialization of the ports used by qemud and the "kmsg" component to the core. + Gets rid of the -old-system option used to suppot pre-1.4 Android system. We don't officially support anything before 1.5 anyway. Change-Id: Ied7e284d952adfd3419d96c39a7c48761f1b3f5c
Diffstat (limited to 'android')
-rw-r--r--android/cmdline-options.h1
-rw-r--r--android/help.c14
-rw-r--r--android/main.c67
-rw-r--r--android/utils/stralloc.c36
-rw-r--r--android/utils/stralloc.h5
5 files changed, 51 insertions, 72 deletions
diff --git a/android/cmdline-options.h b/android/cmdline-options.h
index b9105af..b7d7bfa 100644
--- a/android/cmdline-options.h
+++ b/android/cmdline-options.h
@@ -131,7 +131,6 @@ OPT_PARAM( report_console, "<socket>", "report console port to remote socket" )
OPT_PARAM( gps, "<device>", "redirect NMEA GPS to character device" )
OPT_PARAM( keyset, "<name>", "specify keyset file name" )
OPT_PARAM( shell_serial, "<device>", "specific character device for root shell" )
-OPT_FLAG ( old_system, "support old (pre 1.4) system images" )
OPT_PARAM( tcpdump, "<file>", "capture network packets to file" )
OPT_PARAM( bootchart, "<timeout>", "enable bootcharting")
diff --git a/android/help.c b/android/help.c
index e3a6643..cd5a3a6 100644
--- a/android/help.c
+++ b/android/help.c
@@ -1333,20 +1333,6 @@ help_keyset(stralloc_t* out)
);
}
-static void
-help_old_system(stralloc_t* out)
-{
- PRINTF(
- " use '-old-system' if you want to use a recent emulator binary to run\n"
- " an old version of the Android SDK system images. Here, 'old' means anything\n"
- " older than version 1.4 of the emulator.\n\n"
-
- " NOTE: using '-old-system' with recent system images is likely to not work\n"
- " properly, though you may not notice it immediately (e.g. failure to\n"
- " start the emulated GPS hardware)\n\n"
- );
-}
-
#ifdef CONFIG_NAND_LIMITS
static void
help_nand_limits(stralloc_t* out)
diff --git a/android/main.c b/android/main.c
index 808ca4d..64314b0 100644
--- a/android/main.c
+++ b/android/main.c
@@ -162,9 +162,6 @@ int main(int argc, char **argv)
int n;
char* opt;
int serial = 0;
- int gps_serial = 0;
- int radio_serial = 0;
- int qemud_serial = 0;
int shell_serial = 0;
AndroidHwConfig* hw;
@@ -821,14 +818,8 @@ int main(int argc, char **argv)
}
/* we always send the kernel messages from ttyS0 to android_kmsg */
- {
- if (opts->show_kernel) {
- args[n++] = "-show-kernel";
- }
-
- args[n++] = "-serial";
- args[n++] = "android-kmsg";
- serial++;
+ if (opts->show_kernel) {
+ args[n++] = "-show-kernel";
}
/* XXXX: TODO: implement -shell and -logcat through qemud instead */
@@ -848,39 +839,14 @@ int main(int argc, char **argv)
shell_serial = serial++;
}
- if (opts->old_system)
- {
- if (opts->radio) {
- args[n++] = "-serial";
- args[n++] = opts->radio;
- radio_serial = serial++;
- }
- else {
- args[n++] = "-serial";
- args[n++] = "android-modem";
- radio_serial = serial++;
- }
- if (opts->gps) {
- args[n++] = "-serial";
- args[n++] = opts->gps;
- gps_serial = serial++;
- }
+ if (opts->radio) {
+ args[n++] = "-radio";
+ args[n++] = opts->radio;
}
- else /* !opts->old_system */
- {
- args[n++] = "-serial";
- args[n++] = "android-qemud";
- qemud_serial = serial++;
- if (opts->radio) {
- args[n++] = "-radio";
- args[n++] = opts->radio;
- }
-
- if (opts->gps) {
- args[n++] = "-gps";
- args[n++] = opts->gps;
- }
+ if (opts->gps) {
+ args[n++] = "-gps";
+ args[n++] = opts->gps;
}
if (opts->memory) {
@@ -970,7 +936,9 @@ int main(int argc, char **argv)
static char params[1024];
char *p = params, *end = p + sizeof(params);
- p = bufprint(p, end, "qemu=1 console=ttyS0" );
+ /* Don't worry about having a leading space here, this is handled
+ * by the core later. */
+
#ifdef TARGET_I386
p = bufprint(p, end, " androidboot.hardware=goldfish");
p = bufprint(p, end, " clocksource=pit");
@@ -1008,19 +976,6 @@ int main(int argc, char **argv)
p = q;
}
- if (opts->old_system)
- {
- p = bufprint(p, end, " android.ril=ttyS%d", radio_serial);
-
- if (opts->gps) {
- p = bufprint(p, end, " android.gps=ttyS%d", gps_serial);
- }
- }
- else
- {
- p = bufprint(p, end, " android.qemud=ttyS%d", qemud_serial);
- }
-
if (opts->bootchart) {
p = bufprint(p, end, " androidboot.bootchart=%s", opts->bootchart);
}
diff --git a/android/utils/stralloc.c b/android/utils/stralloc.c
index 2a924e4..ce5d800 100644
--- a/android/utils/stralloc.c
+++ b/android/utils/stralloc.c
@@ -19,7 +19,7 @@
#include <limits.h>
extern void
-stralloc_tabular( stralloc_t* out,
+stralloc_tabular( stralloc_t* out,
const char** strings, int count,
const char* prefix, int width )
{
@@ -138,6 +138,40 @@ stralloc_cstr( stralloc_t* s )
return s->s;
}
+void
+stralloc_lstrip( stralloc_t* s )
+{
+ int count;
+
+ for (count = 0; count < s->n; count++) {
+ if (s->s[count] != ' ' && s->s[count] != '\t')
+ break;
+ }
+
+ if (count > 0) {
+ memmove(s->s, s->s + count, s->n - count);
+ s->n -= count;
+ }
+}
+
+void
+stralloc_rstrip( stralloc_t* s )
+{
+ int count = s->n;
+
+ while (count > 0 && (s->s[count-1] == ' ' || s->s[count-1] == '\t'))
+ count--;
+
+ s->n = count;
+}
+
+void
+stralloc_strip( stralloc_t* s )
+{
+ stralloc_rstrip(s);
+ stralloc_lstrip(s);
+}
+
extern char*
stralloc_to_tempstr( stralloc_t* s )
{
diff --git a/android/utils/stralloc.h b/android/utils/stralloc.h
index 4d17060..626a638 100644
--- a/android/utils/stralloc.h
+++ b/android/utils/stralloc.h
@@ -52,6 +52,11 @@ extern void stralloc_add_quote_bytes( stralloc_t* s, const void* from, unsig
extern void stralloc_add_hex( stralloc_t* s, unsigned value, int num_digits );
extern void stralloc_add_hexdump( stralloc_t* s, void* base, int size, const char* prefix );
+/* Remove leading, trailing or leading+trailing whitespace */
+extern void stralloc_lstrip( stralloc_t* s );
+extern void stralloc_rstrip( stralloc_t* s );
+extern void stralloc_strip( stralloc_t* s );
+
extern void stralloc_tabular( stralloc_t* s, const char** strings, int count,
const char* prefix, int width );