From 8b23a6c7e1aee255004dd19098d4c2462b61b849 Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Tue, 3 Mar 2009 19:30:32 -0800 Subject: auto import from //depot/cupcake/@135843 --- Android.mk | 10 + CHANGES.TXT | 670 +++ COPYING | 339 ++ COPYING.LIB | 504 ++ Changelog | 395 ++ INSTALL | 119 + LICENSE | 12 + MODULE_LICENSE_GPL | 0 Makefile | 73 + Makefile.android | 538 ++ NOTICE | 339 ++ README | 23 + a.out.h | 431 ++ aes.c | 1320 +++++ aes.h | 26 + alpha.ld | 128 + android-configure.sh | 646 ++ android-rebuild.sh | 12 + android/android.h | 100 + android/avd/hardware-properties.ini | 158 + android/avd/hw-config-defs.h | 165 + android/avd/hw-config.c | 39 + android/avd/hw-config.h | 46 + android/avd/info.c | 1865 ++++++ android/avd/info.h | 171 + android/build/binary.make | 34 + android/build/clear_vars.make | 30 + android/build/definitions.make | 109 + android/build/getdir.make | 19 + android/build/host_executable.make | 34 + android/build/host_static_library.make | 35 + android/build/mkdeps.sh | 51 + android/charmap.c | 148 + android/charmap.h | 133 + android/cmdline-option.c | 255 + android/cmdline-option.h | 42 + android/cmdline-options.h | 137 + android/config.c | 467 ++ android/config.h | 57 + android/config/Linux/config-host.h | 10 + android/config/check-alsa.c | 107 + android/config/check-esd.c | 67 + android/config/config.h | 14 + android/config/darwin-ppc/config-host.h | 13 + android/config/darwin-x86/config-host.h | 13 + android/config/linux-x86/config-host.h | 10 + android/config/windows/config-host.h | 10 + android/console.c | 2190 +++++++ android/globals.h | 33 + android/gps.c | 37 + android/gps.h | 23 + android/help.c | 1452 +++++ android/help.h | 36 + android/hw-control.c | 204 + android/hw-control.h | 38 + android/hw-events.c | 223 + android/hw-events.h | 184 + android/hw-kmsg.c | 70 + android/hw-kmsg.h | 31 + android/icons.h | 984 ++++ android/main.c | 2836 +++++++++ android/qemud.c | 456 ++ android/qemud.h | 72 + android/resource.c | 64 + android/resource.h | 26 + android/skin/argb.h | 856 +++ android/skin/composer.c | 401 ++ android/skin/composer.h | 102 + android/skin/default.h | 7414 +++++++++++++++++++++++ android/skin/file.c | 693 +++ android/skin/file.h | 132 + android/skin/image.c | 742 +++ android/skin/image.h | 92 + android/skin/keyboard.c | 783 +++ android/skin/keyboard.h | 59 + android/skin/keyset.c | 542 ++ android/skin/keyset.h | 122 + android/skin/rect.c | 241 + android/skin/rect.h | 71 + android/skin/region.c | 1448 +++++ android/skin/region.h | 103 + android/skin/scaler.c | 135 + android/skin/scaler.h | 39 + android/skin/surface.c | 613 ++ android/skin/surface.h | 101 + android/skin/trackball.c | 625 ++ android/skin/trackball.h | 43 + android/skin/window.c | 1516 +++++ android/skin/window.h | 65 + android/tools/gen-hw-config.py | 141 + android/user-config.c | 212 + android/user-config.h | 51 + android/utils/bufprint.c | 230 + android/utils/bufprint.h | 76 + android/utils/debug.c | 141 + android/utils/debug.h | 91 + android/utils/dirscanner.c | 203 + android/utils/dirscanner.h | 51 + android/utils/display-quartz.m | 111 + android/utils/display.c | 245 + android/utils/display.h | 31 + android/utils/filelock.c | 414 ++ android/utils/filelock.h | 38 + android/utils/ini.c | 416 ++ android/utils/ini.h | 131 + android/utils/misc.c | 193 + android/utils/misc.h | 67 + android/utils/path.c | 559 ++ android/utils/path.h | 152 + android/utils/reflist.c | 203 + android/utils/reflist.h | 129 + android/utils/stralloc.c | 300 + android/utils/stralloc.h | 60 + android/utils/system.c | 172 + android/utils/system.h | 161 + android/utils/tempfile.c | 198 + android/utils/tempfile.h | 52 + android/utils/timezone.c | 721 +++ android/utils/timezone.h | 31 + arm-dis.c | 4165 +++++++++++++ arm-semi.c | 469 ++ arm.ld | 154 + audio/alsaaudio.c | 1067 ++++ audio/audio.c | 2172 +++++++ audio/audio.h | 185 + audio/audio_int.h | 287 + audio/audio_pt_int.c | 148 + audio/audio_pt_int.h | 22 + audio/audio_template.h | 577 ++ audio/coreaudio.c | 821 +++ audio/dsound_template.h | 291 + audio/dsoundaudio.c | 1086 ++++ audio/esdaudio.c | 682 +++ audio/fmodaudio.c | 685 +++ audio/mixeng.c | 336 ++ audio/mixeng.h | 51 + audio/mixeng_template.h | 177 + audio/noaudio.c | 172 + audio/ossaudio.c | 773 +++ audio/rate_template.h | 111 + audio/sdlaudio.c | 660 +++ audio/sys-queue.h | 241 + audio/wavaudio.c | 482 ++ audio/wavcapture.c | 166 + audio/winaudio.c | 666 +++ block-bochs.c | 254 + block-cloop.c | 169 + block-cow.c | 267 + block-dmg.c | 297 + block-nbd.c | 189 + block-parallels.c | 176 + block-qcow.c | 904 +++ block-qcow2.c | 2620 +++++++++ block-raw-posix.c | 1210 ++++ block-raw-win32.c | 526 ++ block-vmdk.c | 834 +++ block-vpc.c | 239 + block-vvfat.c | 2847 +++++++++ block.c | 1433 +++++ block.h | 159 + block_int.h | 150 + bswap.h | 209 + cbuffer.c | 231 + cbuffer.h | 61 + charpipe.c | 273 + charpipe.h | 26 + compatfd.c | 128 + compatfd.h | 28 + console.c | 1345 +++++ console.h | 195 + cpu-all.h | 1090 ++++ cpu-defs.h | 198 + cpu-exec.c | 1487 +++++ curses.c | 374 ++ curses_keys.h | 484 ++ cutils.c | 137 + d3des.c | 434 ++ d3des.h | 51 + dcache.c | 349 ++ dcache.h | 31 + dis-asm.h | 478 ++ disas.c | 431 ++ disas.h | 21 + distrib/Makefile | 8 + distrib/README | 50 + distrib/build-emulator.sh | 39 + distrib/build_gcc_qemu_darwin.sh | 482 ++ distrib/libpng-1.2.19/Makefile | 25 + distrib/libpng-1.2.19/png.c | 895 +++ distrib/libpng-1.2.19/png.h | 3525 +++++++++++ distrib/libpng-1.2.19/pngconf.h | 1535 +++++ distrib/libpng-1.2.19/pngerror.c | 326 + distrib/libpng-1.2.19/pnggccrd.c | 6041 +++++++++++++++++++ distrib/libpng-1.2.19/pngget.c | 962 +++ distrib/libpng-1.2.19/pngmem.c | 608 ++ distrib/libpng-1.2.19/pngpread.c | 1585 +++++ distrib/libpng-1.2.19/pngread.c | 1478 +++++ distrib/libpng-1.2.19/pngrio.c | 167 + distrib/libpng-1.2.19/pngrtran.c | 4284 ++++++++++++++ distrib/libpng-1.2.19/pngrutil.c | 4189 +++++++++++++ distrib/libpng-1.2.19/pngset.c | 1284 ++++ distrib/libpng-1.2.19/pngtrans.c | 662 +++ distrib/libpng-1.2.19/pngvcrd.c | 3922 +++++++++++++ distrib/libpng-1.2.19/pngwio.c | 234 + distrib/libpng-1.2.19/pngwrite.c | 1530 +++++ distrib/libpng-1.2.19/pngwtran.c | 572 ++ distrib/libpng-1.2.19/pngwutil.c | 2782 +++++++++ distrib/libpng-1.2.19/sources.make | 14 + distrib/make-distrib.sh | 110 + distrib/update-audio.sh | 95 + distrib/zlib-1.2.3/Makefile | 15 + distrib/zlib-1.2.3/adler32.c | 149 + distrib/zlib-1.2.3/compress.c | 79 + distrib/zlib-1.2.3/configure | 459 ++ distrib/zlib-1.2.3/crc32.c | 423 ++ distrib/zlib-1.2.3/crc32.h | 441 ++ distrib/zlib-1.2.3/deflate.c | 1736 ++++++ distrib/zlib-1.2.3/deflate.h | 331 ++ distrib/zlib-1.2.3/gzio.c | 1026 ++++ distrib/zlib-1.2.3/infback.c | 623 ++ distrib/zlib-1.2.3/inffast.c | 318 + distrib/zlib-1.2.3/inffast.h | 11 + distrib/zlib-1.2.3/inffixed.h | 94 + distrib/zlib-1.2.3/inflate.c | 1368 +++++ distrib/zlib-1.2.3/inflate.h | 115 + distrib/zlib-1.2.3/inftrees.c | 329 ++ distrib/zlib-1.2.3/inftrees.h | 55 + distrib/zlib-1.2.3/sources.make | 4 + distrib/zlib-1.2.3/trees.c | 1219 ++++ distrib/zlib-1.2.3/trees.h | 128 + distrib/zlib-1.2.3/uncompr.c | 61 + distrib/zlib-1.2.3/zconf.h | 332 ++ distrib/zlib-1.2.3/zlib.h | 1357 +++++ distrib/zlib-1.2.3/zutil.c | 318 + distrib/zlib-1.2.3/zutil.h | 269 + docs/AUDIO.TXT | 160 + docs/KERNEL.TXT | 25 + dyngen-exec.h | 305 + dynlink.h | 110 + elf.h | 1172 ++++ elf_ops.h | 217 + exec-all.h | 392 ++ exec.c | 3201 ++++++++++ fpu/softfloat-macros.h | 720 +++ fpu/softfloat-native.c | 505 ++ fpu/softfloat-native.h | 425 ++ fpu/softfloat-specialize.h | 569 ++ fpu/softfloat.c | 5541 +++++++++++++++++ fpu/softfloat.h | 444 ++ framebuffer.c | 243 + framebuffer.h | 205 + gdbstub.c | 1593 +++++ gdbstub.h | 19 + gen-charmap.py | 180 + gen-icount.h | 56 + gen-skin.py | 78 + host-defs.h | 18 + host-utils.c | 104 + host-utils.h | 204 + hostregs_helper.h | 98 + hpet.h | 22 + hw/android_arm.c | 175 + hw/arm-misc.h | 49 + hw/arm_boot.c | 251 + hw/arm_gic.c | 747 +++ hw/arm_pic.c | 48 + hw/arm_pic.h | 25 + hw/armv7m.c | 206 + hw/armv7m_nvic.c | 407 ++ hw/audiodev.h | 17 + hw/baum.h | 29 + hw/boards.h | 122 + hw/cdrom.c | 157 + hw/devices.h | 74 + hw/dma.c | 548 ++ hw/goldfish_audio.c | 533 ++ hw/goldfish_battery.c | 261 + hw/goldfish_device.c | 200 + hw/goldfish_device.h | 58 + hw/goldfish_events_device.c | 423 ++ hw/goldfish_fb.c | 405 ++ hw/goldfish_interrupt.c | 190 + hw/goldfish_memlog.c | 78 + hw/goldfish_mmc.c | 468 ++ hw/goldfish_nand.c | 636 ++ hw/goldfish_nand.h | 28 + hw/goldfish_nand_reg.h | 54 + hw/goldfish_switch.c | 172 + hw/goldfish_timer.c | 256 + hw/goldfish_trace.c | 251 + hw/goldfish_trace.h | 79 + hw/goldfish_tty.c | 226 + hw/hw.h | 110 + hw/irq.c | 71 + hw/irq.h | 34 + hw/isa.h | 27 + hw/mmc.h | 214 + hw/pc.h | 148 + hw/pci.c | 701 +++ hw/pci.h | 142 + hw/pci_host.h | 93 + hw/pcmcia.h | 50 + hw/power_supply.h | 109 + hw/pxa.h | 227 + hw/scsi-disk.c | 809 +++ hw/scsi-disk.h | 36 + hw/sd.h | 83 + hw/smc91c111.c | 715 +++ hw/usb-hid.c | 896 +++ hw/usb-hub.c | 554 ++ hw/usb-msd.c | 578 ++ hw/usb-ohci.c | 1684 ++++++ hw/usb.c | 231 + hw/usb.h | 291 + i386-dis.c | 4120 +++++++++++++ i386-vl.ld | 140 + i386.ld | 142 + ia64.ld | 211 + images/android_icon.ico | Bin 0 -> 300318 bytes images/android_icon.rc | 3 + images/android_icon_16.png | Bin 0 -> 460 bytes images/android_icon_256.png | Bin 0 -> 13369 bytes images/android_icon_32.png | Bin 0 -> 1321 bytes keymaps.c | 207 + kqemu.c | 1025 ++++ kqemu.h | 154 + linux_keycodes.h | 452 ++ loader.c | 412 ++ loadpng.c | 275 + m68k.ld | 177 + monitor.c | 2736 +++++++++ net.h | 58 + offset_layout.py | 111 + osdep.c | 288 + osdep.h | 90 + ppc-dis.c | 3246 ++++++++++ ppc.ld | 228 + proxy/proxy_common.c | 532 ++ proxy/proxy_common.h | 88 + proxy/proxy_http.c | 186 + proxy/proxy_http.h | 24 + proxy/proxy_http_connector.c | 203 + proxy/proxy_http_int.h | 38 + proxy/proxy_http_rewriter.c | 1125 ++++ proxy/proxy_int.h | 201 + qemu-char.h | 90 + qemu-common.h | 142 + qemu-lock.h | 249 + qemu-log.h | 7 + qemu-timer.h | 50 + qemu_debug.h | 5 + qemu_file.h | 52 + qemu_socket.h | 8 + qemu_timers.h | 7 + readline.c | 488 ++ sdl_keysym.h | 278 + shaper.c | 590 ++ shaper.h | 51 + slirp2/COPYRIGHT | 64 + slirp2/bootp.c | 263 + slirp2/bootp.h | 113 + slirp2/cksum.c | 141 + slirp2/ctl.h | 10 + slirp2/debug.c | 352 ++ slirp2/debug.h | 50 + slirp2/helper.h | 111 + slirp2/icmp_var.h | 69 + slirp2/if.c | 322 + slirp2/if.h | 50 + slirp2/ip.h | 297 + slirp2/ip_icmp.c | 377 ++ slirp2/ip_icmp.h | 166 + slirp2/ip_input.c | 702 +++ slirp2/ip_output.c | 205 + slirp2/libslirp.h | 50 + slirp2/main.h | 57 + slirp2/mbuf.c | 287 + slirp2/mbuf.h | 121 + slirp2/misc.c | 277 + slirp2/misc.h | 64 + slirp2/sbuf.c | 172 + slirp2/sbuf.h | 37 + slirp2/slirp.c | 762 +++ slirp2/slirp.h | 276 + slirp2/slirp_config.h | 200 + slirp2/socket.c | 732 +++ slirp2/socket.h | 107 + slirp2/tcp.h | 175 + slirp2/tcp_input.c | 1714 ++++++ slirp2/tcp_output.c | 605 ++ slirp2/tcp_subr.c | 1010 ++++ slirp2/tcp_timer.c | 326 + slirp2/tcp_timer.h | 142 + slirp2/tcp_var.h | 232 + slirp2/tcpip.h | 81 + slirp2/tftp.c | 430 ++ slirp2/tftp.h | 33 + slirp2/udp.c | 495 ++ slirp2/udp.h | 115 + sockets.c | 1269 ++++ sockets.h | 339 ++ softmmu-semi.h | 70 + softmmu_defs.h | 22 + softmmu_exec.h | 115 + softmmu_header.h | 345 ++ softmmu_template.h | 333 ++ sparc.ld | 131 + sysemu.h | 184 + tap-win32.c | 688 +++ target-arm/cpu.h | 420 ++ target-arm/exec.h | 63 + target-arm/helper.c | 2553 ++++++++ target-arm/helpers.h | 548 ++ target-arm/iwmmxt_helper.c | 682 +++ target-arm/machine.c | 218 + target-arm/neon_helper.c | 1457 +++++ target-arm/op_addsub.h | 103 + target-arm/op_helper.c | 688 +++ target-arm/translate.c | 8963 ++++++++++++++++++++++++++++ tcg/LICENSE | 3 + tcg/README | 425 ++ tcg/TODO | 15 + tcg/arm/tcg-target.c | 1584 +++++ tcg/arm/tcg-target.h | 76 + tcg/hppa/tcg-target.c | 973 +++ tcg/hppa/tcg-target.h | 204 + tcg/i386/tcg-target.c | 1185 ++++ tcg/i386/tcg-target.h | 55 + tcg/ppc/tcg-target.c | 1492 +++++ tcg/ppc/tcg-target.h | 105 + tcg/ppc64/tcg-target.c | 1491 +++++ tcg/ppc64/tcg-target.h | 105 + tcg/sparc/tcg-target.c | 1206 ++++ tcg/sparc/tcg-target.h | 122 + tcg/tcg-dyngen.c | 431 ++ tcg/tcg-op.h | 1713 ++++++ tcg/tcg-opc.h | 238 + tcg/tcg-runtime.c | 68 + tcg/tcg.c | 2081 +++++++ tcg/tcg.h | 421 ++ tcg/x86_64/tcg-target.c | 1307 ++++ tcg/x86_64/tcg-target.h | 77 + tcpdump.c | 147 + tcpdump.h | 36 + telephony/Jamfile | 13 + telephony/android_modem.c | 1870 ++++++ telephony/android_modem.h | 137 + telephony/gsm.c | 1220 ++++ telephony/gsm.h | 196 + telephony/modem_driver.c | 148 + telephony/modem_driver.h | 29 + telephony/remote_call.c | 430 ++ telephony/remote_call.h | 55 + telephony/sim_card.c | 439 ++ telephony/sim_card.h | 54 + telephony/simulator.c | 195 + telephony/sms.c | 1655 ++++++ telephony/sms.h | 117 + telephony/sysdeps.h | 80 + telephony/sysdeps_posix.c | 645 ++ telephony/sysdeps_qemu.c | 376 ++ telephony/test1.c | 49 + telephony/test2.c | 215 + thunk.c | 288 + thunk.h | 161 + trace.c | 1879 ++++++ trace.h | 162 + trace_common.h | 139 + translate-all.c | 195 + translate-op.c | 81 + translate.make | 37 + uboot_image.h | 160 + usb-linux.c | 1506 +++++ varint.c | 118 + varint.h | 15 + vgafont.h | 4611 +++++++++++++++ vl.c | 9803 +++++++++++++++++++++++++++++++ vnc.c | 2446 ++++++++ vnc_keysym.h | 302 + vnchextile.h | 209 + x86_64.ld | 171 + 481 files changed, 253866 insertions(+) create mode 100644 Android.mk create mode 100644 CHANGES.TXT create mode 100644 COPYING create mode 100644 COPYING.LIB create mode 100644 Changelog create mode 100644 INSTALL create mode 100644 LICENSE create mode 100644 MODULE_LICENSE_GPL create mode 100644 Makefile create mode 100644 Makefile.android create mode 100644 NOTICE create mode 100644 README create mode 100644 a.out.h create mode 100644 aes.c create mode 100644 aes.h create mode 100644 alpha.ld create mode 100755 android-configure.sh create mode 100755 android-rebuild.sh create mode 100644 android/android.h create mode 100644 android/avd/hardware-properties.ini create mode 100644 android/avd/hw-config-defs.h create mode 100644 android/avd/hw-config.c create mode 100644 android/avd/hw-config.h create mode 100644 android/avd/info.c create mode 100644 android/avd/info.h create mode 100644 android/build/binary.make create mode 100644 android/build/clear_vars.make create mode 100644 android/build/definitions.make create mode 100644 android/build/getdir.make create mode 100644 android/build/host_executable.make create mode 100644 android/build/host_static_library.make create mode 100755 android/build/mkdeps.sh create mode 100644 android/charmap.c create mode 100644 android/charmap.h create mode 100644 android/cmdline-option.c create mode 100644 android/cmdline-option.h create mode 100644 android/cmdline-options.h create mode 100644 android/config.c create mode 100644 android/config.h create mode 100644 android/config/Linux/config-host.h create mode 100644 android/config/check-alsa.c create mode 100644 android/config/check-esd.c create mode 100644 android/config/config.h create mode 100644 android/config/darwin-ppc/config-host.h create mode 100644 android/config/darwin-x86/config-host.h create mode 100644 android/config/linux-x86/config-host.h create mode 100644 android/config/windows/config-host.h create mode 100644 android/console.c create mode 100644 android/globals.h create mode 100644 android/gps.c create mode 100644 android/gps.h create mode 100644 android/help.c create mode 100644 android/help.h create mode 100644 android/hw-control.c create mode 100644 android/hw-control.h create mode 100644 android/hw-events.c create mode 100644 android/hw-events.h create mode 100644 android/hw-kmsg.c create mode 100644 android/hw-kmsg.h create mode 100644 android/icons.h create mode 100644 android/main.c create mode 100644 android/qemud.c create mode 100644 android/qemud.h create mode 100644 android/resource.c create mode 100644 android/resource.h create mode 100644 android/skin/argb.h create mode 100644 android/skin/composer.c create mode 100644 android/skin/composer.h create mode 100644 android/skin/default.h create mode 100644 android/skin/file.c create mode 100644 android/skin/file.h create mode 100644 android/skin/image.c create mode 100644 android/skin/image.h create mode 100644 android/skin/keyboard.c create mode 100644 android/skin/keyboard.h create mode 100644 android/skin/keyset.c create mode 100644 android/skin/keyset.h create mode 100644 android/skin/rect.c create mode 100644 android/skin/rect.h create mode 100644 android/skin/region.c create mode 100644 android/skin/region.h create mode 100644 android/skin/scaler.c create mode 100644 android/skin/scaler.h create mode 100644 android/skin/surface.c create mode 100644 android/skin/surface.h create mode 100644 android/skin/trackball.c create mode 100644 android/skin/trackball.h create mode 100644 android/skin/window.c create mode 100644 android/skin/window.h create mode 100755 android/tools/gen-hw-config.py create mode 100644 android/user-config.c create mode 100644 android/user-config.h create mode 100644 android/utils/bufprint.c create mode 100644 android/utils/bufprint.h create mode 100644 android/utils/debug.c create mode 100644 android/utils/debug.h create mode 100644 android/utils/dirscanner.c create mode 100644 android/utils/dirscanner.h create mode 100644 android/utils/display-quartz.m create mode 100644 android/utils/display.c create mode 100644 android/utils/display.h create mode 100644 android/utils/filelock.c create mode 100644 android/utils/filelock.h create mode 100644 android/utils/ini.c create mode 100644 android/utils/ini.h create mode 100644 android/utils/misc.c create mode 100644 android/utils/misc.h create mode 100644 android/utils/path.c create mode 100644 android/utils/path.h create mode 100644 android/utils/reflist.c create mode 100644 android/utils/reflist.h create mode 100644 android/utils/stralloc.c create mode 100644 android/utils/stralloc.h create mode 100644 android/utils/system.c create mode 100644 android/utils/system.h create mode 100644 android/utils/tempfile.c create mode 100644 android/utils/tempfile.h create mode 100644 android/utils/timezone.c create mode 100644 android/utils/timezone.h create mode 100644 arm-dis.c create mode 100644 arm-semi.c create mode 100644 arm.ld create mode 100644 audio/alsaaudio.c create mode 100644 audio/audio.c create mode 100644 audio/audio.h create mode 100644 audio/audio_int.h create mode 100644 audio/audio_pt_int.c create mode 100644 audio/audio_pt_int.h create mode 100644 audio/audio_template.h create mode 100644 audio/coreaudio.c create mode 100644 audio/dsound_template.h create mode 100644 audio/dsoundaudio.c create mode 100644 audio/esdaudio.c create mode 100644 audio/fmodaudio.c create mode 100644 audio/mixeng.c create mode 100644 audio/mixeng.h create mode 100644 audio/mixeng_template.h create mode 100644 audio/noaudio.c create mode 100644 audio/ossaudio.c create mode 100644 audio/rate_template.h create mode 100644 audio/sdlaudio.c create mode 100644 audio/sys-queue.h create mode 100644 audio/wavaudio.c create mode 100644 audio/wavcapture.c create mode 100644 audio/winaudio.c create mode 100644 block-bochs.c create mode 100644 block-cloop.c create mode 100644 block-cow.c create mode 100644 block-dmg.c create mode 100644 block-nbd.c create mode 100644 block-parallels.c create mode 100644 block-qcow.c create mode 100644 block-qcow2.c create mode 100644 block-raw-posix.c create mode 100644 block-raw-win32.c create mode 100644 block-vmdk.c create mode 100644 block-vpc.c create mode 100644 block-vvfat.c create mode 100644 block.c create mode 100644 block.h create mode 100644 block_int.h create mode 100644 bswap.h create mode 100644 cbuffer.c create mode 100644 cbuffer.h create mode 100644 charpipe.c create mode 100644 charpipe.h create mode 100644 compatfd.c create mode 100644 compatfd.h create mode 100644 console.c create mode 100644 console.h create mode 100644 cpu-all.h create mode 100644 cpu-defs.h create mode 100644 cpu-exec.c create mode 100644 curses.c create mode 100644 curses_keys.h create mode 100644 cutils.c create mode 100644 d3des.c create mode 100644 d3des.h create mode 100644 dcache.c create mode 100644 dcache.h create mode 100644 dis-asm.h create mode 100644 disas.c create mode 100644 disas.h create mode 100644 distrib/Makefile create mode 100644 distrib/README create mode 100755 distrib/build-emulator.sh create mode 100755 distrib/build_gcc_qemu_darwin.sh create mode 100644 distrib/libpng-1.2.19/Makefile create mode 100644 distrib/libpng-1.2.19/png.c create mode 100644 distrib/libpng-1.2.19/png.h create mode 100644 distrib/libpng-1.2.19/pngconf.h create mode 100644 distrib/libpng-1.2.19/pngerror.c create mode 100644 distrib/libpng-1.2.19/pnggccrd.c create mode 100644 distrib/libpng-1.2.19/pngget.c create mode 100644 distrib/libpng-1.2.19/pngmem.c create mode 100644 distrib/libpng-1.2.19/pngpread.c create mode 100644 distrib/libpng-1.2.19/pngread.c create mode 100644 distrib/libpng-1.2.19/pngrio.c create mode 100644 distrib/libpng-1.2.19/pngrtran.c create mode 100644 distrib/libpng-1.2.19/pngrutil.c create mode 100644 distrib/libpng-1.2.19/pngset.c create mode 100644 distrib/libpng-1.2.19/pngtrans.c create mode 100644 distrib/libpng-1.2.19/pngvcrd.c create mode 100644 distrib/libpng-1.2.19/pngwio.c create mode 100644 distrib/libpng-1.2.19/pngwrite.c create mode 100644 distrib/libpng-1.2.19/pngwtran.c create mode 100644 distrib/libpng-1.2.19/pngwutil.c create mode 100644 distrib/libpng-1.2.19/sources.make create mode 100755 distrib/make-distrib.sh create mode 100755 distrib/update-audio.sh create mode 100644 distrib/zlib-1.2.3/Makefile create mode 100644 distrib/zlib-1.2.3/adler32.c create mode 100644 distrib/zlib-1.2.3/compress.c create mode 100755 distrib/zlib-1.2.3/configure create mode 100644 distrib/zlib-1.2.3/crc32.c create mode 100644 distrib/zlib-1.2.3/crc32.h create mode 100644 distrib/zlib-1.2.3/deflate.c create mode 100644 distrib/zlib-1.2.3/deflate.h create mode 100644 distrib/zlib-1.2.3/gzio.c create mode 100644 distrib/zlib-1.2.3/infback.c create mode 100644 distrib/zlib-1.2.3/inffast.c create mode 100644 distrib/zlib-1.2.3/inffast.h create mode 100644 distrib/zlib-1.2.3/inffixed.h create mode 100644 distrib/zlib-1.2.3/inflate.c create mode 100644 distrib/zlib-1.2.3/inflate.h create mode 100644 distrib/zlib-1.2.3/inftrees.c create mode 100644 distrib/zlib-1.2.3/inftrees.h create mode 100644 distrib/zlib-1.2.3/sources.make create mode 100644 distrib/zlib-1.2.3/trees.c create mode 100644 distrib/zlib-1.2.3/trees.h create mode 100644 distrib/zlib-1.2.3/uncompr.c create mode 100644 distrib/zlib-1.2.3/zconf.h create mode 100644 distrib/zlib-1.2.3/zlib.h create mode 100644 distrib/zlib-1.2.3/zutil.c create mode 100644 distrib/zlib-1.2.3/zutil.h create mode 100644 docs/AUDIO.TXT create mode 100644 docs/KERNEL.TXT create mode 100644 dyngen-exec.h create mode 100644 dynlink.h create mode 100644 elf.h create mode 100644 elf_ops.h create mode 100644 exec-all.h create mode 100644 exec.c create mode 100644 fpu/softfloat-macros.h create mode 100644 fpu/softfloat-native.c create mode 100644 fpu/softfloat-native.h create mode 100644 fpu/softfloat-specialize.h create mode 100644 fpu/softfloat.c create mode 100644 fpu/softfloat.h create mode 100644 framebuffer.c create mode 100644 framebuffer.h create mode 100644 gdbstub.c create mode 100644 gdbstub.h create mode 100644 gen-charmap.py create mode 100644 gen-icount.h create mode 100755 gen-skin.py create mode 100644 host-defs.h create mode 100644 host-utils.c create mode 100644 host-utils.h create mode 100644 hostregs_helper.h create mode 100644 hpet.h create mode 100644 hw/android_arm.c create mode 100644 hw/arm-misc.h create mode 100644 hw/arm_boot.c create mode 100644 hw/arm_gic.c create mode 100644 hw/arm_pic.c create mode 100644 hw/arm_pic.h create mode 100644 hw/armv7m.c create mode 100644 hw/armv7m_nvic.c create mode 100644 hw/audiodev.h create mode 100644 hw/baum.h create mode 100644 hw/boards.h create mode 100644 hw/cdrom.c create mode 100644 hw/devices.h create mode 100644 hw/dma.c create mode 100644 hw/goldfish_audio.c create mode 100644 hw/goldfish_battery.c create mode 100644 hw/goldfish_device.c create mode 100644 hw/goldfish_device.h create mode 100644 hw/goldfish_events_device.c create mode 100644 hw/goldfish_fb.c create mode 100644 hw/goldfish_interrupt.c create mode 100644 hw/goldfish_memlog.c create mode 100644 hw/goldfish_mmc.c create mode 100644 hw/goldfish_nand.c create mode 100644 hw/goldfish_nand.h create mode 100644 hw/goldfish_nand_reg.h create mode 100644 hw/goldfish_switch.c create mode 100644 hw/goldfish_timer.c create mode 100644 hw/goldfish_trace.c create mode 100644 hw/goldfish_trace.h create mode 100644 hw/goldfish_tty.c create mode 100644 hw/hw.h create mode 100644 hw/irq.c create mode 100644 hw/irq.h create mode 100644 hw/isa.h create mode 100644 hw/mmc.h create mode 100644 hw/pc.h create mode 100644 hw/pci.c create mode 100644 hw/pci.h create mode 100644 hw/pci_host.h create mode 100644 hw/pcmcia.h create mode 100644 hw/power_supply.h create mode 100644 hw/pxa.h create mode 100644 hw/scsi-disk.c create mode 100644 hw/scsi-disk.h create mode 100644 hw/sd.h create mode 100644 hw/smc91c111.c create mode 100644 hw/usb-hid.c create mode 100644 hw/usb-hub.c create mode 100644 hw/usb-msd.c create mode 100644 hw/usb-ohci.c create mode 100644 hw/usb.c create mode 100644 hw/usb.h create mode 100644 i386-dis.c create mode 100644 i386-vl.ld create mode 100644 i386.ld create mode 100644 ia64.ld create mode 100644 images/android_icon.ico create mode 100644 images/android_icon.rc create mode 100644 images/android_icon_16.png create mode 100644 images/android_icon_256.png create mode 100644 images/android_icon_32.png create mode 100644 keymaps.c create mode 100644 kqemu.c create mode 100644 kqemu.h create mode 100644 linux_keycodes.h create mode 100644 loader.c create mode 100644 loadpng.c create mode 100644 m68k.ld create mode 100644 monitor.c create mode 100644 net.h create mode 100755 offset_layout.py create mode 100644 osdep.c create mode 100644 osdep.h create mode 100644 ppc-dis.c create mode 100644 ppc.ld create mode 100644 proxy/proxy_common.c create mode 100644 proxy/proxy_common.h create mode 100644 proxy/proxy_http.c create mode 100644 proxy/proxy_http.h create mode 100644 proxy/proxy_http_connector.c create mode 100644 proxy/proxy_http_int.h create mode 100644 proxy/proxy_http_rewriter.c create mode 100644 proxy/proxy_int.h create mode 100644 qemu-char.h create mode 100644 qemu-common.h create mode 100644 qemu-lock.h create mode 100644 qemu-log.h create mode 100644 qemu-timer.h create mode 100644 qemu_debug.h create mode 100644 qemu_file.h create mode 100644 qemu_socket.h create mode 100644 qemu_timers.h create mode 100644 readline.c create mode 100644 sdl_keysym.h create mode 100644 shaper.c create mode 100644 shaper.h create mode 100644 slirp2/COPYRIGHT create mode 100644 slirp2/bootp.c create mode 100644 slirp2/bootp.h create mode 100644 slirp2/cksum.c create mode 100644 slirp2/ctl.h create mode 100644 slirp2/debug.c create mode 100644 slirp2/debug.h create mode 100644 slirp2/helper.h create mode 100644 slirp2/icmp_var.h create mode 100644 slirp2/if.c create mode 100644 slirp2/if.h create mode 100644 slirp2/ip.h create mode 100644 slirp2/ip_icmp.c create mode 100644 slirp2/ip_icmp.h create mode 100644 slirp2/ip_input.c create mode 100644 slirp2/ip_output.c create mode 100644 slirp2/libslirp.h create mode 100644 slirp2/main.h create mode 100644 slirp2/mbuf.c create mode 100644 slirp2/mbuf.h create mode 100644 slirp2/misc.c create mode 100644 slirp2/misc.h create mode 100644 slirp2/sbuf.c create mode 100644 slirp2/sbuf.h create mode 100644 slirp2/slirp.c create mode 100644 slirp2/slirp.h create mode 100644 slirp2/slirp_config.h create mode 100644 slirp2/socket.c create mode 100644 slirp2/socket.h create mode 100644 slirp2/tcp.h create mode 100644 slirp2/tcp_input.c create mode 100644 slirp2/tcp_output.c create mode 100644 slirp2/tcp_subr.c create mode 100644 slirp2/tcp_timer.c create mode 100644 slirp2/tcp_timer.h create mode 100644 slirp2/tcp_var.h create mode 100644 slirp2/tcpip.h create mode 100644 slirp2/tftp.c create mode 100644 slirp2/tftp.h create mode 100644 slirp2/udp.c create mode 100644 slirp2/udp.h create mode 100644 sockets.c create mode 100644 sockets.h create mode 100644 softmmu-semi.h create mode 100644 softmmu_defs.h create mode 100644 softmmu_exec.h create mode 100644 softmmu_header.h create mode 100644 softmmu_template.h create mode 100644 sparc.ld create mode 100644 sysemu.h create mode 100644 tap-win32.c create mode 100644 target-arm/cpu.h create mode 100644 target-arm/exec.h create mode 100644 target-arm/helper.c create mode 100644 target-arm/helpers.h create mode 100644 target-arm/iwmmxt_helper.c create mode 100644 target-arm/machine.c create mode 100644 target-arm/neon_helper.c create mode 100644 target-arm/op_addsub.h create mode 100644 target-arm/op_helper.c create mode 100644 target-arm/translate.c create mode 100644 tcg/LICENSE create mode 100644 tcg/README create mode 100644 tcg/TODO create mode 100644 tcg/arm/tcg-target.c create mode 100644 tcg/arm/tcg-target.h create mode 100644 tcg/hppa/tcg-target.c create mode 100644 tcg/hppa/tcg-target.h create mode 100644 tcg/i386/tcg-target.c create mode 100644 tcg/i386/tcg-target.h create mode 100644 tcg/ppc/tcg-target.c create mode 100644 tcg/ppc/tcg-target.h create mode 100644 tcg/ppc64/tcg-target.c create mode 100644 tcg/ppc64/tcg-target.h create mode 100644 tcg/sparc/tcg-target.c create mode 100644 tcg/sparc/tcg-target.h create mode 100644 tcg/tcg-dyngen.c create mode 100644 tcg/tcg-op.h create mode 100644 tcg/tcg-opc.h create mode 100644 tcg/tcg-runtime.c create mode 100644 tcg/tcg.c create mode 100644 tcg/tcg.h create mode 100644 tcg/x86_64/tcg-target.c create mode 100644 tcg/x86_64/tcg-target.h create mode 100644 tcpdump.c create mode 100644 tcpdump.h create mode 100644 telephony/Jamfile create mode 100644 telephony/android_modem.c create mode 100644 telephony/android_modem.h create mode 100644 telephony/gsm.c create mode 100644 telephony/gsm.h create mode 100644 telephony/modem_driver.c create mode 100644 telephony/modem_driver.h create mode 100644 telephony/remote_call.c create mode 100644 telephony/remote_call.h create mode 100644 telephony/sim_card.c create mode 100644 telephony/sim_card.h create mode 100644 telephony/simulator.c create mode 100644 telephony/sms.c create mode 100644 telephony/sms.h create mode 100644 telephony/sysdeps.h create mode 100644 telephony/sysdeps_posix.c create mode 100644 telephony/sysdeps_qemu.c create mode 100644 telephony/test1.c create mode 100644 telephony/test2.c create mode 100644 thunk.c create mode 100644 thunk.h create mode 100644 trace.c create mode 100644 trace.h create mode 100644 trace_common.h create mode 100644 translate-all.c create mode 100644 translate-op.c create mode 100644 translate.make create mode 100644 uboot_image.h create mode 100644 usb-linux.c create mode 100644 varint.c create mode 100644 varint.h create mode 100644 vgafont.h create mode 100644 vl.c create mode 100644 vnc.c create mode 100644 vnc_keysym.h create mode 100644 vnchextile.h create mode 100644 x86_64.ld diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..0b02fdb --- /dev/null +++ b/Android.mk @@ -0,0 +1,10 @@ +# the following test is made to detect that we were called +# through the 'm' or 'mm' build commands. if not, we use the +# standard QEMU Makefile +# +ifeq ($(DEFAULT_GOAL),droid) + LOCAL_PATH:= $(call my-dir) + include $(LOCAL_PATH)/Makefile.android +else + include Makefile.qemu +endif diff --git a/CHANGES.TXT b/CHANGES.TXT new file mode 100644 index 0000000..0f362b7 --- /dev/null +++ b/CHANGES.TXT @@ -0,0 +1,670 @@ +Android Emulator changes: +========================= + +Versions: + + 1.0 => SDK M3 release + 1.1 => SDK M5 release + 1.2 => Internal release (build 72264) + 1.3 => Internal release (build 77780) + 1.4 => Internal release (build 84853) + 1.5 => SDK 0.9_r1 + 1.6 => SDK 1.0_r1 + 1.7 => SDK 1.0_r2 + 1.8 => SDK 1.1 + 1.9 => (unreleased, planned, named likely to change) + +============================================================================== +Changes between 1.8 and 1.9 + +IMPORTANT CHANGES: + +- Many features have been integrated from upstream QEMU sources, including + the new TCG code generator used by the ARM translator. This should result + in slightly faster execution speed on all supported platforms. + +- The emulator now requires that you specify a virtual device name when + starting the emulator, prefixed with the '@' sign. For example, to start + the 'foo' virtual device, type: + + emulator @foo + + Each AVD (Android Virtual Device) corresponds to a directory used to store + mutable disk images, an optional system image/kernel/sdcard, plus some + configuration file(s). + + The command-line tool 'android' that comes with the SDK can be used to + create/list/remove virtual devices on your system. + + Note that the '@' form is a convenience shortcut for '-avd '. + It is thus possible to place options after the AVD name on your command + line, as in: + + emulator @foo -verbose -shell + + Finally, when building the Android platform source tree, an AVD name is not + required and 'emulator' will start a new emulator instance exactly as + previously. + +- A new option '-sysdir ' has been introduced, the interpretation of + the '-system' option has changed, and '-image ' should now be + considered obsolete. In more details: + + * you should now use '-sysdir ' instead of '-system ' to specify + the directory where system images will be searched by the emulator + on startup. + + * you should now use '-system ' to indicate which system.img partition + image to use at startup. + + * you should not use '-system ' or '-image ' anymore. However, + these options are still supported but will print a warning to remind you + to change your scripts/habits. + + The change was done to reduce confusion as to what these options provide. + +- Options '-noaudio', '-nojni', '-noskin' and 'nocache' are deprecated. + You should use '-no-audio', '-no-jni', '-no-skin' and '-no-cache' instead. + +- Option 'initdata' is deprecated, you should use '-init-data' instead. + +- Hardware emulation is now limited to the corresponding Android Virtual + Device's configuration. This means it is now possible to not emulate + a touch-screen, trackball, dpad, keyboard, modem, etc... + + Note that in the case of the Android build system, all hardware properties + are enabled by default, so this only affects "normal" virtual devices + created with the 'android' tool. + +- The emulator now supports capturing network packets to a file. + You can either use the new -tcpdump command-line option, or use + the new console 'network capture start ' command (then use + 'network capture stop' to stop it). + + This captures all ethernet packets on the virtual LAN, so this includes + ARP, UDP, TCP, etc... The file is in libpcap format and can be opened with + external tools like WireShark for analysis. + +OTHER: + +- The file in ~/.android/default.keyset was ignored, unless you used + '-keyset default' explicitely. It is now loaded automatically when + available. + +- Environment variable ANDROID_SDK_ROOT can be used to specifiy the location + of the SDK installation path. + +- Environment variable ANDROID_SDK_HOME can be used to specify the location + of the '.android' data directory. + +- A new console command 'avd name' can be used to query the name of the + virtual device running in the emulator. Note that it will be '' + if you run from the Android build system. + + Also, the emulator's window title also displays the AVD name now. + +- The option '-memory ' has been added. must be an integer + specifying the amount of physical RAM in the emulated device in megabytes. + The default value is 96. + +- The '-skindir ' option now requires that you specify a '-skin ' + option as well. + +- Better handling of Audio on Linux for the EsounD and Alsa backends + +- Fullscreen toggle should now work on Windows and OS X. On Linux, the + toggle will not switch the display resolution anymore (which resulted + in distorted images). + +============================================================================== +Changes between 1.6 and 1.7 + +IMPORTANT BUG FIXES: + +- Properly create ~/.android directory when needed. + +- Do not leave temporary files in Android app-specific directory on Win32 + +- Support for HTTP/HTTPS proxies has been considerably improved and should now + "just work" with a lot more HTTP proxies. In case of problem, use the + -debug-proxy option to dump debugging data to stderr. + +OTHER: + +- Trackball emulation has changed. First, the awkward "Control-T" keybinding + is gone. Instead, you can now: + + - press 'Delete' to show the trackball and have it disappear as soon + as your release the key. + + - press 'F6' to perform a persistent trackball mode toggle. + + Also, trackball emulation is fixed in rotated/landscape mode now. + +- New option '-nand-limits ' allows you to send a signal to a remote + process when a read or write threshold on flash storage is reached. This is + only useful for hardcore Android system hackers. + +- Fix emulator build on recent Cygwin releases (the -mno-cygwin headers do not + tolerate the _GNU_SOURCE macro definition anymore) + +- Fix Win32 emulator to support SD Card images larger than 2 GiB + +- The non-Android build system has been completely rewritten to allow building + the emulator on Linux x86_64. Also, there is now a single Makefile that + drives the build in both Android and non-Android modes. + +- '-qemu ' works again + +============================================================================== +Changes between 1.5 and 1.6 + +IMPORTANT CHANGES: + +- Emulator now saves the user image in /SDK1.0/ + +OTHER: + +- Get rid of EsounD-related freezes on Linux (again) + +- Fix the documentation in -help-audio. '-audio list' doesn't work, one + needs to call -help-audio-out and -help-audio-in to get the list of valid + audio backends + +- Fix scrollwheel Dpad emulation in rotated mode. before that, using the + scroll-wheel would always generated Dpad Up/Down events, even when in + landscape mode. + +- Re-enable CPU fault emulation in case of unaligned data access. this was + previously disabled because it crashed the emulated kernel in previous + releases. + +- The emulator no longer prints an obscure warning when it doesn't find + the emulator.cfg configuration file in ~/.android. + + 'broken configuration file doesn't have a 'window' element' + +- Removed a bunch of obsolete options (e.g. -console, -adb-port, etc...) + +- Setting the network speed through the console or the -netspeed option will + properly modify the connectivity icon on the device. + +- Setting the GSM voice registration state to 'roaming' in the console will + properly modify the voice icon on the device + +============================================================================== +Changes between 1.4 and 1.5 + +IMPORTANT BUG FIXES: + +- Fix spurious discards of SMS messages when using two emulators. + +OTHER: + +- Get rid of EsounD-related freezes on Linux (again) + +- Fix the documentation in -help-audio. '-audio list' doesn't work; one + needs to call -help-audio-out and -help-audio-in to get the list of valid + audio backends + +- Fix scrollwheel Dpad emulation in rotated mode. before that, using the + scroll-wheel would always generated Dpad Up/Down events, even when in + landscape mode. + +- Re-enable CPU fault emulation in case of unaligned data access. This was + previously disabled because it crashed the emulated kernel in previous + releases. + +============================================================================== +Changes between 1.3 and 1.4 + +IMPORTANT BUG FIXES: + +- fix for audio-related Linux startup freezes when using the 'esd' and 'alsa' + backends + +- the number of audio buffers in the Windows backend has been incremented. + this gets rid of audio chopiness issues on Vista (and sometimes on XP too) + +NEW FEATURES: + +NEW CONSOLE COMMANDS: + +- new 'geo fix []' command allows you to + send a simple GPS fix to the emulated system, without the headaches of + NMEA 1083 formatting. + +OTHER BUG FIXES: + +- fixed the -audio, -audio-in and -audio-out options (the values + were sometimes ignored) + +REGRESSIONS: + +OTHER: + +- the transitional '-qemud' option introduced in 1.3 is now gone. its + behaviour is now the default. + +- use the new '-old-system' option if you need to use a 1.4+ emulator binary + with older system images. if you don't use it, GSM and GPS emulation will + not work correctly (among other things). + +- the obsolete '-oldradio' option is now gone + +- on some Unix systems, SIGALRM is blocked by default, so unblock it when + creating the alarm timer + +- the 'esd' and 'alsa' libraries dump a lot of error messages to the console + by default on Linux. these are now disabled unless you use '-debug audio' + +- added the '-help-char-devices' help topic that describe the specification + of the parameter of options like -serial, -gps, -shell-serial, + etc... + +KNOWN ISSUES: + +- no support for video input +- no support for mutable SIM Card emulation yet +- no support for bluetooth +- no support for WiFi + +- on some Linux machines, the emulator might get stuck at startup. this + seems to be related to audio input support. try starting with + '-audio-in none' or even '-noaudio' to disable sound, or choose a + different audio backend by defining QEMU_AUDIO_DRV to an appropriate + value (read below). + + you can also select different audio backends for both output and input + by defining QEMU_AUDIO_OUT_DRV and QEMU_AUDIO_IN_DRV independently. + +- on Windows, the emulator takes about 10-15% of the CPU even when the + emulated system is idle. this is a known issue related to QEMU's internal + event loop and Winsock. this should be fixed in a future emulator release. + +- GPS emulation only if you use the '-qemud' option. this is an experimental + option that is soon going to be the default. without this option, the + emulated system will start but GPS emulation will not work. + + for the record, 'qemud' is a serial port multiplexer that is used to + multiplex several communication channels between the emulator and the + emulated system, though a single serial port. + +============================================================================== +Changes between 1.2 and 1.3 + +IMPORTANT BUG FIXES: + +NEW FEATURES: + +- '-audio-in ' allows you to select the audio input backend from the + command line. this is equivalent to defining QEMU_AUDIO_IN_DRV= + + '-audio-out ' works for the audio output, and '-audio ' + will select both input and output at the same time + +- '-debug ' has replaced the old '-verbose- -verbose- ...' + debugging option. is a comma-separated list of debug tags + (see -help-debug-tags for a complete list). you can also use the special + value 'all' to indicate all debug tags, or prefix a '-' before a tag + name to disable it. for example: + + -debug all,-audio + + enables all debugging except audio. '-debug-' still works though. + + note that while '-verbose-' is deprecated, '-verbose' is still supported + as an alias to '-debug-init' + +- '-keyset ' allows you to specific the keyset file to use. the default + is still ~/.android/default.keyset on Unix. for Windows, use -help-keyset + to get its default location (which differs between XP and Vista) + + +NEW CONSOLE COMMANDS: + +- the 'geo nmea ' can be used to send a NMEA 1083 sentence as if + it came from an emulated GPS unit. NOTE: this doesn't work unless you + also use the '-qemud' option (see KNOWN ISSUES below) + +OTHER BUG FIXES: + +- severe color artefact issues when scaling the emulator window < 1.0 were + fixed. + +- fix rare random emulator freezes on Linux by disabling the 'dynticks' timer. + +REGRESSIONS: + +OTHER: + +- the ambiguous '-console' option is now obsolete. use '-shell' instead + +- the new '-shell-serial ' allows you to specify a device to + connect a root shell session to the emulated system. + +- the '-debug-kernel' option is now known as '-show-kernel' (the -debug- + prefix is reserved for strict emulator debugging features) + +- '-adb-port' has been removed from the list of options. similarly + '-port ' will accept an odd port number, but will print a warning + that it is using -1 instead. + +- MMX is used on x86 to speed up window rescaling. + +- a new '-qemud' option is required to have GPS support work in this + SDK (either through '-gps ' or the 'geo nmea ' + console command) + + this option is purely experimental and will soon become the default. + +KNOWN ISSUES: + +- no support for video input +- no support for mutable SIM Card emulation yet +- no support for bluetooth +- no support for WiFi + +- on some Linux machines, the emulator might get stuck at startup. this + seems to be related to audio input support. try starting with + '-audio-in none' or even '-noaudio' to disable sound, or choose a + different audio backend by defining QEMU_AUDIO_DRV to an appropriate + value (read below). + + you can also select different audio backends for both output and input + by defining QEMU_AUDIO_OUT_DRV and QEMU_AUDIO_IN_DRV independently. + +- on Windows, the emulator takes about 10-15% of the CPU even when the + emulated system is idle. this is a known issue related to QEMU's internal + event loop and Winsock. this should be fixed in a future emulator release. + +- GPS emulation only if you use the '-qemud' option. this is an experimental + option that is soon going to be the default. without this option, the + emulated system will start but GPS emulation will not work. + + for the record, 'qemud' is a serial port multiplexer that is used to + multiplex several communication channels between the emulator and the + emulated system, though a single serial port. + +============================================================================== +Changes between 1.1 and 1.2 + + +IMPORTANT BUG FIXES: + +- fixed a typo that prevented the F9/F10 keyboard shortcuts from working + properly, making non-programatically tracing unusable. + +- halve the emulator's memory requirements, saving around 130 megabytes + of memory by changing the way flash images are accessed (we now use + temporary files instead) + +- this emulator binary should be 10% to 20% faster than previous ones on + the Windows and OS X platforms. for faster boots, you may also want to + use the -no-boot-anim option described below to speed up the initial + boot sequence as well on slow machines. + +- proper rotation support when using Keypad 7/9 to switch between layouts + in the default HVGA skin. no need to use Ctrl-PageDown anymore + +- the -http-proxy option didn't work correctly on Windows (unless + you were very lucky). + +- general socket handling code on Windows has been significantly improved. + + +NEW FEATURES: + +- the console port number of a given emulator instance is now displayed in + its window's title bar. + +- voice/sms are automatically forwarded to other emulator instances running + on the same machine, as long as you use their console port number as the + destination phone number. + + for example, if you have two emulator running, the first one will usually + use console port 5554, and the second one will use port 5556 + + then dialing 5556 on the 1st emulator will generate an incoming call on + the 2nd emulator. you can also hold/unhold calls as well. + + this also works when sending SMS messages from one emulator to the other + +- the help system has been totally revamped: + + * -help prints a summary of all options and help topics + * -help-