diff options
-rw-r--r-- | hw/pc.c | 8 | ||||
-rw-r--r-- | vl.c | 14 | ||||
-rw-r--r-- | vl.h | 2 |
3 files changed, 18 insertions, 6 deletions
@@ -401,9 +401,11 @@ void pc_init(int ram_size, int vga_ram_size, int boot_device, DMA_init(); #ifndef _WIN32 - /* no audio supported yet for win32 */ - AUD_init(); - SB16_init(); + if (audio_enabled) { + /* no audio supported yet for win32 */ + AUD_init(); + SB16_init(); + } #endif floppy_controller = fdctrl_init(6, 2, 0, 0x3f0, fd_table); @@ -111,6 +111,7 @@ NetDriverState nd_table[MAX_NICS]; SerialState *serial_console; QEMUTimer *gui_timer; int vm_running; +int audio_enabled = 0; /***********************************************************/ /* x86 io ports */ @@ -1744,8 +1745,10 @@ int main_loop(void) qemu_run_timers(&active_timers[QEMU_TIMER_VIRTUAL], qemu_get_clock(vm_clock)); - /* XXX: add explicit timer */ - SB16_run(); + if (audio_enabled) { + /* XXX: add explicit timer */ + SB16_run(); + } /* run dma transfers, if any */ DMA_run(); @@ -1761,7 +1764,7 @@ int main_loop(void) void help(void) { - printf("QEMU PC emulator version " QEMU_VERSION ", Copyright (c) 2003 Fabrice Bellard\n" + printf("QEMU PC emulator version " QEMU_VERSION ", Copyright (c) 2003-2004 Fabrice Bellard\n" "usage: %s [options] [disk_image]\n" "\n" "'disk_image' is a raw hard image image for IDE hard disk 0\n" @@ -1775,6 +1778,7 @@ void help(void) "-snapshot write to temporary files instead of disk image files\n" "-m megs set virtual RAM size to megs MB\n" "-nographic disable graphical output and redirect serial I/Os to console\n" + "-enable-audio enable audio support\n" "\n" "Network options:\n" "-nics n simulate 'n' network cards [default=1]\n" @@ -1842,6 +1846,7 @@ struct option long_options[] = { { "macaddr", 1, NULL, 0 }, { "user-net", 0, NULL, 0 }, { "dummy-net", 0, NULL, 0 }, + { "enable-audio", 0, NULL, 0 }, { NULL, 0, NULL, 0 }, }; @@ -2033,6 +2038,9 @@ int main(int argc, char **argv) case 19: net_if_type = NET_IF_DUMMY; break; + case 20: + audio_enabled = 1; + break; } break; case 'h': @@ -173,6 +173,8 @@ void qemu_del_vm_stop_handler(VMStopHandler *cb, void *opaque); void vm_start(void); void vm_stop(int reason); +extern int audio_enabled; + /* async I/O support */ typedef void IOReadHandler(void *opaque, const uint8_t *buf, int size); |