From 062dd6a8b90c7c553a6a7257e9c245276b1dd969 Mon Sep 17 00:00:00 2001 From: David 'Digit' Turner Date: Tue, 1 Mar 2011 14:50:07 +0100 Subject: 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 --- android/cmdline-options.h | 1 - android/help.c | 14 ---------- android/main.c | 67 ++++++++--------------------------------------- android/utils/stralloc.c | 36 ++++++++++++++++++++++++- android/utils/stralloc.h | 5 ++++ 5 files changed, 51 insertions(+), 72 deletions(-) (limited to 'android') 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, "", "report console port to remote socket" ) OPT_PARAM( gps, "", "redirect NMEA GPS to character device" ) OPT_PARAM( keyset, "", "specify keyset file name" ) OPT_PARAM( shell_serial, "", "specific character device for root shell" ) -OPT_FLAG ( old_system, "support old (pre 1.4) system images" ) OPT_PARAM( tcpdump, "", "capture network packets to file" ) OPT_PARAM( bootchart, "", "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 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 ); -- cgit v1.1