From ae3098a3bce898cf958a6c3334f3d62282b12d2a Mon Sep 17 00:00:00 2001 From: David 'Digit' Turner Date: Wed, 11 May 2011 16:01:57 +0200 Subject: vl-android.c: move arch-specific functions to arch_init.c Change-Id: I4908006f3492aab199466c501dedff2bd835d647 --- vl-android.c | 205 ++--------------------------------------------------------- 1 file changed, 5 insertions(+), 200 deletions(-) (limited to 'vl-android.c') 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 -- cgit v1.1