aboutsummaryrefslogtreecommitdiffstats
path: root/vl-android.c
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@android.com>2011-05-11 16:01:57 +0200
committerDavid 'Digit' Turner <digit@android.com>2011-06-01 17:08:19 +0200
commitae3098a3bce898cf958a6c3334f3d62282b12d2a (patch)
treec723c520b533214a9113c0a2a2543c59ba57ae0b /vl-android.c
parent23ca2ae2bf303236eb6b1e0beb126ec05c6c23bf (diff)
downloadexternal_qemu-ae3098a3bce898cf958a6c3334f3d62282b12d2a.zip
external_qemu-ae3098a3bce898cf958a6c3334f3d62282b12d2a.tar.gz
external_qemu-ae3098a3bce898cf958a6c3334f3d62282b12d2a.tar.bz2
vl-android.c: move arch-specific functions to arch_init.c
Change-Id: I4908006f3492aab199466c501dedff2bd835d647
Diffstat (limited to 'vl-android.c')
-rw-r--r--vl-android.c205
1 files changed, 5 insertions, 200 deletions
diff --git a/vl-android.c b/vl-android.c
index c85aff5..0271f9c 100644
--- a/vl-android.c
+++ b/vl-android.c
@@ -163,8 +163,10 @@
#endif
#include "cpus.h"
+#include "arch_init.h"
#ifdef CONFIG_COCOA
+int qemu_main(int argc, char **argv, char **envp);
#undef main
#define main qemu_main
#endif /* CONFIG_COCOA */
@@ -174,7 +176,6 @@
#include "hw/usb.h"
#include "hw/pcmcia.h"
#include "hw/pc.h"
-#include "hw/audiodev.h"
#include "hw/isa.h"
#include "hw/baum.h"
#include "hw/bt.h"
@@ -222,8 +223,6 @@ extern void android_emulator_set_base_port(int port);
#include "disas.h"
-#include "exec-all.h"
-
#ifdef CONFIG_TRACE
#include "trace.h"
#endif
@@ -273,15 +272,6 @@ int std_vga_enabled = 0;
int vmsvga_enabled = 0;
int xenfb_enabled = 0;
QEMUClock *rtc_clock;
-#ifdef TARGET_SPARC
-int graphic_width = 1024;
-int graphic_height = 768;
-int graphic_depth = 8;
-#else
-int graphic_width = 800;
-int graphic_height = 600;
-int graphic_depth = 15;
-#endif
static int full_screen = 0;
#ifdef CONFIG_SDL
static int no_frame = 0;
@@ -1882,6 +1872,8 @@ static int ram_save_live(QEMUFile *f, int stage, void *opaque)
cpu_physical_sync_dirty_bitmap(0, TARGET_PHYS_ADDR_MAX);
if (stage == 1) {
+ bytes_transferred = 0;
+
/* Make sure all dirty bits are set */
for (addr = 0; addr < last_ram_offset; addr += TARGET_PAGE_SIZE) {
if (!cpu_physical_memory_get_dirty(addr, MIGRATION_DIRTY_FLAG))
@@ -1915,9 +1907,7 @@ static int ram_save_live(QEMUFile *f, int stage, void *opaque)
bwidth = 0.000001;
/* try transferring iterative blocks of memory */
-
if (stage == 3) {
-
/* flush all remaining blocks regardless of rate limiting */
while (ram_save_block(f) != 0) {
bytes_transferred += TARGET_PAGE_SIZE;
@@ -2005,11 +1995,6 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)
return 0;
}
-void qemu_service_io(void)
-{
- qemu_notify_event();
-}
-
/***********************************************************/
/* machine registration */
@@ -2431,152 +2416,6 @@ static const QEMUOption qemu_options[] = {
{ NULL, 0, 0 },
};
-#ifdef HAS_AUDIO
-struct soundhw soundhw[] = {
-#ifdef HAS_AUDIO_CHOICE
-#if defined(TARGET_I386) || defined(TARGET_MIPS)
- {
- "pcspk",
- "PC speaker",
- 0,
- 1,
- { .init_isa = pcspk_audio_init }
- },
-#endif
-
-#ifdef CONFIG_SB16
- {
- "sb16",
- "Creative Sound Blaster 16",
- 0,
- 1,
- { .init_isa = SB16_init }
- },
-#endif
-
-#ifdef CONFIG_CS4231A
- {
- "cs4231a",
- "CS4231A",
- 0,
- 1,
- { .init_isa = cs4231a_init }
- },
-#endif
-
-#ifdef CONFIG_ADLIB
- {
- "adlib",
-#ifdef HAS_YMF262
- "Yamaha YMF262 (OPL3)",
-#else
- "Yamaha YM3812 (OPL2)",
-#endif
- 0,
- 1,
- { .init_isa = Adlib_init }
- },
-#endif
-
-#ifdef CONFIG_GUS
- {
- "gus",
- "Gravis Ultrasound GF1",
- 0,
- 1,
- { .init_isa = GUS_init }
- },
-#endif
-
-#ifdef CONFIG_AC97
- {
- "ac97",
- "Intel 82801AA AC97 Audio",
- 0,
- 0,
- { .init_pci = ac97_init }
- },
-#endif
-
-#ifdef CONFIG_ES1370
- {
- "es1370",
- "ENSONIQ AudioPCI ES1370",
- 0,
- 0,
- { .init_pci = es1370_init }
- },
-#endif
-
-#endif /* HAS_AUDIO_CHOICE */
-
- { NULL, NULL, 0, 0, { NULL } }
-};
-
-static void select_soundhw (const char *optarg)
-{
- struct soundhw *c;
-
- if (*optarg == '?') {
- show_valid_cards:
-
- printf ("Valid sound card names (comma separated):\n");
- for (c = soundhw; c->name; ++c) {
- printf ("%-11s %s\n", c->name, c->descr);
- }
- printf ("\n-soundhw all will enable all of the above\n");
- if (*optarg != '?') {
- PANIC("Unknown sound card name: %s", optarg);
- } else {
- QEMU_EXIT(0);
- }
- }
- else {
- size_t l;
- const char *p;
- char *e;
- int bad_card = 0;
-
- if (!strcmp (optarg, "all")) {
- for (c = soundhw; c->name; ++c) {
- c->enabled = 1;
- }
- return;
- }
-
- p = optarg;
- while (*p) {
- e = strchr (p, ',');
- l = !e ? strlen (p) : (size_t) (e - p);
-
- for (c = soundhw; c->name; ++c) {
- if (!strncmp (c->name, p, l)) {
- c->enabled = 1;
- break;
- }
- }
-
- if (!c->name) {
-#ifndef CONFIG_ANDROID
- if (l > 80) {
- fprintf (stderr,
- "Unknown sound card name (too big to show)\n");
- } else {
- fprintf (stderr, "Unknown sound card name `%.*s'\n",
- (int) l, p);
- }
-#endif // !CONFIG_ANDROID
- bad_card = 1;
- }
- p += l + (e != NULL);
- }
-
- if (bad_card)
- goto show_valid_cards;
- }
-}
-#endif
-
static void select_vgahw (const char *p)
{
const char *opts;
@@ -2612,27 +2451,6 @@ static void select_vgahw (const char *p)
}
}
-int qemu_uuid_parse(const char *str, uint8_t *uuid)
-{
- int ret;
-
- if(strlen(str) != 36)
- return -1;
-
- ret = sscanf(str, UUID_FMT, &uuid[0], &uuid[1], &uuid[2], &uuid[3],
- &uuid[4], &uuid[5], &uuid[6], &uuid[7], &uuid[8], &uuid[9],
- &uuid[10], &uuid[11], &uuid[12], &uuid[13], &uuid[14], &uuid[15]);
-
- if(ret != 16)
- return -1;
-
-#ifdef TARGET_I386
- smbios_add_field(1, offsetof(struct smbios_type_1, uuid), 16, uuid);
-#endif
-
- return 0;
-}
-
#define MAX_NET_CLIENTS 32
#ifdef _WIN32
@@ -3429,9 +3247,6 @@ int main(int argc, char **argv, char **envp)
singlestep = 1;
break;
case QEMU_OPTION_S:
-#if 0 /* ANDROID */
- PANIC("Sorry, stopped launch is not supported in the Android emulator" );
-#endif
autostart = 0;
break;
#ifndef _WIN32
@@ -3569,17 +3384,7 @@ int main(int argc, char **argv, char **envp)
break;
#endif
case QEMU_OPTION_smbios:
- if(smbios_entry_add(optarg) < 0) {
- PANIC("Wrong smbios provided");
- }
- break;
-#endif
-#ifdef CONFIG_KQEMU
- case QEMU_OPTION_no_kqemu:
- kqemu_allowed = 0;
- break;
- case QEMU_OPTION_kernel_kqemu:
- kqemu_allowed = 2;
+ do_smbios_option(optarg);
break;
#endif
#ifdef CONFIG_KVM